Создает карту теней с 2D текстурой, а кубическая карта содержит сияние. Когда я получаю значения из каждого и визуализирую, они отображаются правильно. Однако, когда я вычисляю два значения, отображается только цвет glClearColor (), и объект исчезает.
layout(location = 0) out vec4 color;
in vec2 ShadowTexCoord;
uniform sampler2D ShadowMap;
uniform samplerCube CubeMap;
void main() {
color = texture2D(ShadowMap, ShadowTexCoord);
}
Этот результат отображает область, освещенную прямым светом.
layout(location = 0) out vec4 color;
in vec2 ShadowTexCoord;
uniform sampler2D ShadowMap;
uniform samplerCube CubeMap;
void main() {
color = texture(CubeMap, WorldPosition - CubePos);
}
Этот результат отображает значение яркости, полученное в предварительном расчете.
layout(location = 0) out vec4 color;
in vec2 ShadowTexCoord;
uniform sampler2D ShadowMap;
uniform samplerCube CubeMap;
void main() {
color = texture2D(ShadowMap, ShadowTexCoord) * texture(CubeMap, WorldPosition - CubePos);
}
Этот результат должен отображаться только для значения яркости в диапазоне, освещенном прямым светом. Оба они дают правильный результат, но когда я вычисляю их каждое значение, единственным результатом является glClearColor ().
Каковы возможные факторы?