home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / maj / 2257 / moraytut.txt < prev    next >
Text File  |  1994-02-15  |  36KB  |  716 lines

  1.              ---------------------------------------------------
  2.                             MORAY V1.50 POV
  3.                            Monty the Modeller
  4.  
  5.                 (c) SoftTronics Lutz + Kretzschmar '92 '93 '94
  6.  
  7.                            Date : 15 February '94
  8.                              CIS:100023,2006
  9.              ---------------------------------------------------
  10.  
  11.  
  12.         This is a short and basic (read: quick and dirty<g>) tutorial to
  13.         get you started with MORAY.
  14.  
  15.         ----------------------------------------------------------------
  16. Why?    It's for those of you that don't like reading manuals. Just the
  17.         very basics are covered here. Please refer to MORAY.DOC for more
  18.         details and all the features of the program.
  19.         ----------------------------------------------------------------
  20.  
  21.         Due to the packed form that the information is presented here, you
  22.         should print this out and look at the program while reading. Also,
  23.         don't skip paragraphs of this tutorial, they all contain important
  24.         info.
  25.  
  26.         I've put some keywords onto the left margin to make it easier
  27.         to localize them later.
  28.  
  29. Disclaimer
  30.         Please read the disclaimer in MORAY.DOC before starting. If you read
  31.         on, it is assumed that you've accepted it.
  32.  
  33. Overview
  34.         The modeller is an interactive scenery designer. It is not a CAD
  35.         package. It will let you do nearly everything graphically with the
  36.         mouse. You can create a number of primitives that can then be
  37.         manipulated (you can scale, rotate, translate, assign textures,
  38.         bounding boxes to them).
  39.  
  40. Installation
  41.         This is fairly simple. You just unzip the package using the -d
  42.         option.
  43.  
  44.         You need to move the TRACE.BAT file to your scene directory.
  45.  
  46.         Far more important is to do the ...
  47.  
  48. Configuration
  49.  
  50.         ... by setting the PrintPath variable in the MORAYPOV.CFG file
  51.         in the [CONFIG] section. Set this to the directory where you
  52.         normally have your POV files.
  53.         All the other settings should work with their default values, you
  54.         may want to tune them after reading the MORAY.DOC file later<g>.
  55.         I also won't go into details of how to set up Moray to directly exit
  56.         to POV and do the trace. Please see MORAY.DOC for that.
  57.  
  58. Files
  59.         I've included a few scene files that you can manipulate or play
  60.         with. You can render these straight away. After starting MORAY,
  61.         load one of these scenes, export them to POV, and trace them.
  62.  
  63.  
  64.         AXIS.MDL     is a scene with three arrows and labels.
  65.         PAWNS.MDL    is a Q&D copy of the pawn GIF in the GRAPHDEV lib,
  66.                      except that it uses rotational sweeps.
  67.         ALLOBJS.MDL  is a scene that contains all object types that MORAY
  68.                      handles.
  69.         HEIGTFLD.MDL demonstrates how a heightfield is done. It has an image
  70.                      map applied to it that uses the same file as the height-
  71.                      field itself, POVMAP.GIF.
  72.         SPOTLGT.MDL  contains a spotlight shining on a sphere. Demonstrates
  73.                      the spotlight primitive.
  74.         AREALGT.MDL  contains an arealight shining on a sphere. Demonstrates
  75.                      the arealight primitive.
  76.         KETTLE.MDL   is one of those fancy designer kettles, done with
  77.                      sweeps. This is a dog to render.
  78.         KETTLE2.MDL  is nearly the same kettle, except that it's constructed
  79.                      with POV-Ray primitives using csg. This renders much
  80.                      quicker.
  81.         CSGKNOB.MDL  this file contains a knob done in CSG. Look at the
  82.                      object hierarchy in the Object Browser (wait till later)
  83.                      to get an idea of how to go about making this sort of
  84.                      object.
  85.         IMAGMAPS.MDL this file demonstrates the three projection types for
  86.                      imagemaps that MORAY supports.
  87.         POVCAN2.MDL  this file is a soda can with a special label.
  88.         CUP.MDL      contains an eight-sided cup and a handlemade of a bezier
  89.                      sweep. This cup is described in Ray Tracing Worlds by
  90.                      the Waite Group Press.
  91.         PERFUME.MDL  contains a bezier patch formed to make an aftershave 
  92.                      bottle.
  93.         TEAPOT.MDL   contains my rendition of the classic Utah teapot.
  94.         MAYFLY.MDL   this file contains a mayfly. Created by Dan Farmer and
  95.                      used in his Beethoven Bust picture (CIS, GraphDev).
  96.         MRYSTART.MDL is the default startup file for MORAY. If you don't
  97.                      specify a filename, this file will be loaded. It
  98.                      contains a camera and a light.
  99.         SAMPL1.MDL   is a sample file we will use later in the tutorial.
  100.         ROBOT.MDL    This is a simple model of a robot to demonstrate how to
  101.                      build hierarchically linked objects. The robot is designed
  102.                      so that you can do rotations about the following axes of 
  103.                      the objects: Hand (Y and Z), Wrist (X), ForeArm (Y), 
  104.                      UpperArm (X) and the RobotArm about Z.
  105.  
  106.  
  107.         We'll render one of these straight away. Make sure MORAY is
  108.         configured as described above. Type MORAY and then enter. Wait a bit
  109.         then click on the right mouse button until the shareware screen goes
  110.         away. Now click on FILES. Click on the AXIS.MDL file shown in the
  111.         listbox. Click on LOAD. When asked whether you want to delete the
  112.         scene in memory, click on YES. You'll now see the axes. Click on
  113.         EXPORT2POV. Click on DONE, click on QUIT.
  114.         Now change to your POV directory and render AXIS.POV by typing GO.BAT.
  115.         That was you first render with MORAY and POV.
  116.  
  117.         Okay, let's take it a bit more slowly.
  118.  
  119. Input
  120.         MORAY uses the mouse and keyboard as input. The keyboard mainly
  121.         serves as shortcuts for mouse ops, e.g. you can press 'E'
  122.         instead of clicking on EDIT. But heavy use is made of the CTRL, ALT
  123.         and SHIFT keys *together* with the mouse (more later).
  124.  
  125. Startup
  126.         To start the program type MORAY -G5. You can specify -gx as an
  127.         argument to select another resolution apart from 640x480x16. If you
  128.         don't, MORAY will see what mode is defined in MORAYPOV.CFG and use
  129.         that. If this is not found it will start up in 640x480x16 normal VGA
  130.         mode.
  131.         To see what modes are supported type 'MORAY -?'. This will show what
  132.         modes can be called.
  133.         MORAY needs *lots* of memory! 525K and more is OK for not too large
  134.         models. The modeller currently supports EMS and it *needs* about
  135.         1.5MB.
  136.  
  137. Coordinate System
  138.         Bad news for POV users: MORAY uses the right-handed coordinates,
  139.         where Z is up, not Y.
  140.         Think of it as seeing a piece of graph paper that uses X and Y for
  141.         it's axes lying flat on a table. The Z then naturally comes out of
  142.         this piece of graph paper, going up<g>. So the 'floor' of the MORAY
  143.         world is the XY plane. The camera will always be aligned along this
  144.         plane just like you would hold a real camera.
  145.  
  146. Main screen
  147.         You should then see the main screen. It has four windows and two
  148.         menu regions. In the lower right corner are six buttons that
  149.         show cursor position and system resource usage.
  150.  
  151.         The top three show the cursor position in 3D world space when in
  152.         one of the view windows (wait 'n see, just read on!)
  153.  
  154.         The fourth one shows the amount of free conventional and EMS memory.
  155.         The fifth one shows how full the point list is. It shows how many
  156.         vertices and the percentage of the buffer used.
  157.         The fifth one shows how full the edge list is.
  158.  
  159. Views
  160.         The four windows in the upper left portion of the screen show 3
  161.         two-dimensional views and one 3D view. You will see the axis in
  162.         these windows. Don't look at the writing on the axis, it might
  163.         confuse you! Just kidding, the modeller uses a right-handed
  164.         coordinate system, where Z points up. It should be quite
  165.         intuitive however, as you'll see in a moment.
  166.  
  167.         The three 2D-windows are editing windows. The world in each
  168.         window can be panned and zoomed with the mouse.
  169.  
  170.         ***** NOTE *****
  171.             These windows are only active when the main menu is active.
  172.  
  173.         Move the cursor to the top left window.
  174.  
  175. Panning
  176.         Press and hold the CTRL key.  Now press and hold the left
  177.         mouse button *and* move the mouse about in the window.  
  178.         The axis will move with the cursor.  When you have placed 
  179.         the axis back in the center release everything.
  180.  
  181. Zooming
  182.         Press and hold the ALT key. Now again press the left mouse
  183.         button and move the mouse up or down, *slowly* at first.
  184.         This zooms into (move up) or out of (move down) the window.
  185.         You can also specify a region to enlarge to the whole view by
  186.         pressing Alt *and* Shift, then clicking the left mouse and
  187.         dragging open a rectangle around the area of interest.
  188.         And finally you can press Alt-Z to make the whole scene fill
  189.         the view.
  190.  
  191. Enlarging
  192.         Each of the 4 views can be made to fill up the screen. To do this
  193.         move the cursor to the appropriate window and press *both* mouse
  194.         buttons, or, if you have a three-button mouse, press the middle
  195.         button. The view will now fill the whole screen.
  196.         To revert to the normal views, repeat the procedure.
  197.  
  198. Disabling
  199.         Each view can also be disabled, i.e. no refresh will take place
  200.         in that view, it's just drawn black. Do this by pressing '-' on
  201.         the keyboard, while over the view. Press '+' to turn it back on.
  202.         Useful if you're working on a complex scene, but find you only
  203.         need two views. You can then disable one 2D view and the 3D view.
  204.  
  205. Grid
  206.         You can have each 2D-View display a grid over the scene. To toggle
  207.         the grid for each view, move the cursor to the grid you want to
  208.         change and press Alt-G. The grid will appear/disappear.
  209.  
  210. Menus
  211.         The main menu and some other general menus are found on the
  212.         right, next to the four views. The menu region under the 4
  213.         views is used for object-specific menus. The buttons of
  214.         menus are operated by first depressing and then releasing
  215.         the mouse button while over the button (you knew that, right<g>).
  216.  
  217.         ***** NOTE *****
  218.            To leave a submenu the right mouse button should be
  219.            pressed.
  220.  
  221.         To make this a bit more interesting we'll load a sample
  222.         file.
  223.  
  224. Loading
  225.         On the main menu click on FILES. Another menu appears
  226.         with a file selector. You'll notice that all buttons are
  227.         disabled. This is because no filename has been chosen or
  228.         entered
  229.         Select the SAMPL1.MDL file in the file selector window. The name
  230.         now appears above the file selector and below the path. All
  231.         buttons will now be active. Click on LOAD. Confirm the deletion
  232.         of the scene in memory with YES.
  233.         After loading you can see the scene in the 3 windows. Click on DONE
  234.         to leave the FILES menu.
  235.  
  236.         You will notice the the 3D window is empty. This is because we
  237.         haven't defined or loaded a camera. (I specifically left the
  238.         camera out the SAMPL1.MDL file, normally it's saved too.)
  239.         We will do this now.
  240.  
  241. Defining a Camera
  242.         There are two ways of creating a camera. Everything can be created
  243.         from the CREATE submenu. Cameras and textures can also be created
  244.         from special submenus. We will use the second method.
  245.         Click on CAMERAS in the main menu. Now you will see a submenu at
  246.         the bottom open.  All buttons except CREATE CAM are disabled. So,
  247.         press CREATE CAM. You will be asked for a Camera name (You can
  248.         specify up to 8 cameras). Enter a name, such as STDCAM. The
  249.         camera will appear in the list of cameras, in the three 2D
  250.         views and the 3D view window will show you what the camera is
  251.         seeing. The camera can be seen as a line from the viewer
  252.         position (where a viewing pyramid is also visible) and the look-
  253.         at point.
  254.  
  255. Moving Objects I
  256.         Objects can be moved, scaled and rotated in the 3 2D views.
  257.         Results can be observed in all four windows at the same time.
  258.         To move an object, it needs to be selected. All objects are
  259.         visible as grey when not selected. When you select an object it
  260.         turns yellow. The cameras, bounding boxes and bezier patches have
  261.         different colors, the cameras are orange, the bounding boxes are red
  262.         and the beziers are green.
  263.  
  264. Selecting objects
  265.         There are two ways to select an object: graphically and by name.
  266.  
  267.         If you know the name click on SELECT to bring up the object browser
  268.         and choose the object by clicking on its name. If you can't spot it on
  269.         the screen, you may have to use the scrollbars to pan the object tree.
  270.         Its button will be highlighted. If the correct object has been
  271.         selected, click the right mouse button.
  272.  
  273.         You can choose it graphically by moving the cursor near a line in one
  274.         of the 2D views that belongs to the object. Then press and hold the
  275.         SHIFT key. Press the left mouse button and drag the mouse to open a
  276.         rectangle that crosses the line. Then release the mouse button. The
  277.         first object that has an edge that crosses the rectangle will be
  278.         selected, i.e. turn yellow.
  279.  
  280.         The selected objects name can be seen in the top right corner of
  281.         the main menu.
  282.  
  283.         Move the cursor over the camera in any of the 2D windows, press
  284.         and hold SHIFT, press the left mouse button, drag the mouse to open a
  285.         rectangle over the camera, release the mouse button and release SHIFT.
  286.         The camera should be selected. It won't turn yellow, though, because
  287.         cameras are drawn orange. Check the top button of the main menu. It
  288.         should read "OBJ:STDCAM". Sometimes the wrong object of overlapping
  289.         objects will be selected. Either repeat the selection procedure in
  290.         another view, where they don't overlap or zoom into a view to increase
  291.         the resolution and the space around the edges of the object you're
  292.         interested in.
  293.  
  294. Moving Objects II
  295.         Move the cursor to the 'top' view of the scene, i.e. the bottom
  296.         left window. Now press and hold the left mouse button and move
  297.         the mouse. The camera position will follow the movement of the
  298.         mouse and the 3D window will show the resulting projection.
  299.         You will notice the line extending from the camera position to
  300.         the 'look at' point is anchored at the 'look at' side. To move
  301.         the LookAt point press 'L' on the keyboard. You will now move
  302.         the lookat point. Press 'P' for moving the position point.
  303.  
  304. Transformations
  305.         What you are effectively doing when moving the camera, is
  306.         changing the translation parameters.
  307.         You will notice the first 12 or so menu items are headings and
  308.         numbers.
  309.         All objects are transformed according to the parameters shown
  310.         there.
  311.           - First they are scaled,
  312.           - then rotated,
  313.           - and finally translated.
  314.         This may seem a limitation as opposed to the ability to concatenate
  315.         any number of scale, roatate, translate transformations, but we'll
  316.         see later that it's not.
  317.         If you want to put the camera at a certain place, just click on
  318.         the X, Y or Z coordinate shown under the TRANSLATION header and
  319.         enter the number.
  320.         The same goes for scaling and rotation parameters.
  321.         You can press TAB or Alt-TAB to go from editing one parameter to
  322.         editing another, without having a screen redraw in between.
  323.  
  324.         ***** NOTE *****
  325.          Scaling and rotating the camera, however, is different than
  326.          doing that to other objects. The camera uses the ScaleX value to
  327.          extend the viewing pyramid and ScaleZ to change the aperture
  328.          (which is currently set to 30 degrees). Rotation is not used for the
  329.          camera.
  330.  
  331.         Click on the X translation, type '17', press TAB, type -17, again
  332.         press TAB, again type 17 (last time, I promise<g>), and finally press
  333.         Enter.
  334.         The camera now shows this scene quite nicely.
  335.  
  336. Exporting to POV
  337.  
  338.         We'll try rendering this scene. Click on FILES and then click on the
  339.         EXPORT 2 POV button. The scene is now exported to POV. Click on SAVE
  340.         to save the scene. Click on DONE, then from the main menu, click
  341.         on QUIT.
  342.         Change to the directory where MORAY wrote the POV-file. You'll notice
  343.         two files: one named SAMPL1.INC and a SAMPL1.POV. Invoke POV and
  344.         let it trace SAMPL1.POV.
  345.         You can now go into SAMPL1.INC and change a texture, MORAY won't
  346.         overwrite this change during a later session. If you *want* MORAY
  347.         to change, or rather re-export the texture, just delete it from this
  348.         file, including the comment line containing the $MRY$: token. The
  349.         next time you export to SAMPL1, MORAY will append the definition of
  350.         all textures that are used in the scene but are not already exported,
  351.         to the INC file.
  352.  
  353.         Restart MORAY like this:
  354.  
  355.         C:\MORAY> MORAY sampl1
  356.  
  357. Cursor View-Mode
  358.         We just used the cursor in the 3 2D-Windows to *move* the
  359.         camera. The cursor can, however also be used to scale and rotate
  360.         objects.
  361.  
  362.         [ Since this works differently for cameras we'll try this with a
  363.         cube. Select the big cube.]
  364.  
  365.         The button showing the transformation type that will be changed when
  366.         you move the cursor about in the 2D-Views is 'pushed in' on the main
  367.         menu. At the moment the TRANSLATION button should be 'in'.
  368.         Either click on the SCALING button or press 'S'. 'T', 'S' and 'R'
  369.         select the translation, scaling and rotation mode, respectively.
  370.  
  371.         Now the TRANSLATION button has popped out and SCALING has been
  372.         pushed in. Thus cursor movements will now affect scaling.
  373.  
  374. Scaling Objects
  375.         Scaling objects is a bit difficult because the mouse has to be in the
  376.         correct quadrant of the view in order for the scaling to follow the
  377.         mouse and not go off in opposite directions. Move the cursor into the
  378.         top left 2D-View. In *that* view move the cursor into the top right
  379.         quadrant. Now press and hold the left button and move the cursor
  380.         towards the top right corner. The cubes scaling should follow the
  381.         cursor (if it doesn't *call* me<g>). Experiment in the other windows
  382.         too. With scaling always use the top right quadrant.
  383.  
  384. Typing in Values
  385.         Of course, you can just type in the values at the appropriate buttons,
  386.         if you know them. Do this by clicking on the button showing the value
  387.         you want to change. Try this by clicking on the first value under
  388.         TRANSFORM. A line editor will pop up offering you the current value
  389.         as a default and you can then type or edit the new value. Press ESC
  390.         to cancel or TAB or ENTER to confirm. Pressing the right mouse button
  391.         (CANCEL) or the left mouse button (CONFIRM) also works, allowing you
  392.         to keep your hand near the numbers and not having to dash for RETURN
  393.         everytime. Pressing TAB (or Alt-TAB) will also confirm your entry, but
  394.         will allow you to enter the parameter immediately below (TAB) or above
  395.         (Alt-TAB) the last changed parameter.
  396.  
  397. Rotating Objects
  398.         Rotating objects is just like scaling them. Move to the same quadrant,
  399.         drag the object in a circular motion. Try it.
  400.  
  401.         These are the very basics of object manipulation. Try the other menu
  402.         points to see what they do.
  403.  
  404.         Of interest may be the CREATE submenu. Here you will see the
  405.         primitives that are supported. Specifically have a look at the Sweeps,
  406.         and the Patches. Both of these editors will be described later.
  407.  
  408. Editing Objects
  409.         You can edit the selected object by pressing 'E' on the keyboard or
  410.         clicking on EDIT. You will see an edit submenu appear in the bottom
  411.         bar. Try it. Select a cube and press 'E'. You'll see two listboxes,
  412.         showing defined textures and bounding boxes. Some lists may be empty.
  413.         With other objects, buttons and/or listboxes are added to this menu,
  414.         according to the object.
  415.  
  416.         You leave this submenu by pressing the right mouse button or clicking
  417.         on DONE.
  418.  
  419.   Object Names
  420.         You'll also see a few other buttons. One is the NAME button. You
  421.         can click on this to change the name of the object, which is
  422.         displayed in the depressed button right next to it. The name
  423.         is limited to 16 characters.
  424.  
  425.   Object Visibility.
  426.         Also, you'll see a '+' button, a number and a '-' button. This is
  427.         used to assign a level to an object. You can blend out objects that
  428.         have a level higher than one you specify. This means you can assign
  429.         a high level, say 9, to small details of a scene and 1 to rough,
  430.         big objects. Then when you set the visibility level, by pressing
  431.         Alt-1 to Alt-9 or from the options menu, you can blend out things
  432.         you don't currently need to see, so that the screen refresh speeds
  433.         up. This is especially the case when moving the camera in a complex
  434.         scene. You press Alt-1 to blend out unimportant objects, move the
  435.         camera about, then blend in more by pressing Alt-8 (or whatever).
  436.         Objects can have absolute or relative visibility levels. This means
  437.         you can specify that a object has a certain visibility, say 4. Or
  438.         you can say that the object has a visibility one lower than its
  439.         parent. Then when the visibility of its parent gets changed, this
  440.         objects visibility will automatically be changed, too. I strongly
  441.         recommend that you use the relative switch (selected by depressing
  442.         the 'R' button) for objects that are part of a larger object, ie.
  443.         for objects that are sub-objects.
  444.  
  445.   Extended Edit
  446.         Some objects have an extended editor. These are the bezier patches
  447.         and the sweeps. These two editors are activated by pressing the
  448.         EXT. EDIT button and will be explained later.
  449.  
  450. Texture creation
  451.         The modeller directly supports a few textures, and the ones in the
  452.         INC files.
  453.         When you create a texture (from the Main menu, press CREATE, then
  454.         TEXTURE, or from the Main Menu press TEXTURES, then CREATE), you will
  455.         be presented with a list of pre-defined textures and a couple more 
  456.         options.
  457.         If you want to use Textures you have defined in an include file, you
  458.         can simply click on the texture in the list box.
  459.         You can change parameters of this texture. Moray will then write the 
  460.         modifications to the POV file when exporting the scene.
  461.         If you select another option, such as OPAQUE, you can edit all of the 
  462.         parameters.
  463.         The ImageMap type may be of interest, since it can be manipulated in
  464.         3D-Space. Currently planar, spherical and cylindrical projection is 
  465.         implemented. You can select an imagemap texture just like an object 
  466.         and move, scale and rotate it. It will *only* appear when assigned to 
  467.         an object, though.
  468.  
  469. Grouping Objects
  470.         The modeller has the ability to group objects together. This is like
  471.         a composite in POV. Since the transformation of each object is
  472.         'limited' to first scaling, then rotation, then translation, grouping
  473.         offers a way to concatenate transformations. You define objects in
  474.         their own coordinate system, with respect to each other. Then you
  475.         group them and scale, rotate or move the group.
  476.   
  477.         You can select groups either in the Object Browser or by selecting
  478.         one of the children object with the mouse and then pressing Alt-P
  479.         (Parent). The objects editing menu now has an extra listbox containing 
  480.         all the 'subobjects' or children of that object. Press right mouse to 
  481.         leave the edit submenu.
  482.  
  483.         If a group is selected you can move the whole group. All subobjects
  484.         that belong to it stay put in relation to the others.
  485.  
  486. CSG Objects
  487.         The modeller does support CSG objects, but does not (currently?)
  488.         display the wireframe accordingly.
  489.  
  490.         ***** NOTE *****
  491.         The sweep primitives cannot currently be used in CSG. This is because
  492.         they are output as unions of triangles and not as primitives.
  493.  
  494.         There are extra buttons in the CSG Edit menu, allowing you to specify
  495.         the operation between the objects.
  496.  
  497. Texture Assignment
  498.         You will see in the Editing submenu of the objects that there are
  499.         two buttons above the listboxes. The top one says 'NO blabla' and
  500.         the one beneath has a name in it (or is blank). To assign a texture
  501.         click on the texture name in the left listbox. It will appear in the
  502.         button.
  503.  
  504. Hierarchial values
  505.         This name *can* have an asterisk ('*') in front of it. If it does,
  506.         this means that the texture comes from the *Parent* object. This also
  507.         means that you don't have to select each primitive and assign a
  508.         texture to it. You select the whole object, assign a texture to that
  509.         'Group' and all subobjects that have *no* texture assigned to them
  510.         will become that texture, i.e. they inherit it! The subobjects that 
  511.         need to have another texture can have that texture assigned to them 
  512.         and will thus not use the parent texture.
  513.         If you've previously assigned a texture to a subobject and wish to
  514.         rather make it inherit its parents texture, click on the NO TEXTURE
  515.         button in the subobjects editing menu.
  516.  
  517.         The same goes for Bounding Boxes and Levels. If the level of a
  518.         subobject is 0, it will assume the level of its parent, if it
  519.         has one (if not, then of *its* parent etc.), and put an asterisk in
  520.         front of the level.
  521.  
  522.  
  523. Other editors
  524.         The modeller incorporates a bezier patch editor and a sweep editor.
  525.  
  526. Sweep Editor
  527.         Load PAWNS.MDL. This is a quick and dirty copy of an image that
  528.         was on CIS some time ago. Select a pawn. Press 'E' or click on EDIT.
  529.         From the presented submenu select the EXTENDED EDIT button.
  530.         You will see a single coordinate system replace the 4 views.
  531.         This is where the sweep is defined. All sweeps (rotational,
  532.         translational and tapering) are edited here. For rotational sweeps,
  533.         keep the outline to the right of (or on) the vertical axis.
  534.         You can move knots (control points, or rather end points) just like
  535.         in the 3 normal views. Same goes for panning and zooming.
  536.         You don't select the points however, just press and hold the mouse
  537.         button near to the point you want to move.
  538.         The 'handles' can be rotated to create curves. Normally the two
  539.         handles are locked together, but if you press and hold SHIFT before
  540.         moving a handle, only the one handle will be moved.
  541.  
  542.         The slider in the menu determines how many subdivisions will be
  543.         created for the wireframe and for the output to POV.
  544.         This, of course, has a direct effect on the memory requirements<g>.
  545.         After selecting INSERT KNOT, DELETE KNOT or SAME ANGLES the program
  546.         will wait for you to click near a control point and will then do that
  547.         operation on the point you click nearest to.
  548.  
  549.  
  550. Patch editor
  551.         Go to the files menu and press NEW to clear the scene.
  552.  
  553.         Click on CREATE. Click on BEZIER PATCH. You will be presented with
  554.         three choices, specifying the kind of patch.
  555.  
  556.    Sheet patches
  557.         SHEETS are, as the name implies, flat sheets, like paper. You can
  558.         specify how many Bezier patches you want to join together (each
  559.         patch being the POV primitive, i.e. 16 control points).
  560.         MORAY handles the smoothing between adjoining patches, so that
  561.         there are no 'ridge seams' (it doesn't let you directly influence
  562.         those shared points).
  563.  
  564.    Cylinder (2-Patch)
  565.         This is a cylinder-type patch. Two 'sheets' (bezier patch
  566.         primitives) are joined at two edges, forming a cylinder-like form.
  567.         HEIGHT specifies how many of these 2-sheet combos to create.
  568.  
  569.    Cylinder (4-Patch)
  570.         This is basically the same as the two patch type except that four
  571.         patches are now joined to form a cylinder. The classic Utah teapot
  572.         (body and lid) is made of this type of patch. The file TEAPOT.MDL
  573.         contains my version of the Utah teapot.
  574.  
  575.         Select the SHEET option and make sure it says 1x1.
  576.  
  577.    Editing
  578.         Once you have specified the type of patch you want to create click on
  579.         the OK TO CREATE button.
  580.  
  581.         You will see the patch appear in the views and will be placed in its
  582.         editor. Select the EXTENDED EDIT button. Aaaahhh, the patch editing
  583.         mode!
  584.         Lotsa lines, huh? The three views stay, but a labeled grid or
  585.         coordinate system is overlayed. All zooming and panning functions
  586.         remain active.
  587.  
  588.         The menu at the bottom:
  589.         the slider selects, similar to the sweeps, the number of subdivisions
  590.         each patch undergoes while drawing.
  591.  
  592.         There are five modes while editing patches.
  593.         1) You can move control points (TRANSLATE).
  594.         2) You can scale control points relative to the origin (SCALE).
  595.         3) You can scale control points relative to one another (SCALE LOCAL).
  596.         4) You can rotate control points relative to the origin (ROTAT).
  597.         5) You can rotate control points relative to each other (ROTAT LOCAL).
  598.  
  599.         You will see the patch is green and the control grid is cyan. You can
  600.         move one or more points of the control grid to alter the shape of the
  601.         patch. You can also hide the control grid (even while moving control
  602.         points) or the mesh (then you just work with the control grid).
  603.  
  604.    Selecting/Deselecting and moving points
  605.         Again, there are a few ways.
  606.  
  607.    One point
  608.         To move one point, make sure no points are marked. This is shown
  609.         in the middle of the menu, it has a 'MARKED' button and next to it
  610.         a number, showing the amount of points marked.
  611.         Move the cursor near to the point you want to move (to within 1/20th
  612.         of the screen width to be exact<g>). Now press, hold and move the
  613.         cursor.
  614.         This may not always work, especially with the cylinder patches. This
  615.         is because MORAY looks how many points are 'near' enough to your
  616.         cursor. If it's more than one, you can't use this mode of moving
  617.         points. You will actually have to really select this point first, 
  618.         using the method described below (More Points).
  619.  
  620.    More points
  621.         To move multiple points (or one if more than one overlap) you need to
  622.         select them. This is done similarly to the method used in the main
  623.         views. You can move near to the point press and hold LEFT-SHIFT, press 
  624.         and release the left mouse button. All points that qualify for a 'near'
  625.         will be marked (check the indicator to make sure).
  626.  
  627.         You can also define a rectangle in which to select all points. Do
  628.         this by moving the cursor to one corner of the rectangle in which
  629.         you want to select points. Press and hold LEFT-SHIFT, press and
  630.         hold the left mouse button and drag the mouse. You will see a
  631.         rectangle open, when all the points you want to select are in the
  632.         rectangle, let go of the mouse button.
  633.  
  634.  
  635.         Exactly the same method can be used to deselect points. If the
  636.         points in the rectangle you just defined are *all* selected, they
  637.         will all be deselected, else they will all be selected.
  638.         Here the main operation is selection.
  639.         If you want the main operation to be deselection you proceed as
  640.         above, but press RIGHT-SHIFT instead. If the points in the rectangle
  641.         you just defined are *all* deselected, they will all be selected,
  642.         else they will all be deselected.
  643.  
  644.         You'll need to experiment! Basically this selection thing is a toggle
  645.         operation, but you can influence the outcome of a selection operation
  646.         that is ambiguous.
  647.  
  648.  
  649.         Once the points are selected move the mouse into the view, press
  650.         and hold the left mouse button and move the points. When you release
  651.         the button the patch will be updated, unless you turn off the control
  652.         point display.
  653.  
  654.         When done editing the patch, press the right mouse button to leave
  655.         the extended editor and then again to leave the editing submenu.
  656.  
  657.  
  658. HOTKEYS
  659.  
  660.         There are quite a number of hotkeys that are accessible from the main
  661.         menu, from the object browser and in the bezier editor.
  662.         For a complete list, please refer to Appendix A of the Users manual.
  663.  
  664. Some of the keys recognized in the Main Menu
  665.  
  666.   Alt-B     Selects the bounding box of the currently selected object.
  667.   Alt-C     Makes Copie(s) the currently selected object.
  668.   Alt-D     Deletes the currently selected object, without confirmation.
  669.   Alt-E     Calls the Edit screen of the currently selected object.
  670.   Alt-F     Same as clicking on FILES.
  671.   Alt-G     Toggles the grid of the view the cursor is currently over.
  672.   Alt-N     Same as clicking on CREATE.
  673.   Alt-P     Selects the parent of the currently selected object.
  674.   Alt-T     Selects the texture of the currently selected object.
  675.   Alt-R     Redraws the screen.
  676.   Alt-O     Brings up the Options screen (like clicking on OPTIONS)
  677.   Alt-S     Calls the Object Browser (like clicking on SELECT)
  678.   Alt-U     Deselects all objects.
  679.   Alt-V     Verifies the objects (checks that all have textures)
  680.   Alt-X     Quits the program.
  681.  
  682.   Alt-1     Set the visibility level to 1.
  683.   Alt-2     Set the visibility level to 2.
  684.    ...
  685.   Alt-9     Set the visibility level to 9.
  686.   Alt-0     Set the visibility level to 10.
  687.  
  688.   L         When selected object is a camera, changes the thing being
  689.             translated to the LookAt point.
  690.   P         When selected object is a camera, changes the thing being
  691.             translated to the Camera location.
  692.   U         Changes the cursors View-mode to proportional Scaling.
  693.   S         Changes the cursors View-mode to non-proportional Scaling.
  694.   R         Changes the cursors View-mode to Rotation.
  695.   T         Changes the cursors View-mode to Translation.
  696.   X         Toggles the cursor movement locking along the X-axis.
  697.   Y         Toggles the cursor movement locking along the Y-axis.
  698.   Z         Toggles the cursor movement locking along the Z-axis.
  699.   -         Disables updates of the view the cursor is currently over.
  700.   +         Enables updates of the view the cursor is currently over.
  701.  
  702.  
  703.  
  704. ----------------------------------------------------------------------------
  705.  
  706.  
  707.    That's it! That's a quick walk-through. If there was not enough detail
  708.    here, please refer to the MORAY.DOC file, it details all the features.
  709.  
  710.  
  711.    Any ideas, suggestions, criticisms, however wild, let me know<g>. Ways
  712.    to contact us can be found in SUPPORT.TXT.
  713.  
  714.  
  715.    Lutz Kretzschmar
  716.