¿Cómo utilizar alpha transparency en OpenGL?
Aquí está mi código:
void display(void);
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable( GL_BLEND );
glutInitWindowSize(600,600);
glutInitWindowPosition(200,50);
glutCreateWindow("glut test");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glPointSize(8);
glBegin(GL_POINTS);
glColor4f(.23,.78,.32,1.0);
glVertex2f(0,0);
glColor4f(.23,.78,.32,0.1);
glVertex2f(0.1,0);
glEnd();
glFlush();
}
El problema es que estos dos puntos parecen idénticos (incluso cuando establezco el alfa a 0). ¿Hay algo que me perdí para habilitar la transparencia alfa?
25
Author: Ciro Santilli 新疆改造中心 六四事件 法轮功, 2009-10-24
2 answers
Solo una suposición, pero ¿podría ser que no tienes un color de fondo ? Por lo tanto, cuando su representación del segundo vértice que tiene alfa 0.1, no hay fondo para calcular el color adecuado ? Solo una suposición, hace años que no uso Opengl.
18
Author: Andrew Keith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-24 08:46:13
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-24 08:46:13
¿Has glenable alpha blending? ¿Y ha configurado sus parámetros de mezcla? No puede simplemente establecer la alfa que necesita para configurar varios otros parámetros en OpenGL.
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable( GL_BLEND );
57
Author: Goz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-24 08:37:55
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-24 08:37:55