在directx 9中使用带有固定函数管道的setvertexdeclaration

在directx 9中使用带有固定函数管道的setvertexdeclaration,directx,shader,directx-9,vertex-buffer,Directx,Shader,Directx 9,Vertex Buffer,我试图使用我自己的顶点结构,将顶点上传到顶点缓冲区(索引到索引缓冲区,没有FVF代码),设置顶点声明和流源并使用,并使用带有固定着色器的DrawIndexedPrimitive(但不是FVF)绘制它们 我是否必须编写自己的着色器才能使用directx 9 SetVertexDeclaration? 我可以使用带有SetVertexDeclaration和固定管道的自定义顶点结构吗? 如果可以,是否对固定管道和顶点声明有任何限制 自定义顶点结构: struct PosNormTexCoord {

我试图使用我自己的顶点结构,将顶点上传到顶点缓冲区(索引到索引缓冲区,没有FVF代码),设置顶点声明和流源并使用,并使用带有固定着色器的DrawIndexedPrimitive(但不是FVF)绘制它们

我是否必须编写自己的着色器才能使用directx 9 SetVertexDeclaration? 我可以使用带有SetVertexDeclaration和固定管道的自定义顶点结构吗? 如果可以,是否对固定管道和顶点声明有任何限制

自定义顶点结构:

struct PosNormTexCoord
{
float x,y,z;
float nx,ny,nz;
float tu,tv;
};

不幸的是,不能将固定管道与自定义顶点格式一起使用。但是您的结构可以用FVF表示,为什么要跳过它的用法呢