fn WriteVertexBuffer filestr triangleMesh =
(
file = fopen filestr "wb"
num_verts = triangleMesh.numverts
for v = 1 to num_verts do
(
--Write xyz coords of vertice
vert = getVert triangleMesh v
writeFloat file vert.x
writeFloat file vert.y
writeFloat file vert.z
--Write xyz of normal of vertice
norm = getNormal triangleMesh v
writeFloat file norm.x
writeFloat file norm.y
writeFloat file norm.z
--Write uv of texture coords for vertice
uv = meshop.getmapvert triangleMesh 1 v
writeFloat file uv.x
writeFloat file uv.y
)
fclose file
)
fn WriteIndexBuffer filestr triangleMesh =
(
file = fopen filestr "wb"
num_faces = triangleMesh.numfaces
for f = 1 to num_faces do
(
face = getFace triangleMesh f
writeShort file (face.x - 1)
writeShort file (face.y - 1)
writeShort file (face.z - 1)
)
fclose file
)
if selection.count != 1 then
(
messagebox "Select one object"
)
else
(
savefolder = getSavePath caption:"Save in folder"
vertexBufFile = savefolder + "\\VertexBuffer.vb"
indexBufFile = savefolder + "\\IndexBuffer.ib"
triangleMesh = snapshotAsMesh selection[1]
WriteVertexBuffer vertexBufFile triangleMesh
WriteIndexBuffer indexBufFile triangleMesh
delete triangleMesh
--edit files for debuggin:
edit vertexBufFile
edit indexBufFile
)