Накладываю на ландшафт детальную текстуру с помощью
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB);
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_ARB, GL_INTERPOLATE_ARB);
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_ARB, GL_PREVIOUS_ARB);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB_ARB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB_ARB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB_ARB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_RGB_ARB, GL_CONSTANT_ARB);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB_ARB, GL_SRC_ALPHA);
color := Vector4(0,0,0, 0.8);
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, @color);
т.е. цвет в точке определяется, как С = Сtex0*0.8 + Ctex1*0.2;
При дневном освещении все красиво,
но когда дневной свет пропадает, оказывается, что источник света влияет только на первую текстуру,
а вторая так и остается яркой и светится в ночи.
Что я не так делаю?
Kasjan
Освещать шейдером?
-Eugene-
Это понятно,
но неужели нет возможности правильное освещение детальной текстуры без шейдеров сделать?
Kasjan
пользуешься arb_env_crossbar ? давно не работал с комбайнерами ...
innuendo
Нет, а что это такое?
Kasjan
> Нет, а что это такое?
http://www.opengl.org/registry/specs/ARB/texture_env_crossbar.txt
Тема в архиве.