Проблема со смешиванием в openGL (пример цветной полосы)

Кто-нибудь может подсказать, почему, когда я пытаюсь отобразить четырехугольник цветовой полосы ниже введите описание изображения здесь

Оно выглядит так: введите здесь описание изображения

Вот мой код рендеринга:

    gl.glEnable(GL.GL_BLEND);
    gl.glBlendFunc(GL.GL_ONE, GL.GL_ZERO);
    gl.glBlendEquation(GL.GL_FUNC_ADD);

    gl.glEnable(GL.GL_ALPHA_TEST);
    gl.glAlphaFunc(GL.GL_GREATER, 0.01f);

    // do the drawing...

    gl.glDisable(GL.GL_TEXTURE_2D);

    gl.glDisable(GL.GL_ALPHA_TEST);

Я уверен, что решение простое, и у меня просто мозги, но это всего лишь один из тех дней! Спасибо за помощь!


person Sonoman    schedule 18.05.2011    source источник
comment
Напишите это как собственный ответ и примите его, это способ отметить найденные решения на SO   -  person datenwolf    schedule 18.05.2011


Ответы (2)


Какое смешивание вы пытаетесь выполнить? Чтобы просто нарисовать что-то без смешивания цветов или альфа-каналов, вам даже не нужно играть с GL_BLEND или GL_ALPHA_TEST (оставьте оба отключенными). GL_BLEND используется для определения того, как добавлять различные «слои» цвета (обычно о том, как применять альфа-каналы), а GL_ALPHA_TEST решает, какие альфа-значения учитывать/игнорировать. Также проверяйте цвета вершин при рендеринге четырехугольника (попробуйте отрендерить одноцветный четырехугольник без текстуры, например, используя пурпурный цвет).

Однако, глядя на ваши изображения, я бы предположил, что вы каким-то образом отключили отрисовку в канале красного цвета (glColorMask()) - хотя есть желтый, что меня смущает.

person Mario    schedule 18.05.2011
comment
Поскольку вы в основном задаете вопрос, я не думаю, что вам следует публиковать это как ответ. Но вернемся к теме: исчезла и синяя полоса, что выглядит очень странно. - person ltjax; 18.05.2011
comment
Извините ребята. Я нашел ошибку, и это не было связано с смешиванием. Значения RGBA перепутались, когда я по какой-то странной причине импортировал PNG. - person Sonoman; 18.05.2011

Возникла проблема с заменой RGBA при импорте файла PNG.

person Sonoman    schedule 25.05.2011