我想用使用OpenGLES的白色背景上的紋理畫筆,以我選擇的顏色進行繪製。如何在白色背景上打開Open GL ES中的彩色紋理畫筆?
我有一個位圖圖像,我使用CG加載並轉換爲紋理。該位圖大部分是黑色的,但在我想用作「畫筆」的中心有一個白色圓圈。換句話說,我希望黑色部分在最終合成中消失,但白色部分採用我使用glColor設置的顏色。
設置一些不透明的明亮顏色是灰色(不是純白色背景)上的褪色線後,我可以得到的最好是混合參數(GL_SRC_ALPHA,GL_ONE)。但是當我將背景設置爲純白色時,線條不可見。
至少在當前情況下,原始紋理的黑邊不會出現。我嘗試的大多數其他混合組合導致即使在灰色中也沒有顯示出來,或者看到包括黑色邊緣在內的整個畫筆,這是不好的。
是否有人願意向我解釋我應該如何設置我的紋理和/或GL狀態,使純白色的亮色顯示,而不顯示黑色紋理邊緣?這可能是一個新手問題,但我已經嘗試通過混合數學來解決問題,但我仍然不明白顏色是如何被一起考慮的。
下面是我使用作爲刷圖像:
alt text http://www.coldcoffeeandjuice.com/OpaqueBrush.png
這裏的一些得到的輸出,當背景爲灰色,並且glColor4f被設置爲(1,0,0,1) ,例如純紅色,並且刷子被用於一串連續的GL_POINT。請注意,這樣做的好處是隻有畫筆圖像的白色部分顯示紅色 - 這是正確的。壞的部分是由於與背景(?)和/或畫筆的白色(?)混合在一起,所以我想要變得純淨和明亮的紅色變得蒼白,以便當背景是純白色時完全洗掉。這使用上面給出的混合參數(src_alpha,one)。
alt text http://www.coldcoffeeandjuice.com/palered.png
這裏就是我想看到的,考慮到純紅色(感謝畫筆):
alt text http://www.coldcoffeeandjuice.com/brightred.png
誰能幫我明白我做錯了嗎?
謝謝!
你能發佈一些圖片展示你期望看到什麼以及你真正看到了什麼? – Justicle 2009-09-21 01:04:35
完成。如果我在這裏錯過任何重要信息,請告訴我。我是一名優秀的程序員,但在圖形數學和總理狀態方面有一席之地。 – 2009-09-21 01:30:53
嗨本,我也在尋找這個解決方案,但我不能使用示例應用程序「GLPaint」得到正確的結果。你可以分享你設置OpenGL環境的代碼部分嗎? – strange99 2009-09-30 11:34:01