Я использую следующий шейдер для рендеринга купола неба для имитации ночного неба. Моя проблема - четко видимые переходы между цветами.
Что вызывает эти резкие градиентные переходы?
Фрагментный шейдер:
#version 330
in vec3 worldPosition;
layout(location = 0) out vec4 outputColor;
void main()
{
float height = 0.007*(abs(worldPosition.y)-200);
vec4 apexColor = vec4(0,0,0,1);
vec4 centerColor = vec4(0.159, 0.132, 0.1, 1);
outputColor = mix(centerColor, apexColor, height);
}
Пиксельный формат FBO:
GL.TexImage2D(
TextureTarget.Texture2D,
0,
PixelInternalFormat.Rgb32f,
WindowWidth,
WindowHeight,
0,
PixelFormat.Rgb,
PixelType.Float,
IntPtr.Zero )
RGB32F
? Я бы сказал, что вы не видите полосы в этой текстуре, вы просто видите ее, когда вы, наконец, визуализируете (или переносите) ее в окончательный буфер кадра, который обычно имеет только 8-битную точность. - person derhass   schedule 17.07.2018