Я пытаюсь создать простой трассировщик лучей. У меня есть перспективный вид, который показывает лучи видимо для целей отладки.OpenGL Alpha смешивание с неправильным цветом
В моем примере снимок экрана ниже. У меня есть одна белая сфера, которая будет излучаться и зеленая сфера, представляющая глаз.
лучи рисуются в виде линий с
glLineWidth(10.0f)
Если луч попадает в сферу его заданного цвета
glColor4ub(100,100,100,100);
в моем коде инициализации я следующее:
glEnable(GL_ALPHA_TEST); glAlphaFunc(GL_GREATER, 0.0f); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_SRC_ALPHA);
Вы можете см. на снимке экрана, что по какой-то причине лучи, проходящие между точкой обзора и сферой, смешиваются по цвету с осевой линией за спиной а не с самой сферой.
Вот скриншот:
Может кто-нибудь объяснить, что я делаю неправильно здесь?
Спасибо!
Я отредактировал этот файл, чтобы включить скриншот –