UF Game 游戏开发

分享游戏开发的经验和技巧,包括各种游戏开发套件和工具的使用

Learn more

用于DirectX 11的.obj文件阅读器

这是一个星期,我仍然无法解决这个问题。 我需要将.obj文件转换为我的框架可读和可绘制的数据。 我有一个主要问题:指标。 我想我得到的顶点正确(我在debugging器中检查,一切都很好),但是当我画我的模型总是出错。 我看到模型的形状,但没有看到一些三角形。 我认为这是一个顺时针/逆时针绘图的问题。 我从搅拌机中导出了一个立方体,看看如何完成,我拿着笔和纸,手工绘制,然后按照程序为我创建的索引,我看到它使用不同的索引顺序,在我的程序中不起作用。 对于i立方体,我使用“f”字所描述的索引创建36个顶点。 每个顶点都有纹理坐标和法向量。 从指数我拿顶点索引,我用这些来绘制立方体,但它不工作。 我跟着这个教程进入到我应该如何脚本的转换器( http://www.opengl-tutorial.org/beginners-tutorials/tutorial-7-model-loading/ ),我修改了代码,使其工作的DirectX绘图(这是类似于我认为的OpenGL),但它根本不工作。 void OBJLoader::loadOBJFromFile(char * fileName, std::vector<Vertex::Basic32> &output, std::vector<UINT> &vertexIndicesFinal) { UINT numberOfVertices = 0, numberOfNormals = 0, numberOfUVs = 0, numberOfFaces=0; std::vector<Vertex::Basic32> outputDaMettere; std::vector< UINT> vertexIndices, uvIndices, normalIndices; std::vector< XMFLOAT3 > temp_vertices; std::vector< XMFLOAT2 > temp_uvs; std::vector< XMFLOAT3 > temp_normals; std::vector<XMFLOAT3> outVertices; std::vector<XMFLOAT3> […]