![]() |
1
3
支持自动mipmap需要OpenGL 1.4
一代
(使用gl_generate_mipmap),使用mipmap进行纹理处理应该可以在几乎所有的图形卡上使用。
我想问题可能不是
缺少mipmapping功能
但也许这一代
MIPMAP。只是为了调试
目的,您是否可以尝试生成
使用MIPMAP
如果此问题特定于此图形卡/配置,则检查更新的驱动程序也可能是一个好主意。 消除混叠的一个好方法是 multisampling . |
![]() |
2
2
如果没有可用的mip映射,您可能不想避免别名。没有mip映射的平台通常不值得麻烦。 但是,如果您真的想要避免混叠,可以通过每个基本mip映射来近似每个片段mip映射。首先,您必须手工生成并上传所有mip映射级别到单独的纹理中。在渲染三角形之前,在CPU上计算适当的mip映射级别,并使用与该mip映射级别对应的纹理。为了避免大型原语上的伪影,对它们进行细分。 |
![]() |
3
2
OpenGL要求核心的所有纹理格式都支持MIP映射。因此,没有具体的方法来询问纹理格式是否支持mip映射。 当第一次引入扩展时,一些扩展对新格式(最显著的是,两个纹理的非幂次和浮动纹理)放宽了这个约束。扩展本身清楚地表明,完全不支持MIP映射。但在这些集成到核心中之前,对mip映射支持的需求已经恢复。 |
![]() |
4
0
如果您的实现真的不支持mipmap,我会非常惊讶。你越可能错过一个或多个级别,这是很容易发生的意外。 如果您只错过了一个MIP级别,并且启用了mipmapping,那么您得到的就是您拥有的,黑色。确保 全部的 定义低至1X1的级别,或相应地设置gl_texture_max_level tex参数。 |