glBlend(GL_ZERO, GL_ONE_MINUS_SRC_COLOR);
我可以使像素2倍較暗由α(0.5)
乘以但是應該怎麼做,如果我要減去彩色
例如red - 0.1
而不是
似乎着色器無法產生負面的顏色。 我不想渲染浮點紋理的渲染緩衝區。 太貴了。應用程序將運行緩慢。它不適用於所有大多數電話。
glBlend(GL_ZERO, GL_ONE_MINUS_SRC_COLOR);
我可以使像素2倍較暗由α(0.5)
乘以但是應該怎麼做,如果我要減去彩色
例如red - 0.1
而不是
似乎着色器無法產生負面的顏色。 我不想渲染浮點紋理的渲染緩衝區。 太貴了。應用程序將運行緩慢。它不適用於所有大多數電話。
我不能專門說,在OpenGL中沒有太多的東西,但仍然從我能提供的幫助中,我會做。
如果我理解正確,您需要一個在0到1之間的值(包括float-float)以從已經存在的顏色分量的值中減去。
爲此,請訪問此鏈接:http://www.andersriggelsen.dk/glblendfunc.php
它可以幫助你將生活在兩個圖像之間混合的檢查。
檢查混合功能:GL_FUNC_SUBTRACT
一個問題需要注意的是你不能使用GLUtils.texImage2D()在Android上加載阿爾法紋理。這是Google真正需要更好記錄的常見問題。問題在於Bitmap類將所有圖像轉換爲預倍數格式,但這不適用於OpenGL ES,除非圖像完全不透明。最好的解決方案是使用本機代碼。本文給出了更詳細的關於這一點:
我不會減。但我不明白Java/Android問題與我的OpenGL ES混合問題有何關係。如果我可以添加紋理但是不能減去那麼Alpha不是問題。是的。我使用本地代碼並在iOS和Android上從PVR文件加載紋理。 – Max
聽起來你正在繞過Bitmap類,所以這不是問題。 – ClayMontgomery
你一定是贏家:)我等待着,因爲'GL_FUNC_SUBTRACT'似乎支持甚少。我不確定我是否可以在沒有測試或大多數平臺的情況下依靠它。太多報告「GL_FUNC_SUBTRACT」無法正常工作。 – Max