@@ -22,7 +22,6 @@ in vec3 normal;
2222in vec2 uv;
2323in vec3 lightdir;
2424in vec3 eyepos;
25- in vec3 color;
2625
2726void main()
2827{
@@ -46,7 +45,7 @@ void main()
4645 }
4746 float att = clamp (1.0 - length (eyepos)/ 200.0 , 0.0 , 1.0 );
4847 att *= att;
49- fragColor = c * max (intensity * diffuse + spec, ambient) * vec4 (color, 1.0 ) * att;
48+ fragColor = c * max (intensity * diffuse + spec, ambient) * att;
5049}
5150
5251
@@ -65,7 +64,6 @@ out vec2 uv;
6564out vec3 normal;
6665out vec3 lightdir;
6766out vec3 eyepos;
68- out vec3 color;
6967
7068// Define the 8 corners of a cube (back plane, front plane (counter clockwise))
7169vec3 cube_corners[8 ] = vec3 [] (
@@ -79,20 +77,19 @@ vec3 cube_corners[8] = vec3[] (
7977 vec3 ( 1.0 , - 1.0 , 1.0 ) // right bottom near
8078);
8179
82- #define EMIT_V(POS, UV, NORMAL, COL ) \
80+ #define EMIT_V(POS, UV, NORMAL) \
8381 uv = UV; \
8482 normal = normalize (m_normal * NORMAL); \
8583 lightdir = lightpos - POS.xyz; \
8684 eyepos = - POS.xyz; \
87- color = COL; \
8885 gl_Position = m_proj * vec4 (POS, 1.0 ); \
8986 EmitVertex()
9087
91- #define EMIT_QUAD(P1, P2, P3, P4, NORMAL, COL ) \
92- EMIT_V(corners[P1], vec2 (0.0 , 0.0 ), NORMAL, COL ); \
93- EMIT_V(corners[P2], vec2 (1.0 , 0.0 ), NORMAL, COL ); \
94- EMIT_V(corners[P3], vec2 (0.0 , 1.0 ), NORMAL, COL ); \
95- EMIT_V(corners[P4], vec2 (1.0 , 1.0 ), NORMAL, COL ); \
88+ #define EMIT_QUAD(P1, P2, P3, P4, NORMAL) \
89+ EMIT_V(corners[P1], vec2 (0.0 , 0.0 ), NORMAL); \
90+ EMIT_V(corners[P2], vec2 (1.0 , 0.0 ), NORMAL); \
91+ EMIT_V(corners[P3], vec2 (0.0 , 1.0 ), NORMAL); \
92+ EMIT_V(corners[P4], vec2 (1.0 , 1.0 ), NORMAL); \
9693 EndPrimitive()
9794
9895void main()
@@ -110,13 +107,12 @@ void main()
110107
111108 corners[i] = (m_mv * vec4 (pos, 1.0 )).xyz;
112109 }
113- vec3 col = normalize (gl_in[0 ].gl_Position .xyz);
114- EMIT_QUAD(3 , 2 , 0 , 1 , vec3 ( 0.0 , 0.0 , - 1.0 ), col); // back
115- EMIT_QUAD(6 , 7 , 5 , 4 , vec3 ( 0.0 , 0.0 , 1.0 ), col); // front
116- EMIT_QUAD(7 , 3 , 4 , 0 , vec3 ( 1.0 , 0.0 , 0.0 ), col); // right
117- EMIT_QUAD(2 , 6 , 1 , 5 , vec3 (- 1.0 , 0.0 , 0.0 ), col); // left
118- EMIT_QUAD(5 , 4 , 1 , 0 , vec3 ( 0.0 , 1.0 , 0.0 ), col); // top
119- EMIT_QUAD(2 , 3 , 6 , 7 , vec3 ( 0.0 , - 1.0 , 0.0 ), col); // bottom
110+ EMIT_QUAD(3 , 2 , 0 , 1 , vec3 ( 0.0 , 0.0 , - 1.0 )); // back
111+ EMIT_QUAD(6 , 7 , 5 , 4 , vec3 ( 0.0 , 0.0 , 1.0 )); // front
112+ EMIT_QUAD(7 , 3 , 4 , 0 , vec3 ( 1.0 , 0.0 , 0.0 )); // right
113+ EMIT_QUAD(2 , 6 , 1 , 5 , vec3 (- 1.0 , 0.0 , 0.0 )); // left
114+ EMIT_QUAD(5 , 4 , 1 , 0 , vec3 ( 0.0 , 1.0 , 0.0 )); // top
115+ EMIT_QUAD(2 , 3 , 6 , 7 , vec3 ( 0.0 , - 1.0 , 0.0 )); // bottom
120116 EndPrimitive();
121117}
122118
0 commit comments