Sie können mehrere Texturen verwenden, solange ihre Anzahl nicht die Spezifikationen Ihres Shader-Profils überschreitet. Hier ein Beispiel: HLSL-Code:
Texture2D diffuseTexture : register(t0);
Texture2D anotherTexture : register(t1);
C++ Code:
devcon->V[P|D|G|C|H]SSetShaderResources(texture_index, 1, &texture);
So zum Beispiel für über HLSL-Code wird es sein:
devcon->PSSetShaderResources(0, 1, &diffuseTextureSRV);
devcon->PSSetShaderResources(1, 1, &anotherTextureSRV); (SRV stands for Shader Texture View)
OR:
ID3D11ShaderResourceView * textures[] = { diffuseTextureSRV, anotherTextureSRV};
devcon->PSSetShaderResources(0, 2, &textures);
HLSL-Namen können arbi sein tray und muss keinem bestimmten Namen entsprechen - nur Indizes sind wichtig. Während "register (tXX);" Anweisungen sind nicht erforderlich, ich würde Ihnen empfehlen, sie zu verwenden, um Verwirrung darüber zu vermeiden, welche Textur welchem Slot entspricht.
versuchen Sie zu mischen/multi-texturing? –