[問題] OPENGL 清除指定對象

看板C_and_CPP (C/C++)作者 (麵T)時間12年前 (2013/09/16 00:11), 編輯推噓1(105)
留言6則, 4人參與, 最新討論串1/1
glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glEnable(GL_BLEND); glBlendFunc(GL_ONE, GL_ONE); glLoadIdentity(); glColor3f( 0.2, 0.2, 0.6); glCallList( list_A ); glCallList( list_B ); 畫其他點、線、面 用glClear會把畫面全部清除,但若只想每次將list_B清除, 其他圖形保留,請問有相關的語法可以使用嗎? -- 我是麵T,哩賀 http://ppt.cc/-eS5 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.196.151 ※ 編輯: noodleT 來自: 140.117.196.151 (09/16 00:17)

09/16 01:35, , 1F
if(!clear) glCallList(list_B); 就不要畫他就好了?
09/16 01:35, 1F
?不懂 我目的是要畫一台車(list_B),車會隨時間移動, 但場景(list_A)要固定, 另外也要加入車子(list_B)的軌跡。 比較麻煩的是軌跡的部分,目前做法是: 用陣列儲存軌跡的座標,每次清空圖面後重畫一次軌跡,這做法感覺太不經濟了。 所以才會想問可不可以清除特定對象(list_B)就好, 剩下的場景、軌跡仍然留著,如此一來就不用另外紀錄軌跡了。 ※ 編輯: noodleT 來自: 140.117.196.151 (09/16 02:29)

09/16 03:03, , 2F
假設可以"擦掉"一個物體好了,擦掉後露白的部份要畫什麼上去
09/16 03:03, 2F

09/16 03:04, , 3F
你還不是得把全部的物件都畫一次,不然怎麼知道露出來的是啥
09/16 03:04, 3F

09/16 08:51, , 4F
有啦 ... 搞 pre-render 那招,不動的東西畫好連 depth 存
09/16 08:51, 4F

09/16 08:52, , 5F
起來放著,之後只要先貼圖再畫 list_B 這樣
09/16 08:52, 5F

09/17 09:46, , 6F
B大可以再說詳細一點嗎?
09/17 09:46, 6F
文章代碼(AID): #1IDTmSvg (C_and_CPP)
文章代碼(AID): #1IDTmSvg (C_and_CPP)