Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- attribute vec3 r_position;
- attribute vec3 a_position;
- attribute vec3 quaternion;
- uniform vec3 u_quantizedVolumeScale;
- void main() {
- vec3 s_quaternion = quaternion / 127.0;
- float w = pow(1.0 - (pow(s_quaternion.x, 2.0) + pow(s_quaternion.y, 2.0) + pow(s_quaternion.z, 2.0)), 0.5);
- vec3 translation = r_position / 32.0;
- translation = 2.0 * dot(s_quaternion, translation) * s_quaternion
- + (w * w - dot(s_quaternion, s_quaternion)) * translation
- + 2.0 * w * cross(s_quaternion, translation);
- vec3 position = a_position * u_quantizedVolumeScale;
- position += translation;
- gl_Position = czm_modelViewProjection * vec4(position, 1.0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement