Is there an XML specification for .mesh.xml v2 meshes?

Discussion area about developing with Ogre-Next (2.1, 2.2 and beyond)


mrmclovin
Gnome
Posts: 324
Joined: Sun May 11, 2008 9:27 pm
x 20

Is there an XML specification for .mesh.xml v2 meshes?

Post by mrmclovin »

Is there an XML specification for .mesh.xml v2 meshes describing the expected structure and constraints? (apart from Tools/MeshTool/src/main.cpp and Tools/MeshTool/src/XML/OgreXMLMeshSerializer.cpp)
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5505
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1372

Re: Is there an XML specification for .mesh.xml v2 meshes?

Post by dark_sylinc »

Nope. That's it.

The .mesh.xml hasn't really changed much between v1 and v2. In fact I don't remember them changing it at all.

The binary format changed between v1 and v2 to make directly loading disk to VRAM straightforward, to better account how vertex buffers are (not) shared across submeshes, the fact that v2 does not allow gaps between vertex elements, and to account for the new compressed vertex formats.

XML doesn't care about any of that, and shared geometry can be unshared by the loader. Any misc thing or special processing can be handled by the loader.
Restrictions should be obvious, off the top of my head: a 16-bit index buffer cannot contain values >65535, index buffer values must be in range [0; vertex_count)
mrmclovin
Gnome
Posts: 324
Joined: Sun May 11, 2008 9:27 pm
x 20

Re: Is there an XML specification for .mesh.xml v2 meshes?

Post by mrmclovin »

dark_sylinc wrote: Fri Apr 17, 2020 7:56 pm Nope. That's it.

The .mesh.xml hasn't really changed much between v1 and v2. In fact I don't remember them changing it at all.

The binary format changed between v1 and v2 to make directly loading disk to VRAM straightforward, to better account how vertex buffers are (not) shared across submeshes, the fact that v2 does not allow gaps between vertex elements, and to account for the new compressed vertex formats.

XML doesn't care about any of that, and shared geometry can be unshared by the loader. Any misc thing or special processing can be handled by the loader.
Restrictions should be obvious, off the top of my head: a 16-bit index buffer cannot contain values >65535, index buffer values must be in range [0; vertex_count)
Ok, so the <sharedvertices> in XML has no purpose in v2 meshes?
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5505
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1372

Re: Is there an XML specification for .mesh.xml v2 meshes?

Post by dark_sylinc »

The loader (OgreMeshTool) will unshare them if the binary output is set to v2.