所以我正在爲我的大學任務做一個簡單的opengl/SDL項目。紋理和背景混合一點
基本上是一個非常簡單的遊戲,角色在屏幕上移動。
我快完成了,但我遇到了一個問題。
所以,當我加載紋理等,他們混合在一起,「發光」通過對方。
下面是一個例子:
左 - 紅色背景顏色glClearColor(1.0F,0.0F,0.0F,0.0F); 中東 - 綠色的背景顏色
右鍵 - 黑色背景
正如你所看到的,背景的影響在它前面的紋理,我真的不喜歡。
黑色背景是好的(使我的紋理有點暗),我可以忍受它,但正如你所看到的,黑色背景下,我們可以看到vader背後的一些紋理。
這是他的肩膀上最引人注目的。而是保持紋理完全不透明並保持原有顏色。
要刪除Alpha通道,我使用
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
,但我覺得這並不是因爲它融合了所有的紋理在一起,很好地做到這一點的最好辦法。
有沒有辦法保持圖像完全不透明,同時保持alpha通道,所以周圍沒有東西?
你是什麼意思「刪除alpha通道」和「同時保持alpha通道」?目前還不清楚你想要做什麼。 – comingstorm
確保你背部的地形有1的阿爾法。 – dari
我的意思是我不希望它是透明的,只是100%不透明,但同時沒有任何圖像的區域(如他的腿之間)應該看到通過這樣我可以看到背景。 – Macko