Created
November 3, 2012 06:32
-
-
Save jcayzac/4006290 to your computer and use it in GitHub Desktop.
AR vertex shader (projects ECEF POI coordinates)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// double clat = cos(viewer_lat * DEGREES_TO_RADIANS); | |
// double slat = sin(viewer_lat * DEGREES_TO_RADIANS); | |
// double clon = cos(viewer_lon * DEGREES_TO_RADIANS); | |
// double slon = sin(viewer_lon * DEGREES_TO_RADIANS); | |
// double N = WGS84_A / sqrt(1.0 - WGS84_E2 * slat * slat); | |
// double viewer_x = (N + alt) * clat * clon; | |
// double viewer_y = (N + alt) * clat * slon; | |
// double viewer_z = (N * (1.0 - WGS84_E2) + alt) * slat; | |
// for each poi i: | |
// double cplat[i] = cos(plat[i] * DEGREES_TO_RADIANS); | |
// double splat[i] = sin(plat[i] * DEGREES_TO_RADIANS); | |
// double cplon[i] = cos(plon[i] * DEGREES_TO_RADIANS); | |
// double splon[i] = sin(plon[i] * DEGREES_TO_RADIANS); | |
// double pN[i] = WGS84_A / sqrt(1.0 - WGS84_E2 * splat[i] * splat[i]); | |
// double px[i] = (pN[i] + palt[i]) * cplat[i] * cplon[i]; | |
// double py[i] = (pN[i] + palt[i]) * cplat[i] * splon[i]; | |
// double pz[i] = (pN[i] * (1.0 - WGS84_E2) + palt[i]) * splat[i]; | |
uniform vec4 ev; // = vec4(-slon, clon, 0, 0); | |
uniform vec4 nv; // = vec4(-slat*clon, -slat*slon, clat, 0); | |
uniform vec4 uv; // = vec4( clat*clon, clat*slon, slat, 1); | |
uniform vec3 cameraCoordinatesECEF; // = vec3(viewer_x, viewer_y, viewer_z) | |
uniform float cameraAltitude; // = float(viewer_alt); | |
attribute vec3 poiCoordinatesECEF; // = vec3(px[i], py[i], pz[i]) | |
void main(void) { | |
vec4 d(cameraCoordinatesECEF - poiCoordinatesECEF, cameraAltitude); | |
gl_Position = vec4(dot(d, nv), -dot(d, ev), dot(d, uv), 1.f); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment