昌平网站开发多少钱,网站上传照片失败,滨海天津网站建设,wordpress 内部函数如果要将精灵中所有形状的颜色更改为白色,则唯一的方法是使用像素着色器并将所有非黑色的片段设置为黑色(我假设黑色在您的游戏中呈现为透明) )到白色.像这样#xff1a;varying vec4 v_color;varying vec2 v_texCoords;uniform sampler2D u_texture;void main() {vec4 colorv…如果要将精灵中所有形状的颜色更改为白色,则唯一的方法是使用像素着色器并将所有非黑色的片段设置为黑色(我假设黑色在您的游戏中呈现为透明) )到白色.像这样varying vec4 v_color;varying vec2 v_texCoords;uniform sampler2D u_texture;void main() {vec4 colorv_color * texture2D(u_texture, v_texCoords);if(color.r!0 color.g!0 color.b!0){gl_FragColorvec4(1,1,1,1);}else{gl_FragColorcolor;}}如果您很不幸并且使用的是opengl 1.0(固定管道),我建议您现在就开始使用gles 2.0.固定管道是从90’开始的,我们现在是2013年编码初始化ShaderProgram.pedantic false;ShaderProgram defaultShaderSpriteBatch.createDefaultShader();ShaderProgram shaderWhiteTexturenew ShaderProgram(Gdx.files.internal(vertexShader.vs).readString(),Gdx.files.internal(fragShader.fs).readString());渲染//Render the textures with the normal colorsspriteBatch.begin();spriteBatch.draw(sprite1,sprite2,sprite3...);//or whatever code u use to render themspriteBatch.end();//Render the textures with the shaderspriteBatch.setShader(shaderWhiteTexture);spriteBatch.begin();spriteBatch.draw(sprite4,sprite5,sprite6...);//or whatever code u use to render themspriteBatch.end();spriteBatch.setShader(defaultShader);着色器//vertexShader.vs:attribute highp vec4 a_position;attribute highp vec4 a_color;attribute highp vec2 a_texCoord0;uniform mat4 u_projTrans;varying highp vec4 v_color;varying highp vec2 v_texCoords;void main() {v_color a_color;v_texCoords a_texCoord0;gl_Position u_projTrans * a_position ;}//fragShader.fs:varying highp vec4 v_color;varying highp vec2 v_texCoords;uniform sampler2D u_texture;void main() {gl_FragColor vec4(0.0);highp vec4 color texture2D(u_texture, v_texCoords);if(color.a 0.0) {gl_FragColor vec4(1.0,0,0,1.0);}}由问题所有者编辑现在可以使用透明纹理添加了什么 1 . the highp precision to variables2 . the fragmentShader file Main() fonction edited