glGetUniform有用吗?

Jav*_*rez 2 opengl glsl

我的问题是这个.这个功能的用处是什么?我知道我得到了一个统一变量的值,但它有什么用呢?例:

我从我的C/C++程序中分配一个统一变量的值.

    Program  -> glUniform*(...);  -> Shader -> glGetUniform*(...)
Run Code Online (Sandbox Code Playgroud)

使用glGetUniform我得到这个或任何其他变量的值,但是统一...因为我可以直接从我的应用程序获取值,因为我不能直接为着色器中的统一变量赋值,这有什么用处特征?

    Program  -> glUniform*(...);  -> Shader -> glGetUniform*(...)
       |
       V
  uniform value
Run Code Online (Sandbox Code Playgroud)

bcr*_*ist 9

glGet*()函数的主要用途是用于调试.你几乎从来没有想使用他们在您的实际认定书,因为它要求的GL驱动程序返回之前完成任何挂起操作渲染代码,以确保它是正确的.这意味着,这将是快,只是缓存你关心客户端的状态.

  • `在你的实际rending代码中 - 我的呈现代码经常被证明是rending代码.+1让我嗤之以鼻;) (2认同)