diff --git a/examples/models/resources/shaders/glsl100/cubemap.fs b/examples/models/resources/shaders/glsl100/cubemap.fs index 8e84bcba3..402cdea00 100644 --- a/examples/models/resources/shaders/glsl100/cubemap.fs +++ b/examples/models/resources/shaders/glsl100/cubemap.fs @@ -1,12 +1,6 @@ -/******************************************************************************************* -* -* rPBR [shader] - Equirectangular to cubemap fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ +#version 100 -#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); diff --git a/examples/models/resources/shaders/glsl100/cubemap.vs b/examples/models/resources/shaders/glsl100/cubemap.vs index 98edc334e..fd8d17e1a 100644 --- a/examples/models/resources/shaders/glsl100/cubemap.vs +++ b/examples/models/resources/shaders/glsl100/cubemap.vs @@ -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; diff --git a/examples/models/resources/shaders/glsl100/skybox.fs b/examples/models/resources/shaders/glsl100/skybox.fs index ad0b0196d..1269a96d9 100644 --- a/examples/models/resources/shaders/glsl100/skybox.fs +++ b/examples/models/resources/shaders/glsl100/skybox.fs @@ -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 -#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)); diff --git a/examples/models/resources/shaders/glsl100/skybox.vs b/examples/models/resources/shaders/glsl100/skybox.vs index dcbe6c3d7..0d00d54fe 100644 --- a/examples/models/resources/shaders/glsl100/skybox.vs +++ b/examples/models/resources/shaders/glsl100/skybox.vs @@ -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; } diff --git a/examples/models/resources/shaders/glsl330/cubemap.fs b/examples/models/resources/shaders/glsl330/cubemap.fs index e8e285363..e4d4ddd40 100644 --- a/examples/models/resources/shaders/glsl330/cubemap.fs +++ b/examples/models/resources/shaders/glsl330/cubemap.fs @@ -1,11 +1,3 @@ -/******************************************************************************************* -* -* rPBR [shader] - Equirectangular to cubemap fragment shader -* -* Copyright (c) 2017 Victor Fisac -* -**********************************************************************************************/ - #version 330 // Input vertex attributes (from vertex shader) diff --git a/src/rlgl.h b/src/rlgl.h index 60f68691a..adf0900ef 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -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);