【3D】SphereMap的生成器
SphereMap用于简单的环境效果。典型的例子请看下面这张截图:图中的这个茶壶看起来很有金属光泽。它把周围环境映照进去了。
不过别以为它真的把周围环境映照进去了。它的原理是将一张球面纹理(Sphere map)以一种特定的方式贴到物体表面的。
也就是物体表面的纹理坐标是这样计算的:
反射方向 =物体表面法线×(视线方向·物体表面法线)×2 + 视线方向;
反射方向.z +=1;
反射方向 = 取单位向量(反射方向);
纹理坐标.x = 反射方向.x
纹理坐标.y = 反射方向.y
其中的球面纹理是这个样子的:
知道了吧?它并没有真的把周围环境映照进去,而是用一张这样的图“蒙混过关”。不过这种方法优点是效率高、运算快、编写简单。
很多不需要特别在意细节的地方(比如某人物胸部一个闪闪发光的纽扣)就可以用这种方式来渲染,而不必使用动态的Cube map。
那么这样的球面图是怎么制作的呢?当然要借助工具。
我这个工具用法很简单,只需把上下左右前后六张图分别拖入左上角的各个框,就能看到效果。
然后看左下的那个滚动条,那是调整你要保存的文件的尺寸。最大支持16384x16384(768 MB的一张位图)
选好尺寸后点“导出为位图”就可以导出了。
看,我导出的这张Sphere map比DXSDK自带的好多了!不仅清楚,而且四个角落也被妥善处理了。
这个程序用VB编写,使用了OpenGL达到了显卡加速的效果,因此不出意外的话导出图像是很快的。
BIN:
SRC: 怎么下载啊 下载不到啊 没界面 看起来不错。!! 点击下载没反应好像.. 好像可以下载了。。应该是需要等待一段时间.. 打开报错53,说找不到glew32vb.dll,但这个文件就在文件夹里
页:
[1]