CS465 Modeler: A brief user's manual
This section briefly outlines the use of the framework, from the user's perspective.
Menus
- File
- Open: selects a file to load. The file must have been
produced using the Save As command.
- Save As: selects a file to save the current model in.
It will be stored in the modeler's private binary format.
- Export: selects a file to save the current model in.
It will be stored in the text-based XML format that is
compatible with the Ray 2 assignment. Exported files can
not be loaded back into the modeler.
- Edit
- Group selected: Introduces a new transformation node
with the selected nodes as children. The new
transformation is initialized to the identity. Grouping
of objects that are not siblings is not particularly
intelligent and may result in some of the objects moving
around.
- Reparent selected: Moves the selected objects so that
they are under another transformation. To use this
command, first select the nodes to be moved, then choose
Reparent selected, then click on the desired
parent node.
- Delete selected: removes the selected nodes from the
tree. Be careful, because there is not an Undo command!
Note that cameras and lights cannot be deleted.
- Select: Put the viewports in selection mode,
so that clicking selects objects.
- Translate selected: Put the viewports in
translation mode, so that a transformation manipulator is
displayed for the selected transformation.
- Rotate selected: Put the viewports in
rotation mode, so that a rotation manipulator is
displayed for the selected transformation.
- Scale selected: Put the viewports in
scaling mode, so that a scaling manipulator is
displayed for the selected transformation.
- Scene
- Add Light: Add a new light source to the
scene. The new light is always added at the root, and
a maximum of eight light sources are allowed.
- Add Sphere, Add Cube, Add
Cylinder, Add Spline/R, : Add a new object to
the scene, as a child of the selected transformation
node. If the selected node is not a transformation or
nothing is selected, the object is added at the root. New
objects are always scaled to fill a two-unit cube centered
at the origin in local coordinates. Every new object
comes with a new transformation node, so that it can be
moved around independently of its siblings.
Tree View pane
The tree view shows the structure of the scene that is displayed
in the viewports. It is here to help you understand that
structure and to make it possible to select intermediate
transformation nodes (which can't be selected by clicking on
objects in the viewports).
You can rename nodes just by editing the text in the tree pane.
The tree pane has a contextual menu (right button menu) that
duplicates many commands from the Edit and Scene menus. It has
one additional command:
- Clear selection: Deselect all nodes in the tree.
This can also be accomplished by clicking on the background in
one of the viewports.
Note that the commands on the contextual menu apply to the
current selection, not necessarily to the node you right-clicked
on.
Property pane
The contents of this pane depend on the selected node.
- Transformations: text boxes allow editing of the $x$, $y$,
and $z$ components of the transformation's translation,
rotation, and scaling components.
- Objects: At the top, you can edit the shading model
parameters, which are RGB colors for the diffuse and specular
components, along with the Phong exponent to control the width
of the specular highlight. Below that you can assign a
texture to the object, which will modulate the diffuse
component of the shading model. The Set button lets
you choose an image file; most file formats are supported, but
the image width and height must both be powers of
2. The Clear button removes the texture from the
object. At the bottom you can set the level of refinement of
the mesh used to display the object. Slices is the number of
divisions along the object's symmetry axis, and Segments is
the number of divisions around the equator. For spline
revolutions, there is an Edit button that brings up the
spline editor.
- Camera: A text box allows you to change the camera's field
of view.
- Light: Text boxes allow you to set the $(x,y,z)$ position
and RGB intensity of the light.
Viewports
The three orthographic and one perspective viewports all show
you rendered views of the 3D scene. The same types of
controls work in all four; the only difference is that the
orthographic views use parallel viewing and have their view
directions constrained to $-y$ (top), $-z$ (front), and $-x$
(side). It is not possible to get bottom, back, or left side
views from the orthographic viewports.
You can enlarge one of the viewports to fill the whole viewport
pane by double clicking with the left mouse button.
The four cameras are linked. The orthographic views are centered
on the target point of the perspective camera; this means the
orthographic views all share a center, and you can shift the
perspective camera around by panning in the orthgraphic view.
The orthographic views all have the same magnification (image
height); this means that when you zoom in and out in one
orthographic view it affects all three.
The controls for moving the camera are as follows:
- Alt/Option-left-drag: pans in orthographic views; orbits around
target point in perspective view.
- Alt/Option-right-drag: vertical motion zooms in and out in
orthographic views; vertical motion translates along the view
direction in erspective view (moves camera closer and farther).
To zoom the perspective camera, select it and use the property
pane. (Yes, you do need a right mouse button; you will have
to plug a two-button mouse into your Mac, or change the UI.)
Clicking with the left button generally selects the object
clicked on. Shift-clicking extends the selection to multiple
objects, and clicking on the background deselects everything.
Multiple selections are mainly for grouping; manipulators apply
to the first object selected only. To manipulate several
objects together, group them and select the group's
transformation.
Selecting an object actually selects the transformation just
above it; this is normally what you want in order to manipulate
it. But if you have created a tree where some objects do not
have their own transformation, editing this transformation may
affect other objects. Look at the tree view to understand what
is selected.
The operation of the manipulators is described in the handout.
You can still select objects when the manipulator is displayed.
Spline editor
The spline editor displays a single chain of Bézier
segments, with the control polygon in blue. Normal control
points are shown as diamonds, and corner points are shown as squares. The
editing controls are as follows:
- left-drag: moves control points around.
- shift-click on curve: adds a segment (by splitting the
segment you clicked on).
- shift-clidk on square point: removes a segment (by
replacing the two segments on either side with a single segment).
Cornell CS465 Fall 2005 (cs465-staff-l@cs.cornell.edu)