gpt4 book ai didi

api - glUseProgram(0)有什么作用?

转载 作者:行者123 更新时间:2023-12-03 13:28:02 27 4
gpt4 key购买 nike

The OpenGL docs for glUseProgram声称使用零参数对其进行调用将导致着色器执行的结果为undefined

但是,经过一些搜索,我看到了一些使用glUseProgram卸载当前着色器程序的人的例子。

这种行为可靠吗?如果不是,那么glUseProgram(0)到底能做什么?

最佳答案

glUseProgram表示给定的程序对象是将用于使用程序(glUniform,渲染命令等)的对象的当前程序。 0与OpenGL对象的NULL很像。它代表not an object(对于大多数对象)。因此,glUseProgram表示当前没有程序,因此不会将任何程序用于使用程序的事物。

如果在当前没有程序的情况下尝试调用glUniform函数,则它们将失败并显示错误。如果在没有程序的情况下尝试渲染,则会发生以下两种情况之一。


在OpenGL 3.1+的核心配置文件中,您将得到一个GL_INVALID_OPERATION错误,因为核心OpenGL必须使用程序进行渲染。
在兼容性配置文件或3.0或更低版本中,您将获得固定功能的渲染。

关于api - glUseProgram(0)有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13546461/

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