You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
897 B
GLSL
30 lines
897 B
GLSL
varying vec3 v_positionEC;
|
|
varying vec3 v_normalEC;
|
|
varying vec3 v_tangentEC;
|
|
varying vec3 v_bitangentEC;
|
|
varying vec2 v_st;
|
|
|
|
void main()
|
|
{
|
|
vec3 positionToEyeEC = -v_positionEC;
|
|
mat3 tangentToEyeMatrix = czm_tangentToEyeSpaceMatrix(v_normalEC, v_tangentEC, v_bitangentEC);
|
|
|
|
vec3 normalEC = normalize(v_normalEC);
|
|
#ifdef FACE_FORWARD
|
|
normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);
|
|
#endif
|
|
|
|
czm_materialInput materialInput;
|
|
materialInput.normalEC = normalEC;
|
|
materialInput.tangentToEyeMatrix = tangentToEyeMatrix;
|
|
materialInput.positionToEyeEC = positionToEyeEC;
|
|
materialInput.st = v_st;
|
|
czm_material material = czm_getMaterial(materialInput);
|
|
|
|
#ifdef FLAT
|
|
gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
|
|
#else
|
|
gl_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);
|
|
#endif
|
|
}
|