我已經看過MSDN上關於這兩個功能的文檔。但是,我並不完全瞭解這兩種功能之間的區別,除了爲3D設置相機視圖外,另一個功能是爲2D設置相機視圖。如果能夠得到回答將會很好。預先感謝您的意見。gluPerspective與gluOrtho2D
2
A
回答
5
正投影基本上是一個沒有透視的3D投影。從本質上講,它意味着給定的位置不會離觀看者更遠的投影中心。透視顯然是相反的。由於在投影之後用w除以這個事實,意味着具有較大W的值(離世界術語的投影中心更遠的一個值)將「出現」更靠近投影后w中心的中心。正是這種透視投影和w分割給了我們3D圖形的深度感。
如果您記得早期的數學課程中繪製立方體,您會記得如果您將構成立方體末端的2個正方形繪製爲相同大小,則立方體的後端看起來會更大。這是一個正交投影。它看起來很奇怪,因爲我們的眼睛習慣於用透視來看事物。
如果你縮小第二個方格,那麼你可以得到透視圖,從而獲得透視投影。
維基百科有一些很好的圖像,展示了它們之間的差異以及一個很好的解釋。
Parallel (or Othographic) projection
Perspective (or 3D) projection
a decent explanation of perspective in general
相關問題
- 1. 未定義參考`gluOrtho2D」
- 2. SFML - gluPerspective函數未找到
- 3. OpenGL多視口和gluPerspective()
- 4. 在OpenGL中使用gluPerspective
- 5. Qt錯誤:未定義引用'gluOrtho2D'
- 6. OpenGL ES:glOrtho()顯示對象,但gluPerspective()不是
- 7. 如何在jogl中使用gluPerspective()?
- 8. gluPerspective和gluLookAt的奇怪行爲
- 9. gluPerspective和glOrtho都沒有任何效果
- 10. 關於重塑功能和gluperspective功能
- 11. 如何僅使用gluPerspective一次?
- 12. 使用gluortho2d但繪圖功能不使用新的座標
- 13. 如何在Qt應用程序中替換'gluOrtho2d'
- 14. gluortho2d和glViewport的實際區別是什麼
- 15. 如何初始化gluPerspective OpenGL投影類型?
- 16. 如何增加openGL停止繪製對象的距離(zfar/gluPerspective)?
- 17. gluPerspective沒有看到我畫的所有物體
- 18. 使用OpenGL,我怎樣才能在默認投影中正確使用gluOrtho2D?
- 19. 愚蠢的問題。如何在使用gluPerspective時讓我的物體不變形?
- 20. 如何爲邊界球體的給定半徑設置gluPerspective()的zNear和zFar值?
- 21. 如何使用gluOrtho2D(像素空間)在Mac OSX(Snow Leopard)上啓動OpenGL上下文
- 22. 如何在不使用gluPerspective和glOrtho的情況下在OpenGL中創建不同的投影?
- 23. 在3D OpenGL世界中創建2D界面的問題
- 24. 如何找到投影矩陣相當於一個正交矩陣,但不在xy平面時給出透視圖?
- 25. OpenGL:isampler2DArray與sampler2DArray與sampler3DArray
- 26. PdfpTable與表(與SimpleTable?)
- 27. InsertionSort與InsertionSort與BinaryInsertionSort
- 28. MySQL與PostgreSQL與SSRS
- 29. SortedList與SortedDictionary與Sort()
- 30. JFileChooser與JDialog與FileDialog
還有glOrtho,其用於在3D設置正投影。正交投影經常在3D和2D中使用,特別是對於非遊戲應用(許多CAD/Modeling/etc程序默認爲ortho)。 – 2009-09-09 18:55:11