Przeglądaj źródła

EXAMPLE: models_skybox works on OpenGL ES 2.0

pull/1381/head
raysan5 4 lat temu
rodzic
commit
b5d50ee51a
6 zmienionych plików z 22 dodań i 58 usunięć
  1. +3
    -9
      examples/models/resources/shaders/glsl100/cubemap.fs
  2. +1
    -9
      examples/models/resources/shaders/glsl100/cubemap.vs
  3. +7
    -13
      examples/models/resources/shaders/glsl100/skybox.fs
  4. +4
    -12
      examples/models/resources/shaders/glsl100/skybox.vs
  5. +0
    -8
      examples/models/resources/shaders/glsl330/cubemap.fs
  6. +7
    -7
      src/rlgl.h

+ 3
- 9
examples/models/resources/shaders/glsl100/cubemap.fs Wyświetl plik

@ -1,12 +1,6 @@
/*******************************************************************************************
*
* rPBR [shader] - Equirectangular to cubemap fragment shader
*
* Copyright (c) 2017 Victor Fisac
*
**********************************************************************************************/
#version 100
nf">#version 330
precision mediump float;
// Input vertex attributes (from vertex shader)
varying vec3 fragPosition;
@ -28,7 +22,7 @@ void main()
vec2 uv = SampleSphericalMap(normalize(fragPosition));
// Fetch color from texture map
vec3 color = texture(equirectangularMap, uv).rgb;
vec3 color = texture2D(equirectangularMap, uv).rgb;
// Calculate final fragment color
gl_FragColor = vec4(color, 1.0);

+ 1
- 9
examples/models/resources/shaders/glsl100/cubemap.vs Wyświetl plik

@ -1,12 +1,4 @@
/*******************************************************************************************
*
* rPBR [shader] - Equirectangular to cubemap vertex shader
*
* Copyright (c) 2017 Victor Fisac
*
**********************************************************************************************/
#version 330
#version 100
// Input vertex attributes
attribute vec3 vertexPosition;

+ 7
- 13
examples/models/resources/shaders/glsl100/skybox.fs Wyświetl plik

@ -1,14 +1,6 @@
/*******************************************************************************************
*
* rPBR [shader] - Background skybox fragment shader
*
* Copyright (c) 2017 Victor Fisac
*
* 19-Jun-2020 - modified by Giuseppe Mastrangelo (@peppemas) - VFlip Support
*
**********************************************************************************************/
#version 100
nf">#version 110
precision mediump float;
// Input vertex attributes (from vertex shader)
varying vec3 fragPosition;
@ -20,11 +12,13 @@ uniform bool vflipped;
void main()
{
// Fetch color from texture map
vec3 color = { 0.0 };
vec4 texelColor = vec4(0.0);
if (vflipped) color = texture2D(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z)).rgb;
else color = texture2D(environmentMap, fragPosition).rgb;
if (vflipped) texelColor = textureCube(environmentMap, vec3(fragPosition.x, -fragPosition.y, fragPosition.z));
else texelColor = textureCube(environmentMap, fragPosition);
vec3 color = vec3(texelColor.x, texelColor.y, texelColor.z);
// Apply gamma correction
color = color/(color + vec3(1.0));
color = pow(color, vec3(1.0/2.2));

+ 4
- 12
examples/models/resources/shaders/glsl100/skybox.vs Wyświetl plik

@ -1,22 +1,14 @@
/*******************************************************************************************
*
* rPBR [shader] - Background skybox vertex shader
*
* Copyright (c) 2017 Victor Fisac
*
**********************************************************************************************/
#version 330
#version 100
// Input vertex attributes
in vec3 vertexPosition;
attribute vec3 vertexPosition;
// Input uniform values
uniform mat4 projection;
uniform mat4 view;
// Output vertex attributes (to fragment shader)
out vec3 fragPosition;
varying vec3 fragPosition;
void main()
{
@ -28,5 +20,5 @@ void main()
vec4 clipPos = projection*rotView*vec4(vertexPosition, 1.0);
// Calculate final vertex position
gl_Position = clipPos.xyww;
gl_Position = clipPos.xyzw;
}

+ 0
- 8
examples/models/resources/shaders/glsl330/cubemap.fs Wyświetl plik

@ -1,11 +1,3 @@
/*******************************************************************************************
*
* rPBR [shader] - Equirectangular to cubemap fragment shader
*
* Copyright (c) 2017 Victor Fisac
*
**********************************************************************************************/
#version 330
// Input vertex attributes (from vertex shader)

+ 7
- 7
src/rlgl.h Wyświetl plik

@ -2065,20 +2065,20 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi
unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer)
{
unsigned int id = 0;
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
if (!RLGL.ExtSupported.texDepth) useRenderBuffer = false;
// In case depth textures not supported, we force renderbuffer usage
if (!RLGL.ExtSupported.texDepth) useRenderBuffer = true;
// NOTE: We let the implementation to choose the best bit-depth
unsigned int glInternalFormat = GL_DEPTH_COMPONENT;
/*
#if defined(GRAPHICS_API_OPENGL_33)
glInternalFormat = GL_DEPTH_COMPONENT24; // GL_DEPTH_COMPONENT32
#elif defined(GRAPHICS_API_OPENGL_ES2)
#if defined(GRAPHICS_API_OPENGL_ES2)
if (RLGL.ExtSupported.maxDepthBits == 32) glInternalFormat = GL_DEPTH_COMPONENT32_OES;
else if (RLGL.ExtSupported.maxDepthBits == 24) glInternalFormat = GL_DEPTH_COMPONENT24_OES;
else glInternalFormat = GL_DEPTH_COMPONENT16;
#endif
*/
if (!useRenderBuffer && RLGL.ExtSupported.texDepth)
{
glGenTextures(1, &id);

Ładowanie…
Anuluj
Zapisz