- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经阅读了khronos的规范,我知道glProgramUniform*()将数据上传到指定的程序对象,而glUniform*()将数据上传到当前绑定(bind)的程序对象。但我想知道这两者之间是否还有其他不同之处。
最佳答案
规范保证的唯一区别是您已经提到的区别:在使用 glProgramUniform*
命令系列之前无需绑定(bind)着色器。
如果存在任何性能差异,则它们是特定于供应商/驱动程序/版本的。
请注意,glUniform*
从 2.0 开始可用,而 glProgramUniform
是在 4.1 中引入的。
关于opengl - glProgramUniform() 和 glUniform() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51648238/
我正在使用 OpenGL 和 GLSL 在简单的网格上绘制纹理。 我的问题是,当我使用 glUniform1i 设置 sampler2D uniform 的值时,它没有被设置。例如在这段代码中: gl
我想知道 glUniformXXv 是否会阻塞,直到指针所指的数据被复制到 GPU。换句话说,如果 GPU 很忙,这段代码会导致问题吗? int i=5; glUniform1iv(location,
GLSL 代码和传递数据的 native 代码之间的类型必须匹配到什么程度? 例如,假设我有着色器代码: uniform float uFloat; uniform int uInt; in floa
当我调用 glUniform2fv 时到底会发生什么? 它是同步复制传递的缓冲区还是只是接受指针并稍后使用该数据?它保留缓冲区吗? 换句话说:在函数中传递本地创建的或非保留的缓冲区是否安全,或者由我来
再次嗨,欢迎来到另一个“如果我们将两件我真的不了解的事情结合起来会不会很棒”-问题;) 这一集:OpenGL 制服和 C++ 模板 想法:如果您可以编写一个模板函数来在 OpenGL 着色器中设置制服
我已经阅读了khronos的规范,我知道glProgramUniform*()将数据上传到指定的程序对象,而glUniform*()将数据上传到当前绑定(bind)的程序对象。但我想知道这两者之间是否
我目前正在编写一个 openGL 着色器类。我没有使用函数来设置每个统一类型,而是尝试将统一函数(例如 glUniform1f)作为参数传递。 我目前的尝试看起来像这样: template void
如果我有一个看起来像这样的片段着色器: #version 450 #define MAX_NUM_LIGHTS 10 #define NUM_CASCADES 6 uniform sampler2D
我正在关注 OpenGL v3.3 教程,该教程指示我使用 glUniform4f 修改片段着色器中的统一属性(请参阅下面的代码)。据我了解,OpenGL 是一个状态机,我们不会取消绑定(bind)当
背景 我目前正在围绕 OpenGL 的 glUniform 编写包装器C++ 中的函数,努力使它们类型安全。我有一堆 set_uniform 函数被重载以接受 OpenGL POD(GLint、GLu
我是一名优秀的程序员,十分优秀!