2012-07-02 39 views
0

g_MeshTexture:紋理文件名如何在着色器編程中檢查紋理的存在性?

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

:採樣

我用 「tex2D(MeshTextureSampler, In.TextureUV)

何種條件在HLSL類似於if(g_MeshTexture == NULL)在C++?

+0

HLSL相當於黑色像素。不,真的......沒有這樣的事情。 – Damon

+0

那麼我應該在C++代碼中使用標誌來檢查它是否具有紋理? –

+0

那會更好,是的。這實際上可行。 – Damon

回答

1

沒有什麼內置HLSL來測試這個。

如果紋理是有效的,您可以添加一個額外的客戶端加載的參數來告訴着色器,或者在紋理未定義的情況下創建第二個替代着色器,客戶端C++編)