最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

MME編寫入門(二)MVP矩陣、頂點坐標變換(可選)

2023-03-05 14:49 作者:小林囈  | 我要投稿

關(guān)于矩陣的學(xué)習,涉及到線性代數(shù),所以可能會難一些。不過我覺得有看不懂的地方也沒關(guān)系,等后續(xù)的學(xué)習跟進,也許之前的問題就自然而然地化解了。某種意義上來說,會調(diào)用就行了。所以這篇當作可選的。


幾何圖形管線的第一個階段會將模型的頂點從其本地坐標系轉(zhuǎn)換到由場景中的所有對象使用的坐標系。 重新定位頂點的過程稱為世界轉(zhuǎn)換。 這種新方向通常稱為世界空間,世界空間中的每個頂點都使用世界坐標聲明。

在下一個階段,相對于相機確定描述你的 3D 世界的頂點的方向。 也就是說,應(yīng)用程序為場景選擇一個視點,世界空間坐標將重新定位并旋轉(zhuǎn)在相機視圖周圍,將世界空間轉(zhuǎn)換為相機空間。 這是視圖轉(zhuǎn)換。

下一階段是投影轉(zhuǎn)換。 在管道的這一部分,對象通常與觀眾的距離進行縮放,以便為場景提供深度的錯覺:關(guān)閉對象顯示為大于遙遠的對象,依此類之。 為簡單起見,將投影轉(zhuǎn)換后頂點所在的空間稱為投影空間。 (在一些圖形書籍中,可能會將投影空間稱為后透視齊性空間。) 并非所有投影轉(zhuǎn)換都會按比例縮放場景中對象的大小。 此類投影有時稱為仿射或正交投影

在管線的最后一個部分中,將刪除屏幕上所有不可見的頂點,這樣一來,光柵器便無需花時間計算不可見項的顏色和著色。 此過程稱為剪裁。 在剪裁后,剩余頂點將根據(jù)視口參數(shù)進行縮放并轉(zhuǎn)換為屏幕坐標。 生成的頂點(光柵化場景時可在屏幕上看到)存在于屏幕空間中。

轉(zhuǎn)換用于將對象幾何圖形從一個坐標空間轉(zhuǎn)換到另一個坐標空間。

MVP矩陣分別是模型(Model),觀察(View),投影(Projection)三個矩陣。我們的頂點坐標起始于局部空間(Local Space),在這里它稱為局部坐標(Local Coordinate),它在之后會變?yōu)槭澜缱鴺耍╓orld Coordinate),觀察坐標(View Coordinate),裁剪坐標(Clip Coordinate),并最后以屏幕坐標(Screen Coordinate)的形式結(jié)束。

  • M矩陣 模型空間 → 世界空間的轉(zhuǎn)換矩陣

模型空間是以自身中心為原點的空間坐標系。

世界空間是以世界中心為原點的空間坐標系。

在不同的建模軟件或者游戲引擎中使用的坐標系是不一樣的。MMD是右手坐標系。


圖片來源:https://zhuanlan.zhihu.com/p/448782117


  • V矩陣 世界空間 → 視覺空間的轉(zhuǎn)換矩陣

視覺空間是以攝像機中心為原點的空間坐標系。

  • P矩陣 視覺空間 → 裁剪空間

判斷頂點是否在可見范圍內(nèi),若在可見范圍內(nèi)即渲染出來,若不在范圍內(nèi)則將該頂點剔除掉。

  • 在MME中給出六種頂點坐標變換矩陣

頂點坐標變換使用的矩陣。坐標變換分為世界坐標系變換、 視圖變換和投影 變換。使用以下 6個語義將可以直接獲得對應(yīng)的變換矩陣 (類型是 float4x4)?

  • WORLD:世界坐標系變換矩陣

  • VIEW 視圖變換矩陣

  • PROJECTION 投影變換矩陣

  • WORLDVIEW 世界坐標系變換矩陣乘視圖變換矩陣

  • VIEWPROJECTION 視圖變換矩陣乘投影變換矩陣

  • WORLDVIEWPROJECTION 世界坐標系變換矩陣乘視圖變換矩陣乘投影變換矩陣

你可以在各個語義的末尾加上"INVERSE"來得到逆矩陣,如"WORLDINVERSE";你可以在各個語義的末尾加上"TRANSPOSE"來得到轉(zhuǎn)置矩陣,如 "WORLDTRANSPOSE";你可以在各個語義的末尾加上"INVERSETRANSPOSE"來得到轉(zhuǎn)置矩陣的逆矩陣。

(一寸長一寸強,WORLDVIEWPROJECTION簡稱MVP,將會是最常用的一個矩陣。)

(整理至此,我翻閱了很多博客文章。教程可能算不上,個人筆記吧。我是使用FlowUs寫的,有些部分不是很必要,我選擇性地刪了刪,把鏈接附在文下,上傳到b站專欄。FlowUs可以導(dǎo)出PDF版,等基本寫完了打包成PDF包,或許會更好。)

(管線的編寫本身并不難,但需要一定的理論去支撐,可能難就難在這些數(shù)學(xué)的理論上了。)

  • 拓展閱讀

  • GAMES101-現(xiàn)代計算機圖形學(xué)入門-閆令琪 Lecture 03-04 Transformation

https://www.bilibili.com/video/BV1X7411F744

  • 矩陣乘法是不滿足乘法交換律的。

一個三維場景中的各個模型一般需要各自建模,再通過坐標變換放到一個統(tǒng)一的世界空間的指定位置上。 這個過程在 3D 圖形學(xué)中稱作“世界變換” 。 世界變換有三種,平移、旋轉(zhuǎn)和縮放 。 這三種變換按各種順序執(zhí)行,結(jié)果是不同的。 實際的應(yīng)用中一般按照 縮放 -> 旋轉(zhuǎn) -> 平移的順序進行。 這樣做的原因是可以獲得最符合常理的變換結(jié)果。

https://blog.csdn.net/zsq306650083/article/details/50561857

  • KarlvonDonitz:為啥圖形學(xué)需要4x4的矩陣來表示三維的變換?

https://www.bilibili.com/read/cv200169

3×3的矩陣無法解決平移的問題,4×4的矩陣可以解決,使用后可以建立簡潔、統(tǒng)一的運算操作來處理所有變換。

  • 詳細變化參考《Real-Time Rendering 4th Edition》全文翻譯 - 第4章 變換4.1-4.7

https://westriverlin.blog.csdn.net/article/details/105381222

  • 轉(zhuǎn)換 (Direct3D 9)

https://learn.microsoft.com/zh-cn/windows/win32/direct3d9/transforms

  • 線性代數(shù)的本質(zhì)

https://www.bilibili.com/video/BV1ys411472E

MME編寫入門(二)MVP矩陣、頂點坐標變換(可選)的評論 (共 條)

分享到微博請遵守國家法律
平罗县| 武城县| 灌阳县| 迭部县| 霍邱县| 莱西市| 正阳县| 桦南县| 濉溪县| 五莲县| 唐海县| 奉化市| 乐业县| 鹿邑县| 漳州市| 荃湾区| 大理市| 漳州市| 淮北市| 大竹县| 南溪县| 黄骅市| 菏泽市| 蓝田县| 中方县| 澎湖县| 吴江市| 千阳县| 青海省| 光山县| 新源县| 尼玛县| 堆龙德庆县| 永嘉县| 青海省| 灯塔市| 阜宁县| 通许县| 信丰县| 揭西县| 广宗县|