当前位置:   article > 正文

使用自动生成Mipmap时遇到的一些问题_generatemipmaps

generatemipmaps

给纹理添加一个局部更新的功能,在用OpenGL实现时候找到了glTexSubImage2D这个函数

 

然后问题就开始了

首先是使用glTexSubImage2D时候需要指定mipmap纹理层,而mipmap的生成我目前使用了gluBuild2DMipmaps函数,于是在我尝试修改多层mipmap时发现:居然每一层的修改使用的是绝对坐标,而不是相对坐标

 

举个例子,如果修改了(16,16)~(32,32)这个范围的像素,那么每当采用更小一级的mipmap时候,所修改的纹理就会向+x和+y方向移动并扩大一倍,这是由于mipmap本身的原理决定的。所以这种方法不能采用。

 

在gamedev上看到说2000年左右时候调用gluBuild2DMipmaps还可以,现在就不需要这样做了

http://www.opengl.org/wiki/Texture_Mapping#How_to_create_a_texture

在这个链接上提示了一种方法使用gpu生成mipmap

这个方法需要硬件支持OpenGL 1.4以上(所幸我的915gm还可以支持^^)

 

mipmap本身没问题了,

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/112754
推荐阅读
相关标签
  

闽ICP备14008679号