我無法將我的OpenGL場景座標轉換爲我的屏幕座標。OpenGL場景座標到屏幕座標
我想我需要將我的座標乘以模型視圖矩陣,然後用投影矩陣來獲得ndc。但我得到奇怪的座標。
這裏是我的一段代碼
GLKVector3 coor = GLKVector3Make(point.x, point.y, 0);
GLKMatrix4 modelview = GLKMatrix4MakeWithArray(glProjectionMatrix);
GLKMatrix4 projetion = GLKMatrix4MakeWithArray(modelViewMatrix.data);
GLKVector3 eyeCoor = GLKMatrix4MultiplyVector3(modelview, coor);
GLKVector3 ndcCoor = GLKMatrix4MultiplyVector3(projetion,eyeCoor);
CGPoint p = CGPointMake(ndcCoor.x, ndcCoor.y);
任何想法?
隨着該我得到-inf,INF爲X,Y –
由ndcCoor.w它是一個零在此情況下然後取出分裂(單位立方體的邊界上的點爲無窮大,從而W = 0) –
之後,你的解決方案是確切的。我使用的矩陣不是正確的! –