【发布时间】:2017-08-27 15:08:54
【问题描述】:
我对 OpenGL API 非常陌生,刚刚发现了纹理以及如何使用它们。生成的纹理缓冲区的绑定方式与常规制服的绑定方式不同,而是使用glActiveTexture,然后进行绑定,而不是像我们使用其他常量那样仅通过glUniform 将纹理提供给着色器。
这个约定背后的原因是什么?
我能想到的唯一原因是利用显卡的全部潜力和纹理处理能力,而不是直接绑定缓冲区。这是正确的推理,还是仅仅是 API 的实现方式?
官方 wiki 上没有给出任何理由,只是说这很奇怪:“在 OpenGL 中使用绑定纹理有点奇怪”https://www.khronos.org/opengl/wiki/Texture
【问题讨论】:
-
我会看看它是否回答了我的问题,谢谢。没看到那个。
-
如果您使用“直接状态访问”(DSA),API 会更有意义。假设您使用的是 GL core 4.5 或更高版本。