当我调用 glUniform2fv
时到底会发生什么?
它是同步复制传递的缓冲区还是只是接受指针并稍后使用该数据?它保留缓冲区吗?
换句话说:在函数中传递本地创建的或非保留的缓冲区是否安全,或者由我来保持该缓冲区处于事件状态?
我在 iOS/Mac 上使用 Objective-C 和/或 Swift 来使用 OpenGL,我担心 GC (ARC) 会在发送到 GPU 之前吃掉我的缓冲区。
最佳答案
它是安全的,但文档对此并不清楚,至少在 https://www.opengl.org/sdk/docs/man/html/glUniform.xhtml 找到的版本
They retain the values assigned to them by a call to glUniform until the next successful link operation occurs on the program object
关于ios - glUniform*fv 是否保留传递的缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35954374/