आप कई बनावट का उपयोग तब तक कर सकते हैं जब तक उनकी गिनती आपके शेडर प्रोफ़ाइल चश्मे से अधिक न हो। यहाँ एक उदाहरण है: HLSL कोड:
Texture2D diffuseTexture : register(t0);
Texture2D anotherTexture : register(t1);
सी ++ कोड:
devcon->V[P|D|G|C|H]SSetShaderResources(texture_index, 1, &texture);
तो ऊपर HLSL कोड के लिए उदाहरण के लिए यह हो जाएगा:
devcon->PSSetShaderResources(0, 1, &diffuseTextureSRV);
devcon->PSSetShaderResources(1, 1, &anotherTextureSRV); (SRV stands for Shader Texture View)
या:
ID3D11ShaderResourceView * textures[] = { diffuseTextureSRV, anotherTextureSRV};
devcon->PSSetShaderResources(0, 2, &textures);
एचएलएसएल नाम arbi हो सकता है trary और किसी भी विशिष्ट नाम से मेल नहीं खाता है - केवल सूचकांक पदार्थ। जबकि "रजिस्टर (tXX);" कथन की आवश्यकता नहीं है, मैं आपको भ्रम से बचने के लिए उनका उपयोग करने की सलाह दूंगा क्योंकि किस बनावट से स्लॉट के अनुरूप है।
क्या आप मिश्रण/बहु-पाठ करने की कोशिश कर रहे हैं? –