找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 7055|回复: 7

【3D】SphereMap的生成器

[复制链接]
发表于 2014-8-30 22:36:00 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
SphereMap用于简单的环境效果。典型的例子请看下面这张截图:
20140829004046.png
图中的这个茶壶看起来很有金属光泽。它把周围环境映照进去了。
不过别以为它真的把周围环境映照进去了。它的原理是将一张球面纹理(Sphere map)以一种特定的方式贴到物体表面的。
也就是物体表面的纹理坐标是这样计算的:

反射方向 =  物体表面法线×(视线方向·物体表面法线)×2 + 视线方向;
反射方向.z +=1;
反射方向 = 取单位向量(反射方向);
纹理坐标.x = 反射方向.x
纹理坐标.y = 反射方向.y

其中的球面纹理是这个样子的:
spheremap.png
知道了吧?它并没有真的把周围环境映照进去,而是用一张这样的图“蒙混过关”。不过这种方法优点是效率高、运算快、编写简单。
很多不需要特别在意细节的地方(比如某人物胸部一个闪闪发光的纽扣)就可以用这种方式来渲染,而不必使用动态的Cube map。
那么这样的球面图是怎么制作的呢?当然要借助工具。
20140830222735.png
我这个工具用法很简单,只需把上下左右前后六张图分别拖入左上角的各个框,就能看到效果。
20140830222314.png
然后看左下的那个滚动条,那是调整你要保存的文件的尺寸。最大支持16384x16384(768 MB的一张位图)
选好尺寸后点“导出为位图”就可以导出了。
Lobby.png
看,我导出的这张Sphere map比DXSDK自带的好多了!不仅清楚,而且四个角落也被妥善处理了。
这个程序用VB编写,使用了OpenGL达到了显卡加速的效果,因此不出意外的话导出图像是很快的。
BIN: SpheremapMaker_Win32.7z (82.67 KB, 下载次数: 10, 售价: 2 个宅币)
SRC: SpheremapMaker.7z (127.88 KB, 下载次数: 36, 售价: 10 个宅币)

本帖被以下淘专辑推荐:

回复

使用道具 举报

发表于 2017-12-9 16:52:03 | 显示全部楼层
怎么下载啊
回复 赞! 靠!

使用道具 举报

发表于 2017-12-9 16:55:14 | 显示全部楼层
下载不到啊 没界面
回复 赞! 靠!

使用道具 举报

发表于 2019-12-15 11:33:06 | 显示全部楼层
看起来不错。!!
回复 赞! 靠!

使用道具 举报

发表于 2019-12-15 11:37:21 | 显示全部楼层
点击下载没反应好像..
回复 赞! 靠!

使用道具 举报

发表于 2019-12-15 11:59:52 | 显示全部楼层
好像可以下载了。。应该是需要等待一段时间..
回复 赞! 靠!

使用道具 举报

发表于 2020-3-18 11:23:46 | 显示全部楼层
打开报错53,说找不到glew32vb.dll,但这个文件就在文件夹里
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-21 22:07 , Processed in 0.038278 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表