簡體   English   中英

從任意角度進行3D拾取

[英]3d picking from arbitrary viewpoint

我創建了一個3d場景,其中包含許多不同顏色和材料的管道(閥門,人孔)。 現在,我想使用鼠標來選擇它們並獲取它們的屬性(顏色,材料)。 我嘗試使用OpenGL API提供的方法glupushmatrix,它在視點幾乎位於管道正前方時有效。但是,從不同的視點(例如,從(0,1,1)到(0, 0,0),則無法執行。 而且,在glupushmatrix之前,我沒有找到glulookat函數的任何投影設置。 我還嘗試通過數學使用基於光線跟蹤的拾取,但是我發現使用蠻力很難對每個管道進行相交測試。

OpenGL提供了一種特殊的渲染模式( GL_SELECT )以幫助實現拾取。

要實現它,您必須:

  • 命名您的可選原語
  • 使用GL_SELECT模式添加渲染通道。

編輯了鏈接:

遵循本教程...

暫無
暫無

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

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