Añadir transparencias en OpenGL

written by uve 1 December 2010

Para hacer que un objeto tenga cierto grado de transparencia, debemos de activar GL_BLEND e indicar como queremos que se apliquen las transparencias:

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

A partir de aquí, se tendrá en cuenta el valor de alpha de los colores. Con glBlendFunc es quien nos permite decidir como aplicar el valor de alpha. Por ejemplo, podemos indicar el alpha con la siguiente función:

void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);

Así, la siguiente llamada introduce una opacidad del 80% a un color rojo (255, 0, 0):

glColor4f(1.0, 0.0, 0.0, 0.8);

Tags

La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.