Proxying

Proxying allows you to create duplicate copies of a glscene object using less resources than if a real copy was made. For example instead of creating 10 apple pies you could create one apple pie and then proxy this 9 times. This would result in higher frame rate.

One way to use proxying in the mud client is to set 'proxy' to true in sceneobject. When 10 apple pies are displayed one real copy will be made and the other 9 will be proxied. Setting proxy to true will only provide a frame rate increase if you have multiple copies of the one object visible. Also for more primitive scenobject's a higher frame rate might not be seen. Proxying is most useful for freeform's.

Another way to proxy is to create a set of proxies on start up. These proxy object will stay in memory while the mud client is running and a proxyobject sceneobject can reference the proxy object in the list. This method of proxying is useful over the previous method (proxy="true" method) if you wanted to construct a 3D object made up of proxyobject and other object(s). For example if you had multiple tables with different food on the top such as spaghetti on one table and pudding on the other you could put the table in proxies and then reference the table proxyobject in an object containing a bowl of spaghetti and another containing pudding. For example:

<OBJECT name="spaghettitable">

<PROXYOBJECT name="table"/>
<FREEFORM filename="spaghettibowl.ms3d" z="0.2"/>

</OBJECT>

<OBJECT name="puddingtable">

<PROXYOBJECT name="table"/>
<FREEFORM filename="puddingbowl.ms3d" z="0.2"/>

</OBJECT>

An the table is defined in the proxies element of the config file


<PROXIES>

<PROXY name="table">
<FREEFORM filename="models\table.ms3d" scalex="0.03" scaley="0.03" scalez="0.03" />
</PROXY>

<PROXIES>