当我不访问我的一个纹理时,其他纹理查找显示为黑色

时间:2013-10-19 21:22:51

标签: nvidia fragment-shader cg

我有以下CG像素着色器:

float4 main(
    float2 texCoord : TEXCOORD0,
    float4 position : TEXCOORD2,
    float4 color : COLOR,
    uniform sampler2D texture_sample : TEX1,
    uniform sampler2D stipple_sample : TEX2,
    uniform float camera_target_distance) : COLOR
{
    float4 OUT;

    float2 vpos= position.xy / position.w;

    if (tex2D(stipple_sample, vpos).x > 0.5f)
    {
        discard;
    }

    OUT= tex2D(texture_sample, texCoord) * color;
    return OUT;
}

但是,如果我使用stipple_sample(以及discard)注释/删除丢弃或第一次tex2D访问,我对texture_sample的纹理查找总是产生黑色而不是红色/黄色。

1 个答案:

答案 0 :(得分:0)

你确定你没有将BLACK作为color传递吗?