1234567891011121314151617181920212223242526272829 |
- uniform vec3 u_color;
- varying vec2 v_textureCoordinates;
- void main()
- {
- // TODO: make arbitrary ellipsoid
- czm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC();
- vec3 direction = normalize(czm_windowToEyeCoordinates(gl_FragCoord).xyz);
- czm_ray ray = czm_ray(vec3(0.0), direction);
- czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid);
-
- if (!czm_isEmpty(intersection))
- {
- vec3 positionEC = czm_pointAlongRay(ray, intersection.start);
- vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz;
-
- vec3 normalMC = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), vec3(1.0)));
- vec3 normalEC = normalize(czm_normal * normalMC);
-
- vec3 startDayColor = u_color;
-
- gl_FragColor = vec4(startDayColor, 1.0);
- }
- else
- {
- discard;
- }
- }
|