opengl為每乙個物體新增完整的邊框

2021-08-17 11:18:15 字數 878 閱讀 6331

簡述:通過控制深度測試,及模板緩衝的清除。當開啟邊框繪製後,可繪製完整物體邊框或物體連線的整體邊框。

問題:輪廓物體繪製後,如果再次繪製物體需要另外處理。

**流程:

//先進行模板緩衝測試,在進行深度測試

glenable(gl_depth_test); //深度測試

glenable(gl_stencil_test);

glstencilop(gl_keep, gl_keep, gl_replace);

glstencilmask(0x00); // 保證繪製其他物品的時候不會更新模板緩衝

//---繪製其他物品-----//

drawother();

//--繪製輪廓物品--//

is_border = true; //開啟邊框繪製

is_all_connect_border = false; //是否連線所有邊框

if (is_border)

gldrawarrays(gl_********s, 0, 36);

//-------end

glstencilmask(0xff);

glenable(gl_depth_test);

if (!is_all_connect_border)

glclear(gl_stencil_buffer_bit);//清除模板緩衝

}else

gldrawarrays(gl_********s, 0, 36);

shader.use();

//----------end-----------//

寫給每乙個自己

寫給每乙個自己 韓寒 最近三個月,看世間百態,人情冷暖,失落與收穫都頗多。失落在我出生是純正的上海郊區農村屌絲,無權無勢,白手起家,本以為自己是乙個很勵志的 屌絲的逆襲 的故事,卻硬要被說成乙個經過多方神秘勢力包裝的驚天大陰謀 失落在北京有乙個幾面之交的 名流友人 莫名編造了乙個內幕,四處傳播,讓我...

iOS 在每乙個cell上新增乙個定時器的方案

1 首先建立乙個陣列,用來建立所有的定時器的時間 nsmutablearray totallasttime return totallasttime 2 當從網路請求過來時間之後,迴圈遍歷,行數和時間作為key,將值作為value放進字典中放進陣列 所有剩餘的時間 lasttime for int ...

dfs遍歷每乙個節點

搜尋真的是乙個很好用的演算法,但是一直都是很弱,寫的也是很弱。在乙個吝嗇的國度裡有n個城市,這n個城市間只有n 1條路把這個n個城市連線起來。現在,tom在第s號城市,他有張該國地圖,他想知道如果自己要去參觀第t號城市,必須經過的前乙個城市是幾號城市 假設你不走重複的路 include includ...