gpt4 book ai didi

c++ - 我如何在 OpenGL ES 1.x 中实现 glPushAttrib(GL_CURRENT_BIT)

转载 作者:太空狗 更新时间:2023-10-29 21:35:28 25 4
gpt4 key购买 nike

我正在尝试将我的 OpenGL 项目修改为 OpenGL ES 1.x。但是有一个函数调用我找不到任何解决方案来替换它。

glPushAttrib(GL_CURRENT_BIT | GL_LIGHTING_BIT | GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT );

我在 OpenGL ES 1.x 中找不到 GL_CURRENT_BIT 掩码和 glPushAttrib 函数。

简单地说,我只是从 glPushAttrib 参数中删除了 GL_CURRENT_BIT 掩码,应用程序在窗口上显示了错误的背景(我在 OpenGL 环境中测试了它。背景是纹理。)。是否有任何解决方案可以替换 glPushAttrib(GL_CURRENT_BIT) 并让我在 OpenGL 上正确运行应用程序,或者是否有任何解决方案可以实现 glPushAttrib(GL_CURRENT_BIT) 我可以在 OpenGL 和 OpenGL ES 上正确运行?谢谢!

最佳答案

glPushAttrib在 OpenGL ES 中不存在。旨在将 GL_CLIENT_PIXEL_STORE_BIT 作为输入的函数实际上是 glPushClientAttrib ,它也不存在(因此,常量也不存在)。

这些的功能本质上是存储可以使用 glPixelStorei 设置的所有状态功能。这可以手动实现,方法是在设置状态时记录这些状态,然后对 glPixelStorei 进行等效调用以恢复它们。参见 here (第 8 项)讨论(关于 OpenGL,适用于 OpenGL ES,因为它没有 glPush/PopClientAttrib)。

关于c++ - 我如何在 OpenGL ES 1.x 中实现 glPushAttrib(GL_CURRENT_BIT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42263891/

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