HLSL:有问题的像素码代码(采样时alpha为零)?
我对像素着色器中的采样器有这个奇怪的问题。当我从采样器采样到一个空的float4变量时,我总是得到黑色/透明颜色。所以,如果我使用它,我会得到一个黑屏:
float4 PixelShaderFunction(float2 TextureCoordinate : TEXCOORD0) : COLOR0
{
float2 uv = TextureCoordinate;
float4 pixelColor = tex2D(implicitInputSampler, uv);
//contrast
pixelColor.rgb = ((pixelColor.rgb - 0.5f) * max(Contrast, 0)) + 0.5f;
//brightness
pixelColor.rgb = pixelColor.rgb + (Brightness - 1);
// return final pixel color
return pixelColor;
}
我使用它而不是它可以正常工作:
float4 PixelShaderFunction(float2 TextureCoordinate : TEXCOORD0) : COLOR0
{
float2 uv = TextureCoordinate;
float4 pixelColor = {0,0,0,1};
pixelColor += tex2D(implicitInputSampler, uv);
//contrast
pixelColor.rgb = ((pixelColor.rgb - 0.5f) * max(Contrast, 0)) + 0.5f;
//brightness
pixelColor.rgb = pixelColor.rgb + (Brightness - 1);
// return final pixel color
return pixelColor;
}
这只发生在AMD 4850 GPU上我家的开发环境中。当我在一些nVidias或AMD5850上试用它时无论如何都可以...
这是什么原因?
我错过了一些设备初始化吗?
干杯!
没有找到相关结果
已邀请:
2 个回复
才改隘瘁
擅香