簡體   English   中英

坐標系[-1,1]

[英]Coordinate System [-1, 1]

我對OpenGL坐標系的工作方式感到困惑。 我知道您從對象坐標開始-一切都在其自己的系統中定義。 然后,通過應用矩陣,坐標變為世界坐標。 通過應用另一個矩陣,您可以獲得視圖坐標。 然后,如果您使用的是3D模式,則可以應用透視矩陣。 最后,您剩下一組可能不是[-1,1]的坐標。 OpenGL如何知道如何從[-1,1]對它們進行規范化? 它怎么知道該如何裁剪? 在着色器中,只是為glPosition提供了坐標,它不知道已經進行了多次轉換。 我知道標准化坐標矩陣的視圖涉及平移和比例,但是我們從來沒有在OpenGL中顯式地為其創建矩陣。 OpenGL是否使用自己的隱藏矩陣將傳遞給glPostion的坐標轉換為歸一化坐標?

不推薦使用的固定函數頂點轉換在https://www.opengl.org/wiki/Vertex_Transformation中進行了說明

基於着色器的渲染可能在每個轉換步驟中使用相同或非常相似的數學運算。 glPosition和設備坐標之間缺少的步驟是透視划分(就像LJ快速注釋一樣),其中xyzw坐標轉換為xyz坐標。 xyzw坐標是3維坐標的齊次坐標,它使用4個分量表示位置。

https://en.wikipedia.org/wiki/Homogeneous_coordinates

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM