C# 是否存在基本着色器类?

C# 是否存在基本着色器类?,c#,shader,directx-11,sharpdx,C#,Shader,Directx 11,Sharpdx,我目前正在编写一个深入的DirectX-11引擎,并且正在处理我的着色器部分。我似乎找不到一个对以下所有方面都通用的类: VertexShader PixelShader GeometryShader HullShader DomainShader ComputeShader 是否有一个所有这些类型都派生自的基类,或者我需要大量的代码来分别处理每个类型?我还没有找到关于这个问题的任何文档。在DirectX 11中,每个着色器类型都是一个不同的接口,使用它们调用的Direct3D函数需要特定的类

我目前正在编写一个深入的DirectX-11引擎,并且正在处理我的着色器部分。我似乎找不到一个对以下所有方面都通用的

VertexShader
PixelShader
GeometryShader
HullShader
DomainShader
ComputeShader

是否有一个所有这些类型都派生自的基类,或者我需要大量的代码来分别处理每个类型?我还没有找到关于这个问题的任何文档。

在DirectX 11中,每个着色器类型都是一个不同的接口,使用它们调用的Direct3D函数需要特定的类型

在大多数渲染情况下,无论如何只使用VS和PS

有许多方法可以为着色器创建抽象。例如,在XNA Game Studio类设计中,
Effect
类包含了VS和PS,您可以将其与
Apply
一起使用(在抽象中,这可能是渲染效果所需的任何着色器阶段)。看

从技术上讲,它们都是从
ID3D11DeviceChild
派生而来的,但无论如何使用它们都需要独特的接口