瀏覽代碼

Fix the example lighting shaders to use both frag and diffuse colors so they work with shapes and meshes. (#4482)

pull/4485/head
Jeffery Myers 6 天之前
committed by GitHub
父節點
當前提交
10fd4de258
沒有發現已知的金鑰在資料庫的簽署中 GPG Key ID: B5690EEEBB952194
共有 3 個文件被更改,包括 11 次插入5 次删除
  1. +3
    -1
      examples/shaders/resources/shaders/glsl100/lighting.fs
  2. +3
    -1
      examples/shaders/resources/shaders/glsl120/lighting.fs
  3. +5
    -3
      examples/shaders/resources/shaders/glsl330/lighting.fs

+ 3
- 1
examples/shaders/resources/shaders/glsl100/lighting.fs 查看文件

@ -40,6 +40,8 @@ void main()
vec3 viewD = normalize(viewPos - fragPosition);
vec3 specular = vec3(0.0);
vec4 tint = colDiffuse * fragColor;
// NOTE: Implement here your fragment shader code
for (int i = 0; i < MAX_LIGHTS; i++)
@ -67,7 +69,7 @@ void main()
}
}
vec4 finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0)));
vec4 finalColor = (texelColor*((tint + vec4(specular, 1.0))*vec4(lightDot, 1.0)));
finalColor += texelColor*(ambient/10.0);
// Gamma correction

+ 3
- 1
examples/shaders/resources/shaders/glsl120/lighting.fs 查看文件

@ -38,6 +38,8 @@ void main()
vec3 viewD = normalize(viewPos - fragPosition);
vec3 specular = vec3(0.0);
vec4 tint = colDiffuse * fragColor;
// NOTE: Implement here your fragment shader code
for (int i = 0; i < MAX_LIGHTS; i++)
@ -65,7 +67,7 @@ void main()
}
}
vec4 finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0)));
vec4 finalColor = (texelColor*((tint + vec4(specular, 1.0))*vec4(lightDot, 1.0)));
finalColor += texelColor*(ambient/10.0);
// Gamma correction

+ 5
- 3
examples/shaders/resources/shaders/glsl330/lighting.fs 查看文件

@ -3,7 +3,7 @@
// Input vertex attributes (from vertex shader)
in vec3 fragPosition;
in vec2 fragTexCoord;
//in vec4 fragColor;
in vec4 fragColor;
in vec3 fragNormal;
// Input uniform values
@ -41,6 +41,8 @@ void main()
vec3 viewD = normalize(viewPos - fragPosition);
vec3 specular = vec3(0.0);
vec4 tint = colDiffuse * fragColor;
// NOTE: Implement here your fragment shader code
for (int i = 0; i < MAX_LIGHTS; i++)
@ -68,8 +70,8 @@ void main()
}
}
finalColor = (texelColor*((colDiffuse + vec4(specular, 1.0))*vec4(lightDot, 1.0)));
finalColor += texelColor*(ambient/10.0)*colDiffuse;
finalColor = (texelColor*((tint + vec4(specular, 1.0))*vec4(lightDot, 1.0)));
finalColor += texelColor*(ambient/10.0)*tint;
// Gamma correction
finalColor = pow(finalColor, vec4(1.0/2.2));

Loading…
取消
儲存