[問題] OpenGL優先顯示的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
OpenGL
問題(Question):
目前正在處理一個OpenGL的程式
這個程式已經有在螢幕上面畫了數個模型了
但是我現在有一系列的二維座標
希望能在視窗上面利用這些座標畫若干個多邊形
將原本顯示在視窗裡面的畫面蓋掉
請問有什麼方法可以做到呢?
我試著像這樣寫
glPushMatrix();
glLoadIdentity();
glBegin(GL_POLYGON);
glColor3f(1.0f,1.0f,1.0f);
for(int i=1;i<10;i++){
glVertex3f(x,y,0.0f);
}
glEnd();
glPopMatrix();
但是這樣也只能在z=0的平面上顯示「一片」多邊形
而不是用多邊形在畫面上將後面的東西都蓋住
想請問一下OpenGL有什麼辦法可以顯示並且覆蓋後面的內容呢?
在此先感謝各位的回答
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 68.99.86.102
推
10/09 15:56, , 1F
10/09 15:56, 1F
推
10/09 16:47, , 2F
10/09 16:47, 2F
推
10/09 23:56, , 3F
10/09 23:56, 3F
→
10/10 01:19, , 4F
10/10 01:19, 4F
我在display function的最後面加了下面的程式
glPushMatrix();
glLoadIdentity();
glClear(GL_DEPTH_BUFFER_BIT);
glBegin(GL_QUADS);
glColor3f(1.0f,0.0f,0.0f);
glVertex3f(-30,-30,0);
glVertex3f(30,-30,0);
glVertex3f(30,30,0);
glVertex3f(-30,30,0);
glEnd();
glPopMatrix();
這是預期的結果:http://ppt.cc/Uv3R
這是實際執行的結果:http://ppt.cc/MBH,
想請問一下為什麼會畫不出東西來呢?
已經有用glLoadIdentity()將旋轉和平移矩陣初始化了
而也有用glClear(GL_DEPTH_BUFFER_BIT)保持這個東西畫在最前面,不會被擋住
但是螢幕上卻什麼都沒有顯示出來
※ 編輯: hcl012 來自: 68.99.86.102 (10/10 01:30)
推
10/10 01:30, , 5F
10/10 01:30, 5F
推
10/10 03:00, , 6F
10/10 03:00, 6F
→
10/10 03:00, , 7F
10/10 03:00, 7F
→
10/10 03:02, , 8F
10/10 03:02, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章