glUnmapBuffer-返回值和错误代码

罗宾逊

目前,根据某些文档查看glUnmapBuffer,它返回GLboolean来指示成功(GL_TRUE)或失败(GL_FALSE)。据推测,如果失败,则会设置GL错误。

我的问题是,假设您在调试版本中的每个OpenGL调用之后都在检查glGetError,则在什么情况下需要检查它是否在发行版本中以GL_TRUE返回?

或者更确切地说,为什么在其他OpenGL函数不需要的情况下此函数需要返回bool成功/失败?我在这里寻找组织原则,即它有时可以在未设置gl错误的情况下返回GL_FALSE吗?

编辑:

好的,我找到了答案。不确定是否要保留它,因为它很有趣。在此页面上

``由于其低级性质,必须放松这些保护。因此,在映射缓冲区的过程中可能会发生某种损坏。如果发生这种情况,则调用glUnmapBuffer将返回GL_FALSE。因此,该缓冲区的内容被认为是未定义的。它可能包含您的数据,也可能具有随机垃圾。”

因此,当我指定Windows 7或更高版本时,我不需要考虑它。具有讽刺意味的是,我之所以从Direct 3D切换到OpenGL的原因之一就是Direct 3D 9.0。

Bartek Banachewicz

因为这不是常规的OpenGL错误

(...)可能由于系统特定的原因而发生,这些原因会影响图形内存的可用性,例如屏幕模式更改。在这种情况下,将返回GL_FALSE,并且数据存储内容未定义。应用程序必须检测到这种罕见情况并重新初始化数据存储。

无疑引入了这种特殊机制,以将此类情况与捕获的典型用户交互错误区分开glGetError

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误代码“子查询返回了多个值[...]”

来自分类Dev

SetPerTcpConnectionEStats和GetPerTcpConnectionEStats返回错误代码1214(无效的NETNAME)

来自分类Dev

从方法返回错误代码

来自分类Dev

错误并非所有代码路径都返回值

来自分类Dev

“错误:并非所有代码路径都返回值。”

来自分类Dev

C#返回错误“并非所有代码路径都返回值”-如何查找不返回值的路径

来自分类Dev

表单验证错误和错误代码

来自分类Dev

表单验证错误和错误代码

来自分类Dev

包含错误和返回值的设计模式

来自分类Dev

区分C中的返回值和错误

来自分类Dev

SetFileTime返回错误代码5

来自分类Dev

DNSServiceNATPortMappingCreate始终返回错误代码-65540

来自分类Dev

dpkg返回错误代码一

来自分类Dev

Highrise API返回错误代码500

来自分类Dev

Phonegap FileTransfer错误代码返回null

来自分类Dev

SDWebImage始终返回错误代码401

来自分类Dev

php exec返回错误代码1

来自分类Dev

错误的返回值模式

来自分类Dev

函数返回值错误

来自分类Dev

错误代码编号。定义适当的值

来自分类Dev

错误代码编号。定义适当的值

来自分类Dev

从存储过程返回错误代码值是一种好习惯吗?

来自分类Dev

返回值和JProgressbar

来自分类Dev

系统调用和EINTR错误代码

来自分类Dev

使用准备好的语句PHP返回MySQL错误代码和自定义响应

来自分类Dev

如何从javax.servlet.filter doFilter方法返回JSON响应消息和HTTP错误代码?

来自分类Dev

c#编译器返回错误,并非所有代码路径都返回值

来自分类Dev

从任意评估代码获取返回值

来自分类Dev

使用返回值运行PHP代码