Суть проблемы заключается в том, что нужно реализовать эффект тумана относительно камеры. код
Код | glEnable(GL_FOG); glFogfv(GL_FOG_COLOR, fLowLight); glFogf(GL_FOG_START, 5); glFogf(GL_FOG_END, 90); glFogi(GL_FOG_MODE, GL_EXP); glFogf(GL_FOG_DENSITY, 0.2); glFogi(GL_FOG_COORD_SRC, GL_FRAGMENT_DEPTH);
|
дает эффект тумана, но на перемещение камеры эффект не реагирует. Так как будто это не туман, а поверхность примитивов изменяет цвет. Оно так и есть, что в действительности поверхности примитивов изменяют цвет, но этот цвет не зависит от положения камеры. Я думал вначале, что обойдусь этими строчками и эффект обеспечен относительно камеры, но теперь вижу, что что то еще нужно дополнительно задать. Похоже на то, что изменения цвета повехности примитивов происходит не относительно системы координат камеры, а относительно глобальной системы координат или системы координат наблюдения. |