Почему мои полупрозрачные вершины делают фоновые объекты ярче в OpenGL? - PullRequest
0 голосов
/ 06 апреля 2009

Я рисую 4 вершины (квадрат) перед цветным кубом. Вершины окрашены в белый цвет, но смешаны в 0.5f.

Похожие: Почему мой цветной куб не работает с GL_BLEND?

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

Куб отображается без квадрата впереди:

Обычный куб http://img408.imageshack.us/img408/2853/normalcube.png

А, отображается с квадратом:

Куб с квадратом http://img142.imageshack.us/img142/6255/brightsquare.png

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

Это код в моей функции инициализации:

glEnable(GL_CULL_FACE);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);

1 Ответ

2 голосов
/ 06 апреля 2009

Я бы сказал, что это потому, что ваш полупрозрачный квадрат добавляется к существующим пикселям, увеличивая тем самым их интенсивность.

В документации для glBlendFunc() рекомендуется установить второй параметр на GL_ONE_MINUS_SRC_ALPHA, который является образцом для реализации прозрачности. Попробуй.

...