0
我想爲雪碧着色,以便RGB通道全部爲1,alpha保持不變。 我猜這應該與着色器來完成,但是在計算器上(Change sprite color into white和libgdx changing sprite color while hurt)這兩個公認的答案,不要爲我工作 - 結果是透明的,他們不http://shdr.bkcore.com/要麼libgdx - 將雪碧顏色更改爲白色
我想爲雪碧着色,以便RGB通道全部爲1,alpha保持不變。 我猜這應該與着色器來完成,但是在計算器上(Change sprite color into white和libgdx changing sprite color while hurt)這兩個公認的答案,不要爲我工作 - 結果是透明的,他們不http://shdr.bkcore.com/要麼libgdx - 將雪碧顏色更改爲白色
所有你需要的工作是在片段着色器中用1.0代替RGB。
頂點shader--這就好比一個在SpriteBatch頂點顏色,因爲你刪除不使用它:
attribute vec4 a_position;
attribute vec2 a_texCoord0;
uniform mat4 u_projTrans;
void main()
{
v_texCoords = a_texCoord0;
gl_Position = u_projTrans * a_position;
}
片段shader--搶剛剛從紋理的Alpha值。 :
#ifdef GL_ES
precision lowp float; //since the only value we're storing is part of a color
#endif
varying vec2 v_texCoords;
uniform sampler2D u_texture;
void main()
{
float alpha = texture2D(u_texture, v_texCoords).a;
gl_FragColor = vec4(1.0, 1.0, 1.0, alpha);
}
我用着色器做了這個。今天晚些時候我會回覆你的代碼。 – Barodapride 2014-10-16 21:15:36