text/microsoft-resx 2.0 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 #version 140 in vec3 surfaceNormal; in vec3 toLightVector; in vec4 color; out vec4 outputColor; void main() { vec3 lightColor = vec3(0.5, 0.5, 0.5); // Ambient float ambientStrength = 0.9; vec3 ambient = ambientStrength * lightColor; // Diffuse vec3 unitNormal = normalize(surfaceNormal); vec3 unitLightVector = normalize(toLightVector); float nDotProduct = dot(unitNormal, unitLightVector); float brightness = clamp(nDotProduct, 0, 1); // max(nDotProduct, 0.0); vec3 diffuse = brightness * lightColor; // Output Color vec4 result = color * vec4((ambient + diffuse/2), 0.0); outputColor = result; } #version 140 in vec3 vertexPosition; in vec3 normalDirection; in vec4 vertexColor; uniform mat4 viewMatrix; out vec3 surfaceNormal; out vec3 toLightVector; out vec4 color; void main() { vec3 lightPosition = vec3(200.0, 200.0, 200.0); gl_Position = viewMatrix * vec4(vertexPosition, 1.0); surfaceNormal = normalDirection; toLightVector = lightPosition - vertexPosition; color = vertexColor; }