2
我嘗試爲粒子磁盤的完整視圖設置好距離,並且同時有一個有效的線性比例表示磁盤比例的當前值作爲函數用鼠標放大。OpenGL - 在沒有glScalef的情況下設置好距離
場景具有以下參數:
w_width = 600;
w_height = 600;
g_nearPlane = 0.1f;
g_farPlane = 1000.0f;
我用下面的代碼樣品的3D場景的圖形初始化:
// Reset line scale value
lineScaleValue = 100.0f;
// Initialize View
glViewport(0, 0, w_width, w_height);
glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
glLoadIdentity(); // Reset The Projection Matrix
// Perspective with angle set to 45 degrees
gluPerspective(45.0f, (float) w_width/w_height, g_nearPlane, g_farPlane);
glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
glLoadIdentity(); // Reset The Modelview Matrixi
gluLookAt (0.0, 0.0, 3, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glScalef(0.03f, 0.03f, 0.03f);
上述數值爲gluLookAt
和glScalef
已經選擇近似即手動無需精確計算。
我想只有磁盤(白色顆粒)的完整視圖。爲此,我知道磁盤的(x,y)平面的最大值和最小值: -25 < x <25
和-22 < y < 22
。
從此信息set z good distance,我可以做(用Fov的/ 2 = 45度):
z_distance = 25*tan(pi/4) + dist = 50
與dist = 25
是在盤的前面。
所以我可以在我的示例代碼(而不是
gluLookAt (0.0, 0.0, 3, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glScalef(0.03f, 0.03f, 0.03f);
)直接做:
gluLookAt (0.0, 0.0, 50, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
?
感謝
什麼是磁盤的確切尺寸,以及您在哪個世界空間位置上繪製它? – derhass
圓盤的確切尺寸是-25
youpilat13