所有 OpenGL 纹理调用中使用的“级别”参数到底是啥?
Posted
技术标签:
【中文标题】所有 OpenGL 纹理调用中使用的“级别”参数到底是啥?【英文标题】:What exactly is the "level" parameter used in all OpenGL texture calls?所有 OpenGL 纹理调用中使用的“级别”参数到底是什么? 【发布时间】:2014-05-30 17:20:33 【问题描述】:每个关卡都包含它自己的纹理数据吗?将一个纹理复制到另一个纹理时,这些必须如何处理?
【问题讨论】:
【参考方案1】:这是mipmap级别。
Mipmap 是在纹理成一定角度或距离很远时使用的缩小纹理,而不是主要纹理,用于三线性过滤。 Obligatory wikipedia link.
【讨论】:
谢谢。将整个纹理从一个 GLuint“名称”复制到另一个时,我还需要复制所有 mipmap 级别吗? 你究竟是如何复制它的,它的用途是什么? 基本上,我正在为纹理制作一个 c++ 包装器。在复制构造函数中,我需要将图像数据复制到一个新的“名称”。我正在使用 glCopyImageSubData 执行此操作,它采用 mipmap 级别。我假设有一个“完整”副本,我需要复制所有 mipmap 级别? 我不会费心在纹理对象上实现复制构造函数。它不是很有用。此外,glCopyImageSubData
仅在 OpenGL 4.3+ 中可用,这是相当新的并且限制了您的目标受众。如果你还是想这样做,那么是的,你必须为每个 mipmap 都这样做。
@Ben 随心所欲,但我建议不要浪费时间来实现、测试和记录一个理智的程序员几乎不会使用的功能,并且只能在 17% 的显卡上使用.以上是关于所有 OpenGL 纹理调用中使用的“级别”参数到底是啥?的主要内容,如果未能解决你的问题,请参考以下文章