playcanvas
Version:
PlayCanvas WebGL game engine
3 lines (2 loc) • 1.1 kB
TypeScript
declare const _default: "\nattribute vec4 aPosition;\n\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\n\nuniform mat4 matrix_projectionSkybox;\nuniform mat3 cubeMapRotationMatrix;\n\nvarying vec3 vViewDir;\n\n#ifdef SKYMESH\n uniform mat4 matrix_model;\n varying vec3 vWorldPos;\n#endif\n\nvoid main(void) {\n\n mat4 view = matrix_view;\n\n #ifdef SKYMESH\n\n vec4 worldPos = matrix_model * aPosition;\n vWorldPos = worldPos.xyz;\n gl_Position = matrix_projectionSkybox * (view * worldPos);\n\n #else\n\n view[3][0] = view[3][1] = view[3][2] = 0.0;\n gl_Position = matrix_projectionSkybox * (view * aPosition);\n vViewDir = aPosition.xyz * cubeMapRotationMatrix;\n\n #endif\n\n // Force skybox to far Z, regardless of the clip planes on the camera\n // Subtract a tiny fudge factor to ensure floating point errors don't\n // still push pixels beyond far Z. See:\n // https://community.khronos.org/t/skybox-problem/61857\n\n gl_Position.z = gl_Position.w - 1.0e-7;\n}\n";
export default _default;