着色器和纹理
现在开始学习“第9章 片源着色器中的表面纹理”。
先粗略浏览了一下本章的内容,发现一个关键问题:我还是不太明白到底什么是Texture(纹理)。
我在学习jMonkeyEngine3时,也曾使用AssetManager加载过Texture对象,它们似乎只是普通的Image(图片)。我的疑问是:Texture与Image有什么异同点呢?
在jME3中,Texture对象有一些特别的参数,比如 WrapMode
、WrapAxis
、MinFilter
、MagFilter
。通过实际开发,我知道MagFilter.Nearest
可以让纹理表现出像素风格,但是为什么会这样呢?
另外,为了让纹理获得各向异性效果,以及自动生成Mipmap(多对一贴图),必须使用TextureKey来加载纹理,并且调用 key.setAnisotropy(true)
和 key.setGenerateMips(true)
方法。如果不这样做,场景渲染出来后,远处的画面看起来会有点“花”。这又是怎么回事呢?
我发现自己对**Texture(纹理)**本身的理解还是太少了。
于是,我今天花时间在网上另找了一些资料,写得最清楚的当属 Learn OpenGL 这本书了。看来,我毕竟还是缺乏OpenGL的基础知识。下面是与纹理有关的章节:
这本书有汉化版,地址为:http://bullteacher.com/category/zh_learnopengl_com
。等有空我一定要把这本书也学一遍。