HLSL DXGI_FORMAT_A8_UNORM纹理 – 深色不像白色那样不透明 - 空宝网


HLSL DXGI_FORMAT_A8_UNORM纹理 – 深色不像白色那样不透明

游戏开发 本文已被69人看过 本文被 0次点赞

我试图通过指定每个顶点的颜色以多种颜色渲染DXGI_FORMAT_A8_UNORM纹理(确切地说,字体位图),然后在像素着色器中应用采样纹理的alpha值。当白色被指定为顶点颜色时,渲染的纹理看起来像预期的那样,但是对于较暗的颜色,纹理看起来“变薄”或不太透明,如附图中所示。这些是使用的着色器,使用D3D11_FILTER_MIN_MAG_MIP_POINT作为过滤器的fontSampler:

Texture2D shaderTexture : register(t0);
SamplerState fontSampler : register(s0);

struct VS_INPUT
{
float2 pos : POSITION;
float4 col : COLOR;
float2 tex : TEXCOORD0;
};

struct VS_OUTPUT
{
float4 pos : SV_POSITION;
float4 col : COLOR;
float2 tex : TEXCOORD0;
};

VS_OUTPUT VS(VS_INPUT input)
{
VS_OUTPUT output;
output.pos = mul(projection, float4(input.pos.xy, 0.f, 1.f));
output.col = input.col;
output.tex = input.tex;
return output;
}

float4 PS(VS_OUTPUT input) : SV_TARGET
{
input.col.a = shaderTexture.Sample(fontSampler, input.tex).a;
return input.col;
}

下一页:  Scala插件与Intellij 2018.3.3不兼容:无法在“新建项目”中选择Scala

喜欢 (0)
[请支持作者一杯咖啡,谢谢]
分享 (0)


您必须 登录 才能发表评论!