Advertisement
Guest User

Untitled

a guest
Jun 27th, 2018
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. attribute vec3 r_position;
  2. attribute vec3 a_position;
  3.  
  4. attribute vec3 quaternion;
  5.  
  6. uniform vec3 u_quantizedVolumeScale;
  7.  
  8. void main() {
  9.     vec3 s_quaternion = quaternion / 127.0;
  10.     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);
  11.    
  12.     vec3 translation = r_position / 32.0;
  13.     translation = 2.0 * dot(s_quaternion, translation) * s_quaternion
  14.             + (w * w - dot(s_quaternion, s_quaternion)) * translation
  15.             + 2.0 * w * cross(s_quaternion, translation);
  16.  
  17.  
  18.     vec3 position = a_position * u_quantizedVolumeScale;
  19.     position += translation;
  20.     gl_Position = czm_modelViewProjection * vec4(position, 1.0);
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement