gpt4 book ai didi

c++ - 3D 应用中的 OpenGL 2D hud

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:38:59 29 4
gpt4 key购买 nike

我一直在尝试在我的 OpenGL 应用程序中创建一个 HUD。环顾四周,似乎是使用正射投影来做到这一点,但到目前为止,我还无法让程序正确渲染。发生的事情不是在我的显示器顶部渲染,而是出现奇怪的图形故障,如下所示:

enter image description here

如果我注释掉 hud 代码,一切都会完美呈现。

glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);

//Set up projection matrix
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//Using gluPerspective. It's pretty easy and looks nice.
gluPerspective(fov, aspect, zNear, zFar);

//Set up modelview matrix
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

//3D rendering

glDepthMask(GL_FALSE);
glDisable(GL_DEPTH_TEST);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,window_width,0,window_height); //left,right,bottom,top

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glColor3f(0.0,0.0,1.0);
glBegin(GL_QUADS);
glVertex2f(50,50);
glVertex2f(50,100);
glVertex2f(100,100);
glVertex2f(100,50);
glEnd();

最佳答案

完成 HUD 渲染后,您需要重新启用深度写入

glDepthMask(GL_TRUE);

关于c++ - 3D 应用中的 OpenGL 2D hud,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8370537/

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