簡體   English   中英

從窗口到opengl坐標系的直觀解釋

[英]From window to opengl coordinate system intuitive explanation

我試圖使用鼠標功能時理解從窗口坐標軸(左上角原點)到OpenGL坐標軸(左下角原點)的地圖。 在相關書籍中,此地圖由以下兩行描述:

points[count].x = (float) x / (w/2) - 1.0;
points[count].y = (float) (h-y) / (h/2) - 1.0;

我懷疑這兩行描述了一個比例。 您能對此地圖進行直觀的數學解釋嗎?

你指的是什么書? NDC空間中的原點是視口的中心( 0,0是中心; -1,-1是左下角; 1,1是右上角)。 其他任何坐標空間均由投影矩陣定義。

我相信這本書試圖教你的是NDC -1,-1是視口的左下角,而NDC 1,1是視口的右上角。

更完整的映射將包括視口的X和Y位置:

  • NDC X =(2.0 *(Screen X -Viewport X )/ Viewport W )-1.0;

  • NDC Y =(2.0 *(Screen Y -Viewport Y )/ Viewport H )-1.0;

該映射如下所示(右側的正方形是視口):

http://upload.wikimedia.org/wikipedia/commons/2/23/Viewport_transformation.png

當然,您還需要執行另一步驟,因為Y軸在鼠標坐標系中的方向相反。 這就是為什么你看到的Y軸在映射翻轉hy

暫無
暫無

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

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