OpenGL 3D 选择
生活随笔
收集整理的這篇文章主要介紹了
OpenGL 3D 选择
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OpenGL 3D 選擇
- OpenGL 3D 選擇簡介
- 源代碼剖析
- 主要源代碼
OpenGL 3D 選擇簡介
能夠將窗口中的鼠標單擊映射到 3D 場景與一個基元(讓它成為三角形),該基元幸運地投影到鼠標單擊所在的同一點,稱為3D 選擇。當應用程序需要將自定義鼠標單擊(本質上來自 2D)顯示到場景中對象的本地/世界空間中的任何內容時,這非常有用。例如,您可以使用它為將來的操作(刪除等)選擇對象或其一部分。在本課的演示中,我們將渲染一組對象,并顯示如何將"選定"三角形標記為紅色,以突出顯示它。
為了實現 3D 選擇,我們將利用陰影貼圖 (#23) 課程中介紹的 OpenGL 功能 – 幀緩沖對象 (FBO)。以前,我們只對深度緩沖區使用 FBO,因為我們只對比較不同位置的像素深度感興趣。對于 3D 選擇,我們將使用深度緩沖區和顏色緩沖區來存儲繪制的三角形的索引。
3D選擇的秘密很簡單。我們將索引綁定到每個三角形,并從 FS 獲取像素所在的三角形的索引。最終,我們將得到一個"顏色"緩沖區,其中內容不完全是顏色。對于要覆蓋的每個像素,我們將獲得該原始的索引。在窗口中單擊鼠標時,我們將向后讀取該索引(根據鼠標位置),并以紅色渲染所選三角形。通過在傳遞過程中使用深度緩沖區的組合,我們將確保當多個基元覆蓋相同的像素時?
總結
以上是生活随笔為你收集整理的OpenGL 3D 选择的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL天空游戏
- 下一篇: 华硕怎么bios设置网卡驱动 如何在华硕