亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

頂點法線

系統 1727 0

原文地址: http://www.bennychen.cn/2009/07/%E9%A1%B6%E7%82%B9%E6%B3%95%E7%BA%BF/

本來以為前一段時間寫的3d max導出插件已經沒有什么大的問題了,但有沒有問題,完善不完善,真不是憑感覺就OK的,必須有足夠廣泛的測試用例測試后,才能夠證明。

這不,最近開始研究并寫一些光線跟蹤的例子了,這當然離不開模型的法線,于是在進行當中我就發現,我的導出插件所導出的法線是不完善的。

在原來的插件中,我讓頂點的法線就直接等于其所在的三角形面的 面法線 (多個面共享1個頂點,則會導出多個頂點,這些頂點位置相同法線不同),但對于光照模型,面法線只能支持到Lambert,為了支持Gouraud, Phong等其他模型,則必須使用 頂點法線 (為什么?稍后解釋)。

這里提出了頂點法線和面法線,首先需要清楚的理解并區分這兩個概念。

面法線很容易理解,即垂直于三角形面的一條法線。那頂點法線又從何而來呢,嚴格的從法線的定義上來說,其實頂點是不存在法線的,那為何又有頂點法線這個概念的。讓頂點也擁有法線,是為了在光照計算時,能夠在多面體的表面獲得一種平滑的效果。

更具體的說,如果不使用頂點法線(就像我的3dmax導出插件原來就直接讓頂點法線等于其面法線一樣),一個三角形面的三個頂點的光照計算按照其所在面的面法線來計算,因為三個頂點的法線相同,則與光照方向求點積之后的結果也相同,這樣三個頂點將會獲得相同的光照效果,之后,光柵化再怎么插值,整個表面也都只是一種光禿禿的效果。(如圖1)

而如果使用頂點法線,同一個面的三個頂點的法線就不一定相同了,這樣通過光柵化后,就能在多面體的表面獲得一種平滑過渡的光照效果。(如圖2)

于是,弄清楚了這個后,我需要再次修改我的3dmax導出插件了,需要計算并生成新的頂點法線。那頂點法線該如何計算呢,對于這個我在這里就不詳述,Max Wagner的《Generating Vertex Normals》這篇文章說的很詳細清楚,從最簡單的到逐步優化的生成算法一一都有介紹,可以去google找一下。

而3dmax的SDK開發文檔里對頂點法線的計算也有介紹,3dmax提供了一個smoothing group的概念,這對于像立方體盒子這種表面并不是平滑過渡的模型,計算它們的法線將會帶來很大的幫助。Wagner的文章里也說了,對于像立方體這樣的模型,頂點法線不能簡單的等于(共享該頂點的面的)面法線的平均值,因為這些面之間的過渡并不平滑。按照3dmax的概念,這些面不屬于同一個smoothing group。何為smoothing group,這是3dmax根據表面之間的平滑過度情況,進行的分組。比如立方體,因為6個面之間兩兩都是相互不平滑的,所以一共會有6個smoothing group。每個面所屬的平滑組的ID,程序員是可以直接讀出的。

下面這兩張圖,是我在修改前和修改后的光照效果,對比很明顯。

圖1:基于面法線的光照

gouraud 圖2:基于頂點法線的光照


頂點法線


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 91视频一区二区 | 日韩美女va在线毛片免费知 | 美女国产在线 | 777kkk亚洲综合欧美色老头 | 亚洲综合一区二区精品久久 | 视频在线国产 | 中文字幕一区二区视频 | 激情综合网五月激情 | 欧美日韩中文在线视频 | 欧美亚洲第一区 | 天天操天天摸天天舔 | 伊人久久中文 | 日本99视频| 69福利网 | 国产在线精品香蕉麻豆 | 色中文在线 | 夜夜干天天操 | 久久精品国产清自在天天线 | 国产日韩视频 | 玖玖成人 | 四虎影视在线影院在线观看观看 | 国产精品第4页 | 国产99在线a视频 | 亚洲国产精品线观看不卡 | 99热久久国产精品免费看 | 国产精品亚洲精品日韩已满 | 嫩草成人国产精品 | 国产精品免费观看网站 | 在线一级视频 | 久久91精品久久91综合 | 亚洲 欧美 中文 日韩欧美 | 干一干操一操 | 日韩欧美亚洲国产一区二区三区 | 久久艹在线观看 | 91九色国产 | 久久精品国产精品亚洲精品 | 奇米影视9999 | 四虎影视网站 | 91精品国产美女福到在线不卡 | 中国jizz妇女jizz妇女 | 久操福利 |