Moved shaders for spherical environment mapping example to separate folder

This commit is contained in:
saschawillems 2016-03-02 20:57:33 +01:00
parent 852f4ad314
commit 9cf52c4b45
7 changed files with 7 additions and 4 deletions

Binary file not shown.

Binary file not shown.

View file

@ -3,11 +3,12 @@
#extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_420pack : enable #extension GL_ARB_shading_language_420pack : enable
layout (binding = 1) uniform sampler2D matCap; layout (binding = 1) uniform sampler2DArray matCap;
layout (location = 0) in vec3 inColor; layout (location = 0) in vec3 inColor;
layout (location = 1) in vec3 inEyePos; layout (location = 1) in vec3 inEyePos;
layout (location = 2) in vec3 inNormal; layout (location = 2) in vec3 inNormal;
layout (location = 3) in flat int inTexIndex;
layout (location = 0) out vec4 outFragColor; layout (location = 0) out vec4 outFragColor;
@ -17,5 +18,5 @@ void main()
vec3 r2 = vec3( r.x, r.y, r.z + 1.0 ); vec3 r2 = vec3( r.x, r.y, r.z + 1.0 );
float m = 2.0 * length( r2 ); float m = 2.0 * length( r2 );
vec2 vN = r.xy / m + .5; vec2 vN = r.xy / m + .5;
outFragColor = vec4( texture( matCap, vN ).rgb * (clamp(inColor.r * 2, 0.0, 1.0)), 1.0 ); outFragColor = vec4( texture( matCap, vec3(vN, inTexIndex)).rgb * (clamp(inColor.r * 2, 0.0, 1.0)), 1.0 );
} }

Binary file not shown.

View file

@ -5,7 +5,6 @@
layout (location = 0) in vec4 inPos; layout (location = 0) in vec4 inPos;
layout (location = 1) in vec3 inNormal; layout (location = 1) in vec3 inNormal;
layout (location = 2) in vec2 inTexCoord;
layout (location = 3) in vec3 inColor; layout (location = 3) in vec3 inColor;
layout (binding = 0) uniform UBO layout (binding = 0) uniform UBO
@ -14,21 +13,24 @@ layout (binding = 0) uniform UBO
mat4 model; mat4 model;
mat4 normal; mat4 normal;
mat4 view; mat4 view;
int texIndex;
} ubo; } ubo;
layout (location = 0) out vec3 outColor; layout (location = 0) out vec3 outColor;
layout (location = 1) out vec3 outEyePos; layout (location = 1) out vec3 outEyePos;
layout (location = 2) out vec3 outNormal; layout (location = 2) out vec3 outNormal;
layout (location = 3) out flat int outTexIndex;
void main() void main()
{ {
outColor = inColor; outColor = inColor;
mat4 modelView = ubo.view * ubo.model; mat4 modelView = ubo.view * ubo.model;
outEyePos = normalize( vec3( modelView * inPos ) ); outEyePos = normalize( vec3( modelView * inPos ) );
outTexIndex = ubo.texIndex;
// outNormal = normalize( mat3(ubo.normal) * inNormal ); // outNormal = normalize( mat3(ubo.normal) * inNormal );
outNormal = normalize(inNormal); outNormal = normalize(inNormal);
vec3 r = reflect( outEyePos, outNormal ); vec3 r = reflect( outEyePos, outNormal );
float m = 2.0 * sqrt( pow(r.x, 2.0) + pow(r.y, 2.0) + pow(r.z + 1.0, 2.0)); float m = 2.0 * sqrt( pow(r.x, 2.0) + pow(r.y, 2.0) + pow(r.z + 1.0, 2.0));
//vN = r.xy / m + .5; //vN = r.xy / m + .5;
gl_Position = ubo.projection * modelView * inPos ; gl_Position = ubo.projection * modelView * inPos;
} }

Binary file not shown.