space-game001/shaders/planet_stone.vertex
2025-12-29 19:05:10 +03:00

31 lines
988 B
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Вершинный шейдер (Vertex Shader)
attribute vec3 vPosition;
attribute vec2 vTexCoord;
varying vec2 TexCoord;
varying float viewZ;
varying vec3 pos;
varying vec3 worldPosition;
uniform mat4 ProjectionModelViewMatrix;
uniform mat4 ModelViewMatrix;
void main()
{
// Преобразование позиции в пространство вида (View Space)
vec4 viewPosition = ModelViewMatrix * vec4(vPosition.xyz, 1.0);
// Сохраняем отрицательную Z-координату. В OpenGL Z-координата (глубина)
// в пространстве вида обычно отрицательна, но для расчета тумана
// удобнее использовать положительное значение.
viewZ = -viewPosition.z;
pos = vPosition.xyz;
gl_Position = ProjectionModelViewMatrix * vec4(vPosition.xyz, 1.0);
TexCoord = vTexCoord;
worldPosition = vPosition;
}