mouse-picking

    0熱度

    1回答

    對於3D採摘我打算這樣做: - 獲得觸摸座標(X,Y) - 選擇頂點,從我的模型的頂點緩衝(XM,YM,ZM) 。屏幕COORDS - 然後通過項目我自己動手(XM,YM,ZM) (XM,YM,ZM)--->(XP,YP,...) 然後檢查匹配(例如SQRT((X - XP)^ 2 +(Y - YP)^ 2)< SOME_EPS) 對於突出我在保存截錐矩陣mProjectionMatrix: gl

    0熱度

    1回答

    我只是想獲得鼠標在飛機上的座標,但鼠標事件不會觸發。 我也有一個star3實例在away3頂部,我得到了this tutorial,我相信那裏有問題。 這裏是我的代碼: public class Main extends Sprite { private var view3D:View3D; private var stage3DManager:Stage3DManager

    2熱度

    1回答

    我想寫一個着色器程序,它將呈現不同顏色的網格的三角形(所以我可以選擇一個三角形)。我嘗試使用gl_PrimitiveID,但它總是返回0,例如: #version 330 out uvec3 FragColor; void main() { FragColor = uvec3(0.0, 0.0, gl_PrimitiveID); } 此着色器總是呈現黑色。

    1熱度

    1回答

    我目前正在研究一個可以拾取項目的腳本,並通過單擊鼠標左鍵來放置它。我也計劃添加旋轉項目和一些圖標來顯示每當我做這些行動之一。 我目前對這個很新,所以我可能會在深度上自嘲。但我想嘗試。 這裏是我的代碼: public class PickUp : MonoBehaviour { public Transform onHand; // Use this for initialization

    0熱度

    1回答

    我明白如何unproject的基本概念: let mut z = 0.0; gl::ReadPixels(x as i32, y as i32, 1, 1, gl::DEPTH_COMPONENT, gl::FLOAT, &z); // window position to screen position let screen_position = self.to_screen_posit

    0熱度

    1回答

    我正在繪製深度爲0的10x10方格網格,並試圖突出顯示鼠標結束的方格。我試過在這裏教程:http://antongerdelan.net/opengl/raycasting.html 但我不知道我是否做得對。最後我最終得到了一個向量,但我不知道該怎麼做。 下面是正方形的屏幕截圖(不知道它是如何幫助..) http://postimg.org/image/dau330qwt/2 /* Enable

    2熱度

    1回答

    我想從屏幕空間變換採摘射線座標視圖空間,爲採摘目的,在DirectX 11 下面是部分(從「入門3D遊戲編程與DirectX 11 「由弗蘭克D盧納)解釋這種轉變。 我不明白紅色的部分:就我所知,我們將頂點乘以投影矩陣,以將它們從視圖空間轉換爲均勻的剪輯空間。然後硬件進行視角劃分,轉化爲NDC空間。那麼我們如何才能通過將x座標乘以縱橫比r? 通常使用XMVector3Unproject()來實現這

    2熱度

    1回答

    我有很多簡單物體的3d場景(可能數量很多),所以我認爲使用光線追蹤來通過鼠標拾取物體並不是一個好主意。 我想要做這樣的事情: 渲染所有這些對象爲一些OpenGL的屏幕外的緩衝區,使用指針當前對象,而不是他的顏色 呈現相同場景到屏幕上,使用真實顏色 當用戶用(x,y)屏幕座標選取一個點時,我從屏幕外緩衝區(從相應位置)獲取該值,並有一個指向對象的指針 這可能嗎?如果是 - 我可以選擇「使用指針繪製」

    0熱度

    1回答

    我想補充的對象選擇這個代碼: var Three = new function() { this.scene = new THREE.Scene() this.camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, 1, 1000) this.camera.posi

    0熱度

    1回答

    我想在opengl中做選擇,但它不工作。 我畫了從.obj文件(v,vn,f,o和這樣的索引)收到的對象。每個對象由「組」組成,每個組都是一組GL_POLYGON。 這裏是繪製函數: void draw(GLenum mode) { glBegin(GL_LINES); glColor3f(1, 0, 0); glVertex3f(0.0, 0.0, 0.0);