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

頂點法線

系統 1943 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條評論
主站蜘蛛池模板: 99久久精品费精品国产 | 伊在人香蕉99久久 | 国产日产欧美一区二区三区 | 在线色片 | 天天天做天天天天爱天天想 | 亚洲va中文字幕欧美不卡 | 欧美国产日韩在线播放 | 国内精品久久久久影院一蜜桃 | 欧美一a一片一级一片 | 国产精品久久香蕉免费播放 | 国产一区二区免费福利片 | 伊人精品视频 | 91精品国产亚一区二区三区 | 成人午夜性a一级毛片美女 成人午夜性视频欧美成人 成人午夜亚洲影视在线观看 | 四虎影院网站 | 国内特级毛片 | 国产精品一国产精品免费 | 国产精品亚洲午夜不卡 | 色网址在线| 成人网久久 | 奇米影音 | 手机看片福利日韩欧美看片 | 成人黄色网址 | 中文字幕一区二区三区亚洲精品 | 午夜禁片 | 免费国产阿v视频在线观看 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 久久伊人色综合 | 四虎影视免费观看免费观看 | 色综合久久综合网 | 四虎成人免费网址在线 | 12至16末成年毛片 | 欧美成免费 | 精品国产日韩亚洲一区二区 | 久久影院在线观看 | 国产短视频精品区第一页 | 日本久久网站 | 久久影院在线 | 亚洲人成自拍网站在线观看忄 | 俄罗斯一级在线播放 | 不卡在线视频 | 成人淫片|