Added lighting to OpenGL example.
This commit is contained in:
parent
4ae25d6b1e
commit
40e528d782
@ -130,34 +130,38 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
//vec3 normal = normalize(cross(dFdy(worldPosition.xyz), dFdx(worldPosition.xyz)));
|
|
||||||
|
|
||||||
vec3 normal = worldNormal.xyz;
|
vec3 normal = worldNormal.xyz;
|
||||||
|
vec4 surfaceColor = vec4(0.0, 0.0, 0.0, 0.0);
|
||||||
|
|
||||||
switch(outMaterial.x)
|
switch(outMaterial.x)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
outputColor = vec4(1.0, 0.0, 0.0, 1.0);
|
surfaceColor = vec4(1.0, 0.0, 0.0, 1.0);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
outputColor = vec4(0.0, 1.0, 0.0, 1.0);
|
surfaceColor = vec4(0.0, 1.0, 0.0, 1.0);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
outputColor = vec4(0.0, 0.0, 1.0, 1.0);
|
surfaceColor = vec4(0.0, 0.0, 1.0, 1.0);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
outputColor = vec4(1.0, 1.0, 0.0, 1.0);
|
surfaceColor = vec4(1.0, 1.0, 0.0, 1.0);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
outputColor = vec4(1.0, 0.0, 1.0, 1.0);
|
surfaceColor = vec4(1.0, 0.0, 1.0, 1.0);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
outputColor = vec4(1.0, 1.0, 1.0, 1.0);
|
surfaceColor = vec4(1.0, 1.0, 1.0, 1.0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//float color = clamp(abs(dot(normalize(normal.xyz), vec3(0.9,0.1,0.5))), 0, 1);
|
vec3 lightDir = vec3(1.0, 0.0, 0.0);
|
||||||
//outputColor = vec4(1.0, 0.5, color, 1.0);
|
float diffuse = dot(lightDir, normal);
|
||||||
|
diffuse *= 0.6;
|
||||||
|
float ambient = 0.4;
|
||||||
|
float lightVal = diffuse + ambient;
|
||||||
|
|
||||||
|
outputColor = surfaceColor * lightVal;
|
||||||
}
|
}
|
||||||
)"))
|
)"))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user