如何在着色器编程中检查纹理的存在?

时间:2012-07-02 15:57:28

标签: shader hlsl directx-9

g_MeshTexture:纹理文件名

sampler MeshTextureSampler = 
sampler_state
{
    Texture = <g_MeshTexture>;
    MipFilter = LINEAR;
    MinFilter = LINEAR;
    MagFilter = LINEAR;
};

:sampler

我使用“tex2D(MeshTextureSampler, In.TextureUV)

HLSL中的哪个条件与C ++中的if(g_MeshTexture == NULL)类似?

1 个答案:

答案 0 :(得分:1)

HLSL没有内置测试功能。

您可以添加一个额外的客户端加载参数来告诉着色器纹理是否有效,或者创建第二个替代着色器,在纹理未定义(并由客户端C ++编程)