簡體   English   中英

libgdx-將精靈顏色更改為白色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM