1

我不能用颜色着色器给我的精灵着色。这是问题所在:

在此处输入图像描述

左图来自 XNA,右图是 form gimp。彩色精灵仍然有一些蓝色像素。蓝色用于传递色调。我认为缩放或抗锯齿会搞砸。这是我的代码:

float4 PixelShaderFunction(float2 coords: TEXCOORD0) : COLOR0  
{      
    float4 color = tex2D(s0, coords);      
    float3 white = {1, 1, 1};
    float3 colorTint = { 0.3f, 0, 0 };
    if(color.a)
    {
        if(color.r < 0.1 && color.g < 0.1 && color.b > 0.1)
        {
            color.rgb = lerp(white, colorTint.rgb, 1 - color.b);
            color.a = 1;
        }
    }
    return color;  
}  

编辑:看起来将采样器状态设置为“SamplerState.PointClamp”是我的解决方案,但也许有人可以告诉我这里发生了什么?

4

0 回答 0