Parcourir la source

Fix bug #1270 (#1282)

* Fix bug #1270

Added an argument to the shader in order to flip the texture

* Fix Bug #1270

* Fix bug #1270
pull/1284/head
peppemas il y a 4 ans
committed by GitHub
Parent
révision
0e26d514b8
Aucune clé connue n'a été trouvée dans la base pour cette signature ID de la clé GPG: 4AEE18F83AFDEB23
3 fichiers modifiés avec 28 ajouts et 3 suppressions
  1. +1
    -0
      examples/models/models_skybox.c
  2. +14
    -2
      examples/models/resources/shaders/glsl100/skybox.fs
  3. +13
    -1
      examples/models/resources/shaders/glsl330/skybox.fs

+ 1
- 0
examples/models/models_skybox.c Voir le fichier

@ -35,6 +35,7 @@ int main(void)
skybox.materials[0].shader = LoadShader("resources/shaders/glsl100/skybox.vs", "resources/shaders/glsl100/skybox.fs");
#endif
SetShaderValue(skybox.materials[0].shader, GetShaderLocation(skybox.materials[0].shader, "environmentMap"), (int[1]){ MAP_CUBEMAP }, UNIFORM_INT);
SetShaderValue(skybox.materials[0].shader, GetShaderLocation(skybox.materials[0].shader, "vflipped"), (int[1]){ 1 }, UNIFORM_INT);
// Load cubemap shader and setup required shader locations
#if defined(PLATFORM_DESKTOP)

+ 14
- 2
examples/models/resources/shaders/glsl100/skybox.fs Voir le fichier

@ -4,23 +4,35 @@
*
* Copyright (c) 2017 Victor Fisac
*
* 19-Jun-2020 - modified by Giuseppe Mastrangelo (@peppemas) - VFlip Support
*
**********************************************************************************************/
#version 330
#version 110
// Input vertex attributes (from vertex shader)
in vec3 fragPosition;
// Input uniform values
uniform samplerCube environmentMap;
uniform bool vflipped;
// Output fragment color
out vec4 finalColor;
vec4 flipTextureCube(samplerCube sampler, vec3 texCoord) {
return texture(sampler, vec3(texCoord.x,-texCoord.y,texCoord.z));
}
void main()
{
// Fetch color from texture map
vec3 color = texture(environmentMap, fragPosition).rgb;
vec3 color;
if (vflipped )
color = flipTextureCube(environmentMap, fragPosition).rgb;
else
color = texture(environmentMap, fragPosition).rgb;
// Apply gamma correction
color = color/(color + vec3(1.0));

+ 13
- 1
examples/models/resources/shaders/glsl330/skybox.fs Voir le fichier

@ -4,6 +4,8 @@
*
* Copyright (c) 2017 Victor Fisac
*
* 19-Jun-2020 - modified by Giuseppe Mastrangelo (@peppemas) - VFlip Support
*
**********************************************************************************************/
#version 330
@ -13,14 +15,24 @@ in vec3 fragPosition;
// Input uniform values
uniform samplerCube environmentMap;
uniform bool vflipped;
// Output fragment color
out vec4 finalColor;
vec4 flipTextureCube(samplerCube sampler, vec3 texCoord) {
return texture(sampler, vec3(texCoord.x,-texCoord.y,texCoord.z));
}
void main()
{
// Fetch color from texture map
vec3 color = texture(environmentMap, fragPosition).rgb;
vec3 color;
if (vflipped )
color = flipTextureCube(environmentMap, fragPosition).rgb;
else
color = texture(environmentMap, fragPosition).rgb;
// Apply gamma correction
color = color/(color + vec3(1.0));

Chargement…
Annuler
Enregistrer