Update of /project/gamelib/cvsroot/source/doc In directory clnet:/tmp/cvs-serv18554
Modified Files: 3d.html Log Message: Documentation changes (mostly concerning the 3d camera).
Index: 3d.html =================================================================== RCS file: /project/gamelib/cvsroot/source/doc/3d.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 3d.html 4 Sep 2006 06:27:16 -0000 1.3 --- 3d.html 10 Oct 2006 06:24:30 -0000 1.4 *************** *** 23,29 **** as up/down.</p>
! <p>The built-in camera class is geared towards a camera that slides ! around and doesn't turn other than around the Z axis, but that might ! be changed in future releases.</p>
<h3><a name="defvol">Defining volumes</a></h3> --- 23,29 ---- as up/down.</p>
! <p>Starting with version 0.3, there are two cameras available. The "old" ! camera, capable of moving in X, Y and Z, always turning in the XY ! plane and the "new" (or 3D) camera, having 6 degrees of freedom.</p>
<h3><a name="defvol">Defining volumes</a></h3> *************** *** 50,53 **** --- 50,66 ---- count or what-have-you).</p>
+ <h3>Base and transform designators</h3> + + <p>Starting from version 0.3, there is a "fully 3D" camera available, + necessitating some new concepts and accessors (hopefully seamlessly + integrated into the whole). The most developer-visible of these are + "base designators" and "transform designators".</p> + + <p>A "base designator" is either 3-element vector, array or list.</p> + + <i>A "transform designator" is a 3-element sequence of "base + designators", specifying the (world coordinate) vectors from the + camera origo to [ 1, 0, 0 ], [ 0, 1, 0 ] and [ 0, 0, 1 ].</i> + <h3>What will be shown and how?</h3>
*************** *** 98,101 **** --- 111,120 ---- 3d-rendering is made on. Also guides the size of the X window it will be displayed in. + <dt>3d-camera + <dd>(3d-camera <i>x</i> <i>y</i> <i>z</i> <b><i>&optional</i></b> + <i>transform</i>)<br> + Return a newly constructed 3d-camera object, at position [ X, Y, Z ]. + If an optional transform designator is passed it, the camera will + use this as its transform, otherwise it will use a unit transform. <dt>box <dd>Shape class. 8 corners, 6 sides. *************** *** 137,140 **** --- 156,165 ---- <dt>flat <dd>Shape class, superclass for all flat surfaces. + <dt>full-move + <dd>(full-move <i>camera</i> <i>displacement</i>)<br> + Displace the camera by <i>displacement</i>, a 3D coordinate (using the + camera's position as origo, expressed in the camera coordinate + system). The displacement will be transformed into world coordinates + before being applied. <dt>get-centre <dd>(get-centre <i>shape</i> <i><i><b>&optional</b></i> *************** *** 161,166 **** <dd>Shape class (flat) <dt>turn ! <dd>(turn <i>object</i> <i>angle</i>)<br> ! Generic function. Turn <i>object</i> through <i>angle</i> around the Z axis. <dt>volume <dd>Shape class, superclass for all volumes. --- 186,195 ---- <dd>Shape class (flat) <dt>turn ! <dd>(turn <i>object</i> <i>angle</i> <b><i>&optional</i></b> <i>angle</i>)<br> ! Generic function. Turn <i>object</i> through <i>angle</i>. If the ! object is "the standard camera" it will be turned around the Z axis. A ! 3D camera will default to turn around teh Z axis unless otherwise ! specified. Axes are designated by the :x :y or :z keywords. The angle ! is specified in radians. <dt>volume <dd>Shape class, superclass for all volumes.