智慧水务管理系统 - 精河县供水工程综合管理平台

123456789101112131415161718192021222324
  1. in vec3 position;
  2. out vec3 v_textureCoordinates;
  3. uniform vec3 u_faceDirection;
  4. vec3 getCubeMapDirection(vec2 uv, vec3 faceDir) {
  5. vec2 scaledUV = uv;
  6. if (faceDir.x != 0.0) {
  7. return vec3(faceDir.x, scaledUV.y, scaledUV.x * faceDir.x);
  8. } else if (faceDir.y != 0.0) {
  9. return vec3(scaledUV.x, -faceDir.y, -scaledUV.y * faceDir.y);
  10. } else {
  11. return vec3(scaledUV.x * faceDir.z, scaledUV.y, -faceDir.z);
  12. }
  13. }
  14. void main()
  15. {
  16. v_textureCoordinates = getCubeMapDirection(position.xy, u_faceDirection);
  17. v_textureCoordinates.y = -v_textureCoordinates.y;
  18. v_textureCoordinates.z = -v_textureCoordinates.z;
  19. gl_Position = vec4(position, 1.0);
  20. }