2010-04-17 82 views
5

我想知道是反轉幀緩衝區中的彩色像素的最佳方法是。我知道這可能與glReadPixels()glDrawPixels()有關,但這些調用的性能打擊非常大。opengl反向幀緩衝像素

基本上,我想要做的是有一個倒置的彩色十字準線,無論背後它總是可見的。例如,我會有一個任意的alpha遮罩位圖或紋理,在繪製場景後渲染而不進行深度測試,並且紋理的遮罩(全alpha)像素下的所有幀緩衝像素都會被反轉。

我一直在嘗試用紋理來做到這一點,但我得到了一些奇怪的結果,還有我仍然覺得困惑的所有混合選項。

回答

7

給像this一試:

glEnable(GL_COLOR_LOGIC_OP); 
glLogicOp(GL_XOR); 
// render geometry 
glDisable(GL_COLOR_LOGIC_OP); 
+0

這是做它的正常方式。 – DJClayworth 2010-12-01 20:48:53

2

怎麼樣:

glEnable (GL_BLEND); 
glBlend (GL_ONE_MINUS_DST_COLOR, GL_ZERO); 
+0

glBlend應該是glBlendFunc,不是? – 2012-08-26 12:31:47

相關問題