Device.SetTexture(Int32,BaseTexture) Method (Microsoft.DirectX.Direct3D)
How Do I...?
- Render Mesh with Texture using HLSL
Assigns a texture to a device stage.
Definition
Visual Basic Public Sub SetTexture( _
ByVal stage As Integer, _
ByVal texture As BaseTexture _
)C# public void SetTexture(
int stage,
BaseTexture texture
);C++ public:
void SetTexture(
int stage,
BaseTexture^ texture
);JScript public function SetTexture(
stage : int,
texture : BaseTexture
);
Parameters
stage System.Int32
Index value for the device stage.texture Microsoft.DirectX.Direct3D.BaseTexture
A BaseTexture object that represents the texture being set.
Remarks
This method is not allowed if the texture is created with a pool type of Scratch, nor is it allowed with a pool type of SystemMemory, unless DeviceCaps.SupportsTextureSystemMemory is set to true.
Exceptions
The method call is invalid. For example, a method's parameter might contain an invalid value.
How Do I...?
Render Mesh with Texture using HLSL
This example demonstrates how to render a mesh texture using the high-level shader language (HLSL).
In the following C# code example, the following assumptions are made:
- effect is a valid HLSL Effect with its technique set.
- The code occurs between calls to Effect.BeginPass and Effect.EndPass.
- mesh is a valid Mesh.
- meshTextures is a valid array of textures for the mesh.
[C#] effect.SetValue("WorldViewProjection", worldMatrix); // Iterate through each subset and render with its texture for (int m = 0; m < meshTextures.Length; ++m) { effect.SetValue("SceneTexture", meshTextures[m])); effect.CommitChanges(); mesh.DrawSubset(m); }
See Also