我已经搜索过了,还没有找到一个与最基本的相关的,一步一步地解释。我们需要这个。
假设我只使用微软提供的DirectX SDK。
还假设我已经在工作目录中制作了.fbx和.3ds模型,它们是通用的、单色的、形状(立方体、球体、金字塔等)。
还请将渲染过程压缩为使用directX函数的函数(如中所示,可以编译),例如:
//the following is a suggestion, not a guideline for those who
//want to get into 3D programming.
vector<DX3DModel>modelsToBeRendered;
void bufferFrame(vector<DX3DModel>models){
while(1){
/* something something vertexes, lets say DX3DModel only contains vertexes
and a string as a file link
(Rendering code would make it very
messy in the question, but please include it in the answer.) */
//render models.end(); here
models.pop_back();
}
}使用与上面类似的方法,我如何(安全地)渲染单个“区域”中的所有其他角色,同时仍然能够随意操作顶点?
(Area是一个(AxBx1)模型,我们将其称为field.fbx。这是所有参与者存在的边界)
发布于 2016-05-09 05:27:01
与OpenGL应用编程接口非常类似,Direct3D 11API是一种低级呈现应用编程接口,它在包含点、线和三角形的构造上处理资源和绘制操作。它不是一个可以直接从3D编辑器加载或渲染模型文件的高级API,它本身也没有材质/效果系统。
如果您是DirectX 11的新手,您应该考虑使用DirectX Tool Kit作为一个很好的起点。您不能直接从3DS或FBX模型呈现,但您可以使用内置的Visual Studio内容管道转换为CMO,或者使用Samples Content Exporter转换为SDKMESH,这两种方法都可以通过DirectX工具包加载。
使用DirectX工具包,您将能够使用Model类并获得与您所建议的基本相同的内容。请参阅DirectX Tool Kit tutorial,特别是课程Rendering a model。
对于Direct3D 11开发,您应该强烈考虑不使用遗留的DirectX SDK,因为它已被弃用。如果你使用的是VS2012或更高版本,你不需要它。参见Where is the DirectX SDK (2015 Edition)?和The Zombie DirectX SDK。
https://stackoverflow.com/questions/37096047
复制相似问题