日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

顶点着色器-经过的空间变换

發布時間:2023/12/29 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 顶点着色器-经过的空间变换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

頂點著色器:

基本功能:就是把模型的頂點坐標從模型空間轉換到齊次剪裁空間中。渲染過程可以理解成把一個一個頂點記過層層處理最終轉化到屏幕上的過程。

模型空間(Model Space):

模型空間也叫作 Object Space和Local Space(局部坐標),也就是模型在移動旋轉的時候,模型空間也會跟著移動旋轉。

世界空間(World Space):

Unity中,世界空間使用的是左手坐標系,如果一個模型沒有父節點,Transform屬性就是模型在世界空間中的位置

頂點變換-模型變換(Model Transform):

頂點變換的第一步就是將頂點坐標從模型空間變換到世界空間中,這個變換也叫作模型變換(Model Transform)
比如求一個模型的手指在世界空間中的位置(已知模型中心在世界空間中位置,手指在模型空間中位置,通過矩陣可以求出手指在世界空間中位置),可以通過矩陣變換 P(world) = M(modsl)P(modsl)

觀察坐標(View Space)

觀察空間也叫作攝像機空間(Camera Space)。觀察空間可以認為是模型空間的一個特例-在所有模型中有一個特殊的模型即攝像機為中心的空間

剪裁空間(Clip Space)(投影矩陣-projection matrix)

通過視錐體進行剪裁,視錐體設計兩種投影類型-一種是正交投影(orthographic projection),一種是透視投影(perspective projection),透視投影是一個金字塔形,正交投影是一個長方體。

屏幕空間(Screen Space)

觀察空間(三維)到屏幕空間(二維)的轉換要經過投影操作(projection),進過投影變換后,我們可以進行剪裁操作,當完成所有的剪裁操作之后,就把視錐體投影到屏幕空間中。進過這個變換我們得到真正的像素位置。而不是虛擬的三維坐標。
在Unity中,從剪裁空間到屏幕空間的轉換是由Unity幫我們完成的,我們的頂點著色器只需要把頂點轉換到剪裁空間中,然后unity自動轉換到屏幕空間。

總結:模型到屏幕經過的轉換如下

  • 模型空間–>世界空間–>觀察空間–>剪裁空間–>屏幕空間
  • 其中:模型空間–>世界空間–>觀察空間–>剪裁空間 分別進過 MVP矩陣進行變換
  • 剪裁空間–>屏幕空間是由Unity自動完成的。
  • 除觀察坐標用的是右手坐標系,其他都用左手坐標系
  • 在頂點著色器中,通常串聯成一個矩陣,即MVP矩陣,用于將頂點從模型空間轉換到剪裁空間中。
    最后,在頂點著色器中,通常串聯成一個矩陣,即MVP矩陣,用于將頂點從模型空間轉換到剪裁空間中。

總結

以上是生活随笔為你收集整理的顶点着色器-经过的空间变换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。