2013-05-26 69 views
0

它是更多鈔票來畫靜態點雲開放-GL的Open GL繪製靜點

glBegin(GL_POINTS); 

for(float x = -1; x < 1; x += 0.1) 
{ 
    for(float y = -1; y < 1; y += 0.1) 
    { 
     for(float z = -1; z < 1; z += 0.1) 
     { 
      float d = 1-sqrt((x * x) + (y * y) + (z * z)); 
      glColor3f(d, d, d); 
      glVertex3f(x, y, z); 
     } 
    } 
} 

glEnd(); 

後來到例如圍繞這個雲旋轉?沒有再次繪製它?

回答

3

我累了這一點,但在這裏它又來了:

OpenGL是不是一個場景圖! OpenGL不保持場景。這是一個繪圖API,它爲您提供繪製工具以在畫布上繪製。它繪製點,線和三角形,並且一旦繪製了一個圖元,OpenGL就不會回想起它。唯一剩下的就是幀緩衝區中顏色改變的像素。

舊的OpenGL(之前和包括OpenGL-2.1)有一個名爲「顯示列表」的設施,它允許記錄繪圖命令的「宏」類型。他們的表現有點像「場景」,但他們不是。它們只是一個繪圖命令列表。

所以,如果你改變了一些東西,而只是它的觀點,你必須重新繪製整個事情。

0

我發現了一個結構:

預先計算點將它們保存在一個數組中並呈現整個數組。

+2

那麼,你的意思是「沒有再次繪製它」的意思是找到一種方法來不*計算*每幀的點? – Grimmy