【问题标题】:What method i should use for load textures in Opengl我应该使用什么方法在 Opengl 中加载纹理
【发布时间】:2021-10-31 10:14:21
【问题描述】:

对于纹理,是使用 Opengl 1.1 中的 glGenTextures 方法还是使用 Opengl 4.5 中的 glCreateTexture 更好?我都试过了,我可以对这两种方法使用相同的绑定方法,那么,我应该使用哪一种?

【问题讨论】:

    标签: java opengl textures lwjgl


    【解决方案1】:

    如果您确实可以以 OpenGL 4.5 为目标,那么请选择 glCreateTextures()。该函数旨在与其他直接状态 GL 函数一起使用,因此您不必绑定纹理来配置/上传它,而只需“绑定到渲染/绘制” ”。

    glGenTextures()glCreateTextures() 之间的主要区别在于前者在您调用glBindTexture(target, id) 之前不会创建纹理对象;它只是返回了一个 可以 制成纹理对象的句柄/int。

    但请注意,并非所有驱动程序/卡实际上都支持 OpenGL 4.5,最值得注意的是 macOS 驱动程序永远不会支持 OpenGL 4.5,而仅支持 4.1.,并且它们也不支持 ARB_direct_state_access 扩展名(glCreateTextures 源自该扩展名)。见:https://developer.apple.com/opengl/OpenGL-Capabilities-Tables.pdf

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多