Как получить смешивание для работы с освещением и материалом? - PullRequest
0 голосов
/ 14 января 2012

Какую альфу мне поменять?Диффузный, зеркальный или окружающий?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2015

используйте GL_SRC_ALPHA , GL_ONE в качестве параметра в glBlendFunc();

Ex:

glColor4f(1.0,1.0,1.0,alpha_value);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA , GL_ONE);

Замените alpha_value как ваше требование .... `

0 голосов
/ 14 января 2012

Вы точно не сказали, что делаете, поэтому я предполагаю, что вы устанавливаете цвета объекта непосредственно с помощью glLightParameter, а не извлекаете их из текстуры.

Чтобы сделать то, что вы хотите, у которого одно число имеет полный контроль над прозрачностью объекта, вы должны установить для окружающих, рассеянных и зеркальных альфа-цветов значение ноль .Затем вы используете emissive alpha, чтобы установить прозрачность.

Если вы используете текстуры, то вам нужно сделать больше работы.Вам нужно использовать правильную текстурную модель среды, которая берет альфа непосредственно из освещения с фиксированной функцией без изменений.

Или вы можете просто использовать шейдеры и отбросить всю эту чушь с фиксированной функцией.Это спасет вас , поэтому много головных болей.

...