gpt4 book ai didi

c++ - 如何在 OpenGL 中使用 alpha 透明度?

转载 作者:IT老高 更新时间:2023-10-28 12:52:15 29 4
gpt4 key购买 nike

这是我的代码:

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();
}

问题在于这两个点看起来相同(即使我将 alpha 设置为 0)。我是否错过了启用 Alpha 透明度的功能?

最佳答案

你有 glEnable'd alpha blending 吗?你设置好混合参数了吗?您不能只设置 OpenGL 中设置各种其他参数所需的 alpha。

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

关于c++ - 如何在 OpenGL 中使用 alpha 透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1617370/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com