gpt4 book ai didi

c - glClearColor(0, 0, 0, 0) 是透明的,不是黑色

转载 作者:太空狗 更新时间:2023-10-29 11:27:41 25 4
gpt4 key购买 nike

我是第一次尝试使用 OpenGL。我在网上查看了一些代码,然后尝试编写自己的代码,但我总是得到一个空的(透明的)窗口。 (我是用GLUT开窗的)。

我以为我做错了什么,所以我从here复制了代码到我的 C 源代码,我的窗口仍然是透明的。此外,glClearColor()alpha 参数似乎没有任何效果。相反,alpha 值似乎redgreenblue 参数确定。

glClearColor(0, 0, 0, 0)
glClearColor(0, 0, 0, 1)
enter image description here

glClearColor(1, 0, 0, 0)
glClearColor(1, 0, 0, 1)
enter image description here

glClearColor(1, 1, 0, 0)
glClearColor(1, 1, 0, 1)
enter image description here

glClearColor(1, 0, 0, 0)
glClearColor(1, 0, 0, 1)
enter image description here

alpha 参数不会改变结果。

我使用 Ubuntu 12.04 LTS,libgl1-mesa-dev

这是错误还是我做错了什么?

最佳答案

默认情况下,GLUT 不请求 alpha 缓冲区,我怀疑您所看到的可能是窗口透明度的故障安全、临时实现。尝试添加:

glutInitDisplayMode(GLUT_RGBA | GLUT_ALPHA);

在其他 GLUT init 调用附近。保持this function请记住,如果/当您需要深度或模板缓冲区或双缓冲时,您需要再次修改调用。

关于c - glClearColor(0, 0, 0, 0) 是透明的,不是黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12175406/

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