3 #if SILICONSTUDIO_PARADOX_GRAPHICS_API_DIRECT3D
5 using SharpDX.Direct3D11;
7 using SiliconStudio.Paradox.Shaders;
9 namespace SiliconStudio.
Paradox.Graphics
11 public partial class Shader
13 internal byte[] NativeInputSignature;
15 private Shader(GraphicsDevice device,
ShaderStage shaderStage, byte[] shaderBytecode)
18 this.stage = shaderStage;
22 case ShaderStage.Vertex:
23 NativeDeviceChild =
new VertexShader(device.NativeDevice, shaderBytecode);
24 NativeInputSignature = shaderBytecode;
26 case ShaderStage.Hull:
27 NativeDeviceChild =
new HullShader(device.NativeDevice, shaderBytecode);
29 case ShaderStage.Domain:
30 NativeDeviceChild =
new DomainShader(device.NativeDevice, shaderBytecode);
32 case ShaderStage.Geometry:
33 NativeDeviceChild =
new GeometryShader(device.NativeDevice, shaderBytecode);
35 case ShaderStage.Pixel:
36 NativeDeviceChild =
new PixelShader(device.NativeDevice, shaderBytecode);
38 case ShaderStage.Compute:
39 NativeDeviceChild =
new ComputeShader(device.NativeDevice, shaderBytecode);
42 throw new ArgumentOutOfRangeException(
"shaderStage");
ShaderStage
Enum to specify shader stage.