A 3D object is made up of a list of glscene objects. For example a mirror can be made up of a mirror object and a wooden plane at the back of it.

In the config file it defined as follows with a plane and mirror:
<OBJECT name="mirror">
- <MIRROR height="0.2" width="0.075" mirrorobject="headbox" y="-0.01" z="0.12" />
- <PLANE width="0.095" height="0.23" z="0.12" texture="models\textures\wood.jpg"/>
</OBJECT>
The 'name' attribute of object is matched to the name of an object the object 3d tags. Thus {omirror,+} will display the above mirror. In SWLPC you can use in the 'query_object' functions in threed to display an object instead of outputting the 3dtags by hand.
If in the objectlist duplicate names are used then one is picked at random. Therefore you can create variations of the same object eg plants and there will be less repetition of the object.
To display an 3D object in the mud client the mud can either display it (eg {omirror,+}) or the object can be defined in the parent maps element in the config file. In parentmaps you can use position to display an object and you can set the turn, roll, pitch, position, scale etc of the 3D object.