#version 420 core layout(std140, binding = 1) uniform Material { vec3 ka; vec3 kd; vec3 ks; float p; bool normalmapped; bool parallaxmapped; bool displacementmapped; }; layout (location = 1) out vec3 gNormal; layout (location = 3) out vec4 gAmbientSpecular; layout (location = 4) out uvec3 gID; in vec3 vertex; // Позиция вершины в пространстве in vec3 N; // Нормаль трансформированная in vec2 texCoord; // Текстурные координаты in vec3 T; // Касательный вектор in vec3 B; // Бикасательный вектор in vec3 view; // Вектор от поверхности к камере uniform float parallax_heightScale = 0.1; uniform uvec3 ID = uvec3(0); void main() { gNormal = vec3(0); // Сохранение фоновой составляющей gAmbientSpecular.rgb = ka; // Сохранение идентификатора объекта gID = ID; gl_FragDepth = 0.01 * gl_FragCoord.z; }