0
我加載使用PNG一個OpenGL紋理:創建阿爾法使用NSBitmapImageRep
theImage = [NSBitmapImageRep imageRepWithContentsOfFile:imagePath];
從中我可以成功地創建一個GL質地和正確渲染,沒有任何透明度。然而,當我切換混合使用:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
紋理與正確的透明背景呈現,但是圖像的顏色不正確。
我曾嘗試幾個選項在混合函數,GL_SRC_ALPHA
,GL_ONE_MINUS_SRC_ALPHA
,GL_ONE
,GL_DST_ALPHA
等
我被教也許我需要在圖像數據重新排序位,也許渠道已經混了,但在這種情況下,如果混合處於關閉狀態,我不會期望它能夠正確顯示。
另外,我可以使用libPNG我猜,但我想嘗試使用NSBitmapImageRep
,如果有可能的話。
指甲,頭,打,,, 我交融FUNC是錯了,但是這固定了它。 謝謝 –
@ BROK3N S0UL:不要忘記接受。 – datenwolf