Я новичок в OpenGL, и я немного застрял в смешивании. Я использую java и файл lwjgl.
В результате я хочу получить набор различных текстур с их альфа-каналом. Я уже сделал это, и у меня нет проблем. Но потом я хочу добавить точки с GL_POINTS, и у меня всегда получаются черные точки, независимо от того, какие у меня параметры glColor3f. Я думаю, что это может быть проблема смешивания.
Для текстур я использую glEnable(GL_BLEND), а затем glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA). Как я уже сказал, это работает хорошо.
Для точек я использую glBlendFunc(GL_ONE_MINUS_SRC_COLOR, GL_SRC_COLOR).
public void drawPoint() {
...
GL11.glColor3f(1, 0, 0);
GL11.glBlendFunc(GL11.GL_ONE_MINUS_SRC_COLOR, GL11.GL_SRC_COLOR);
GL11.glPointSize(3.0f);
GL11.glBegin(GL11.GL_POINTS);
GL11.glVertex2f(x, y);
GL11.glEnd();
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
}
Я ожидаю красную точку размером 3 в (x, y), но получаю черную точку размером 3 в (x, y).
Это проблема смешивания? Если да, то как я должен сделать смешивание?
Заранее спасибо!