private void buildCurrentFrameMesh() { md5anim.buildFrameABSBones(curFrame, bones); rawMesh.clear(); md5model.buildVertices(bones); md5model.addToSimpleStaticMeshBuilder(rawMesh); gpuMesh.create(rawMesh, device); }
private bool loadMD5Model(string fileName) { md5model = new MD5Model(); if (md5model.loadMD5MeshFile(fileName)) { md5model = null; return(true); } lb_md5MeshName.Text = fileName; md5model.buildBaseFrameVertices(); rawMesh = new XYZTrianglesList(); md5model.addToSimpleStaticMeshBuilder(rawMesh); gpuMesh = new DXVertexBufferXYZNormals(); gpuMesh.create(rawMesh, device); UpdateDirectXDisplay(); return(false); }
private void recreateGPUBuffers() { if (model == null) { vertexBuffer = null; return; } XYZTrianglesList l = new XYZTrianglesList(); model.iterateXYZTriangles(l); if (vertexBuffer != null) { vertexBuffer.destroyBuffer(); } if (l.getTrianglesCount() > 0) { vertexBuffer = new DXVertexBufferXYZNormals(); vertexBuffer.create(l, device); } }