作者jhs1213 (...)
看板GameDesign
标题Re: [请益] 请教 Normal Map 的相关问题
时间Wed Jul 8 21:32:12 2009
※ 引述《pleaselouis (LOUISN)》之铭言:
: 推 NDark:反过来 , 光源 - 3D物件的座标 , 这样可以work吗? 07/07 20:40
: → NDark:记得向量要normalize...超过1.0里面计算会overflow 07/07 20:41
: 非常谢谢你的帮忙 果然是因为没有做 正规化...<囧"
: 只需要将我之前提到的 : 光线的"向量座标" = 3D物件的座标 - 光线的座标
: 将光线的"向量座标" 丢到 D3DXVec3Normalize() 内就可以了
: 推 darkflier:你应该要了解的是什麽是normal map 为什麽要用他 07/07 21:11
: → darkflier:而不是专注在这些看不懂的方程式 07/07 21:11
: → darkflier:等你了解什麽是normal map之後你自然知道要怎样使用 07/07 21:12
: → darkflier:你还提到了复数光的问题...那代表你现在需要的是 07/07 21:15
: → darkflier:知道什麽叫做打光 打光的用意在哪 07/07 21:15
: 我今天马上把我手头上 所有DirectX书中关於打光的章节再看一次
: 但是我还是不太了解 在拥有复数光源的场景中 要如何判定
: 目前我的想法是将所有的 光线与3D物件的"距离" 作排序
: 将距离最近的灯光 设定为 Normal Map 的参数
: 但是这样一来的话 就只有一组灯光会对3D物件有 Normal Map 的效果
: 目前我对 打光 的认知是每个多边形的"顶点" 根据其受到的光的颜色
: 作内插法运算 藉此达到让多边形有颜色渐层的视觉效果
你可能必须先去看一下基本的图学
了解 光线方向 法线方向 观者方向 如何影响这个点受光的颜色
如果你了解的话就不会有 "只有一组灯光会对3D物件有 Normal Map 的效果" 这种想法
你这边打光的认知对於不使用pixel shader来讲是正确的...
但如果有用normal map 就必须使用pixel shader了
pixel shader也就是每个pixel都要计算打光(shader里的code就是对每个点打光的计算)
如果没有normal map ,法线向量只能由三角形顶点的法线向量内差而来...
这样只能表现出平滑的物体
如果有normal map 就可以让 法线方向很有变化 以表现细节
: 当然还有关於打光的种类 : 点光源 平行光源 聚光灯 也有基础的认识
: 但是就我目前的所知的资讯 对於如何解决问题依然是没有任何的头绪
: 因此希望可以请版上的前辈 再度给小弟一些建议与指导 谢谢大家 <(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.16.234
1F:推 scottnien:normal map也可以用texture combine来做 不一定要用 07/10 01:15
2F:→ scottnien:pixel shader.. 07/10 01:16
3F:推 songfat:推一楼。可以用texture stage state 07/10 16:42