@phaserjs/phaser
Version:
2 lines • 1.53 kB
TypeScript
export declare const GORAUD_LAMBERT_VERT = "\n#define SHADER_NAME GORAUD_LAMBERT_VERT\n\n// Goraud Shading + Lambert Reflection\n\nattribute vec3 aVertexPosition;\nattribute vec3 aVertexNormal;\nattribute vec2 aTextureCoord;\n\nuniform mat4 uProjectionMatrix;\nuniform mat4 uCameraMatrix;\nuniform mat4 uNormalMatrix;\nuniform mat4 uModelMatrix;\n\nuniform float uShininess;\nuniform vec3 uLightDirection;\n\nuniform vec4 uLightAmbient;\nuniform vec4 uLightDiffuse;\nuniform vec4 uLightSpecular;\n\nuniform vec4 uMaterialAmbient;\nuniform vec4 uMaterialDiffuse;\nuniform vec4 uMaterialSpecular;\n\nvarying vec4 vTintColor;\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n vTextureCoord = aTextureCoord;\n\n vec4 vertex = uCameraMatrix * uModelMatrix * vec4(aVertexPosition, 1.0);\n\n vec3 N = vec3(uNormalMatrix * vec4(aVertexNormal, 1.0));\n\n vec3 L = normalize(uLightDirection);\n\n float lambertTerm = clamp(dot(N, -L), 0.0, 1.0);\n\n vec4 Ia = uLightAmbient * uMaterialAmbient;\n vec4 Id = vec4(0.0, 0.0, 0.0, 1.0);\n vec4 Is = vec4(0.0, 0.0, 0.0, 1.0);\n\n Id = uLightDiffuse * uMaterialDiffuse * lambertTerm;\n\n vec3 eyeVec = -vec3(vertex.xyz);\n vec3 E = normalize(eyeVec);\n vec3 R = reflect(L, N);\n float specular = pow(max(dot(R, E), 0.0), uShininess);\n\n Is = uLightSpecular * uMaterialSpecular * specular;\n\n vTintColor = Ia + Id + Is;\n vTintColor.a = 1.0;\n\n gl_Position = uProjectionMatrix * vertex;\n}\n";
//# sourceMappingURL=GORAUD_LAMBERT_VERT.d.ts.map