Прозрачность только на определенных объектах? - PullRequest
0 голосов
/ 10 мая 2019

Мне удалось получить прозрачный куб, используя

glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);

и в shader.frag:

gl_FragColor = vec4(texture2D(TextureMap_uniform, uv).xyz,0.5);

, но теперь я хотел бы, чтобы твердотельная модель перемещалась надпрозрачные кубы должны быть непрозрачными (прозрачность применяется ко всему на данный момент).Кто-нибудь может указать мне правильное направление?

1 Ответ

1 голос
/ 10 мая 2019

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

проверить эти ссылки:

https://www.khronos.org/opengl/wiki/Uniform_(GLSL) https://www.khronos.org/opengl/wiki/GLAPI/glUniform

...