GameDesign 板


LINE

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
我目前的作法就是靠 texture stage state 来实做 Normal Map 技术 也就是根据前文有提到的 中文WIKI内的教学文件 : http://0rz.tw/eXR4W 以下为教学网页连结内的 程式码范例 以及我对其的理解 如有谬误 烦请指正 : --- DWORD Vector2ARGB(D3DXVECTOR3 *v,float height) { DWORD r=(DWORD)(127.0f*v->x+128.0f); DWORD g=(DWORD)(127.0f*v->y+128.0f); DWORD b=(DWORD)(127.0f*v->z+128.0f); DWORD a=(DWORD)(255.0f*height); return((a<<24L)+(r<<16L)+(g<<8L)+b); } 上面这一段 是困扰我最多的地方 也就是我一直搞不太懂参数 D3DXVECTOR3 *v 的定义 教学网页连结内 的内容有提到 : "从浓淡点到光源的单位向量与表面法线单位向量做点积, 得到的结果就是光线在表面上的强度。" 因此之前才会以 : 光线的"向量座标" = 3D物件的座标 - 光线的座标 当作参数v作测试 只是我现在把他反过来测试 : 光线的"向量座标" = 光线的座标 -3D物件的座标 这样测试出来的结果 两者都是虽然Mesh的确会有出现明显的 凹凸阴影效果 ... 但只要将 Mesh 移动离光源远一点 就会出现表面几乎全黑的现象 虽然还是有表现凹凸感 也就是出现这样的情况 : http://0rz.tw/4wD6p 上图为靠近光源 下图为远离光源 的情形 但是我有在网路上另外找到另一个范例 是使用 Tangent Space 做运算 然後再把值填入 每一个 vertex 的 diffuse 实做 Normal Map 技术 这个范例 就算我将光源设定离开Mesh很远 也不会出现我上述变黑的情形发生 我目前仍是认为 应该我将 参数v 的定义误会 或是忽略少做了什麽运算 ... 因此才再度来请益 请版上的前辈 可以给予小弟指导与建议 谢谢大家 <(_ _)> --- D3DXComputeNormalMap(pNormalMap,pHeightMap,NULL,0,D3D_CHANNEL_RED,1.0f); 由於我自己已经有用 美术软体产生的 法向量图 所以并没又使用这一行程式码 --- DWORD F=Vector2ARGB(&light,0.0f); pD->SetRenderState(D3DRS_TEXTUREFACTOR,F); 这边实际使用到 函式Vector2ARGB() 而其参数又定名为 "light" 但是其回传的DWORD F 又只有使用 SetRenderState 将其填入 并非针对每一个vertex 因此我才会有关於 复数盏灯光的情况下 应该如何设定的疑问产生?? 至今我还是没有理出头绪...烦请版上的前辈 为小弟解答... --- pD->SetTexture(1,pTEXTURE); pD->SetTexture(0,pNormalMap); pD->SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE); pD->SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_DOTPRODUCT3); pD->SetTextureStageState(0,D3DTSS_COLORARG2,D3DTA_TFACTOR); pD->SetTextureStageState(1,D3DTSS_COLORARG1,D3DTA_TEXTURE); pD->SetTextureStageState(1,D3DTSS_COLOROP,D3DTOP_MODULATE); pD->SetTextureStageState(1,D3DTSS_COLORARG2,D3DTA_CURRENT); 这边则是网路上的范例几乎都一样 所以应该是没有问题的... 首先先把法向量图 与 TFACTOR 作点乘积的运算 算出其代表的 光暗凹凸阴影面 再使用 MODULATE 将 Stage-0的结果 与 皮肤材质 做合成 ... --- 感谢你看完这边文章 ... 最後 还是请版上的前辈 可以给予小弟指导与建议 谢谢大家 <(_ _)> --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.76.190.21
4F:推 NDark:mesh移动离光源远 这边容易搞混 最好直接给光与物体的座标 07/13 15:25
5F:→ NDark:说不定光跑到反向也不一定 07/13 15:25
刚刚再测试一次 连结是测试图片 : http://0rz.tw/hUpBc 光线的位置座标为 ( 0, 0 ,175 ) 图片由上至下三张图片的 Mesh座标 依序为 : 1. Mesh-1 ( -30 , -30 , 100) 2. Mesh-2 ( -190 , 35 , 90) 3. Mesh-3 ( 180 , -160 , 100) 到这边我又想到一个问题 如果是 平行光 那个他只有方向性 没有 Position 那麽 平行光 是要如何算出他与 Mesh 的 向量 是多少呢?? 谢谢你的建议 麻烦请你再帮帮忙 给点建议 非常感谢你 谢谢 <(_ _)> ... ※ 编辑: pleaselouis 来自: 211.76.190.21 (07/13 16:05)
6F:→ pleaselouis:忘记说 我算完向量 有做 正规化 Normalize 的动作 07/13 16:19
7F:推 NDark:平行光有方向 可视作无穷远的点 07/13 16:28
8F:推 NDark:然後要确定 错误是 光源位置 造成的(把NorMap关掉试) 07/13 16:38
9F:→ NDark:还是 Normal Map内部你有地方算错了. 07/13 16:39
10F:→ NDark:然後 D3DRS_TEXTUREFACTOR 这是在定义multi-text的混色 07/13 16:43
11F:→ pleaselouis:有试过将Normal Map关闭过 应该是其他因素的说... 07/13 18:17
12F:→ pleaselouis:谢谢你的建议 我再努力去找找看我的错误 07/13 18:19
13F:推 scottnien:你的normal map如果是tangent space的..那麽传进去的 07/14 03:35
14F:→ scottnien:光向量也应该是tangent space的. 07/14 03:36
15F:→ scottnien:因为每个端点的tangent space都不一样.所以每个点都要 07/14 03:39
16F:→ scottnien:计算..而不是像范例中只传进单一个向量.. 07/14 03:39
17F:→ pleaselouis:请问有网友有找到使用 Texture Stage State 实做 07/14 09:32
18F:→ pleaselouis:Normal Map 且有用到 Tangent space 的范例供参考吗?? 07/14 09:33
19F:→ pleaselouis:我个人找到使用 Texture Stage State 的范例 都不是针 07/14 09:34
20F:→ pleaselouis:对Mesh的每一个顶点做运算 让我很困扰 请大家帮帮忙 07/14 09:34
21F:→ pleaselouis:谢谢大家的帮忙 感谢大家 谢谢 <(_ _)> 07/14 09:35







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP