OpenGL 调用三次glGenTextures(1, Texture);和调用一次glGenTextures(3, Texture);有什么区别。

有没有人在啊,想请说下,OpenGL 调用三次glGenTextures(1, Texture);和调用一次glGenTextures(3, Texture);有什么区别。
最新回答
余盼兮

2024-10-22 07:59:01

先说调用一次的,假设你的Texture变量已经是一个长度为3的uint数组,那么会产生三个纹理对象,分别存储在Texture里的三个位置。这样是正确的。

glGenTextures(1, Texture)调用三次,其实每次产生的纹理对象都存在Texture的第一个位置,第三次调用完毕后,前两个纹理对象名称你已经无法找到了。所以这样是不正确的。

正确的操作就是你需要几个,就将Texture初始化长度为几,然后glGenTextures的第一个参数也是几。
追问
谢谢 受教了
醉挽清风

2024-10-22 07:26:52

调用三次可以生成单独的纹理对象id调用一次生成3个连续的id