0
如何與[的UIColor clearColor]在OpenGL ES 1.1畫畫嗎?我想創建橡皮擦工具...的OpenGL ES 1.1繪圖clearColor
如何與[的UIColor clearColor]在OpenGL ES 1.1畫畫嗎?我想創建橡皮擦工具...的OpenGL ES 1.1繪圖clearColor
您可以創建一個模板圖像。有很多方法可以做到這一點,這裏是我工作:
我創建了一個有一個黑色圓圈,其餘全部是透明的圖像。我從這個圖像創建紋理,並繪製成一個簡單的紋理平方米,但使用這種混合FUNC:
glBlendFunc(GL_ZERO, GL_ONE_MINUS_SRC_ALPHA);
不要忘記,以使混合和繪圖調用完成後恢復您的混合FUNC(或禁用混合如果你不在其他地方使用)
謝謝!如果我有一個透明的背景,這將是工作? –
請注意,如果您只是使用二進制透明度(0或1),那麼使用** glAlphaFunc **可能比** glBlendFunc **效果好得多。使用混合意味着要將源和目標顏色組合在一起,因此必須在可以繪製像素之前對幀緩衝區進行採樣。使用alpha測試告訴它只丟棄一個像素,而不是從framebuffer中採樣一個像素並重新繪製它。兩者都有相同的結果,但在GPU上進行alpha測試更容易。 – Tim
TIM:但是如果您認爲渲染緩衝區已滿,alpha func是否可以清除渲染緩衝區的一部分? miksayer:你實際上沒有告訴我們你的情況是什麼,你想做什麼。在我給你的解決方案中,考慮你在女巫身上有一個綠色的UIView,其中有一個openGL子視圖,它填充了任何形狀和顏色。通過應用此方法,您可以在繪製遮罩紋理的位置選擇綠色形狀。 –