C++ Directx9索引缓冲区&;多流

C++ Directx9索引缓冲区&;多流,c++,directx,C++,Directx,我正在尝试编写一个3DS Loader,它有一个OpenGL渲染实现,可以在我的通用渲染系统中使用 这里的问题是,顶点索引到一个数组,纹理坐标索引到另一个数组。我不想通过检查坐标和纹理坐标的每个顶点组合来生成一组新的索引和原始顶点,那么如何在directx的缓冲区中以最佳方式指定这两个数组呢 我想要的是有3个顶点缓冲区,一个用于顶点,一个用于纹理坐标,一个用于顶点法线。然后,我将为所有三个设置索引缓冲区。我不知道我该怎么做 我使用的是directx9和C++图形卡,如果两个顶点具有相同的位置和不

我正在尝试编写一个3DS Loader,它有一个OpenGL渲染实现,可以在我的通用渲染系统中使用

这里的问题是,顶点索引到一个数组,纹理坐标索引到另一个数组。我不想通过检查坐标和纹理坐标的每个顶点组合来生成一组新的索引和原始顶点,那么如何在directx的缓冲区中以最佳方式指定这两个数组呢

我想要的是有3个顶点缓冲区,一个用于顶点,一个用于纹理坐标,一个用于顶点法线。然后,我将为所有三个设置索引缓冲区。我不知道我该怎么做


我使用的是directx9和C++

图形卡,如果两个顶点具有相同的位置和不同的tex坐标(或不同的任何顶点元素),则它们是不同的顶点。它们将存储在卡上,位置/tex坐标与您在OpenGL下执行的任何操作相同(驱动程序只会隐式扩展顶点)。DirectX强制您这样做

多个流略有不同,但扩展到同一事物。即两个流中只有一个索引值

因此,最佳情况下,您需要将两个列表扩展为一个大列表,并适当地设置索引的单个列表