[英]libgdx - changing sprite color to white
我想給一個精靈着色,以便RGB通道全部為1,而alpha保持不變。 我認為應該使用着色器完成此操作,但是在StackOverflow上接受的兩個答案(將sprite顏色更改為白色,而libgdx則在傷害時更改sprite顏色 )對我不起作用-結果是透明的,並且它們不適用於http ://shdr.bkcore.com/
您所需要做的就是在片段着色器中將RGB分別替換為1.0。
頂點着色器-類似於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;
}
片段着色器-僅從紋理中獲取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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.