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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

OpenGL坐标系转化之投影坐标系

發布時間:2025/4/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenGL坐标系转化之投影坐标系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

坐標系轉換

OpenGL中物體建立在各自的局部坐標系【模型坐標系】中,然后經過平移旋轉變換到【世界坐標系】中,然后根據視角的位置和方向轉換到【視角坐標系】中,然后根據投影關系,是正交投影還是透視投影,轉換到【投影坐標系】中,再然后轉換到NDC(Normalized Device Coordinate)【標準設備坐標系】中,再然后轉換到【窗口坐標系】中。

(OpenGL實際處理的是【標準坐標系】中的坐標,也即x、y、z在[-1,1]之間的坐標 ,從【標準坐標系】到【窗口坐標系】之間的轉換由窗口處理程序自動進行轉換,參數設定用glviewport設定。 【視角坐標系】到【標準坐標系】之間一步變換到位,不進行分解。)

每一次坐標轉換其實就是一個矩陣乘法。之所以弄這么多中間坐標系,而不是一次將坐標系轉換到窗口坐標系中,也是為了方便用戶交互操作,將坐標轉換參數解耦。

在之前的一篇文章中(https://i-got-it.blog.csdn.net/article/details/108508526)已經詳細說了【世界坐標系】如何轉換到【視角坐標系】中。

從【視角坐標系】到【標準坐標系】的
具體的公式推導,見http://www.songho.ca/opengl/gl_projectionmatrix.html
如果被墻了,可以看我另存的一份:http://note.youdao.com/noteshare?id=85a0cc9ce201db0851630892b6311665&sub=F155FD63E67F44CF8A09226629F32D6D

正交投影

透視投影


注意【視角坐標系】是右手坐標系,【標準坐標系】卻是左手坐標系。【標準坐標系】中的z坐標會在OpenGL中的深度測試中用到。注意【標準坐標系】與【視角坐標系】中的z坐標之間的非線性關系:在近裁剪面精度高,在原裁剪面精度低。其實這也符合模型渲染需要,距我們更近的物體前后關系相對準確一些,更加符合實際。

總結

以上是生活随笔為你收集整理的OpenGL坐标系转化之投影坐标系的全部內容,希望文章能夠幫你解決所遇到的問題。

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