home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Bila Vrana
/
BILA_VRANA.iso
/
007A
/
MORAY20.ZIP
/
MORAY.DOC
< prev
next >
Wrap
Text File
|
1996-01-11
|
336KB
|
7,098 lines
Moray V2.0
An Interactive Wireframe Modeller
for
POV-Ray V2.2 or higher
and
Polyray V1.8 or higher
January 1996
Copyright 1992-1996 by
SoftTronics, Lutz + Kretzschmar GbR
E-Mail
100023.2006@compuserve.com
Address
SoftTronics
Lutz + Kretzschmar
Fritz-Reuter-Str. 20b
81245 Munich
Germany
Manual MORAY V2.0 Page 2
----------------------------------------------------------------------
1 Introduction
MORAY is a "shareware program" and is provided at no charge to
the user for evaluation. You are encouraged to pass a
shareware copy of MORAY along to your friends and fellow
raytracers for evaluation. Please encourage them to register
their copy if they find that they can use it. Please do not
give it away altered or as part of another system.
All functions in this shareware version are enabled. This is
so that you can test the complete functionality of the
program. You are reminded that it is a shareware program on
startup.
Please read Appendix D (page 117) for a definition of
shareware.
You must register this program if you continue to use it after
trying it out for a period of 30 days.
Registration benefits:
- you support the further development of MORAY.
- your suggestions are given a higher priority, and you get
to see them earlier.
- you get special update/upgrade conditions.
1.1 Disclaimer agreement
Users of MORAY must accept this disclaimer of warranty:
"MORAY is supplied as is. The author disclaims all
warranties, expressed or implied, including, without
limitation, the warranties of merchantability and of fitness
for any purpose. The author assumes no liability for damages,
direct or consequential, which may result from the use of
MORAY."
The essence of "user-supported" software is to provide
personal computer users with quality software without high
prices, and yet to provide incentive for programmers to
continue to develop new products.
Manual MORAY V2.0 Page 3
----------------------------------------------------------------------
1.2 Registration
If you find this program useful and find that you are using
MORAY and continue to use MORAY after a reasonable trial
period of 30 days, you must make a registration payment of
US$64 or DM 100 to Lutz + Kretzschmar. This registration fee
will license one copy for use on any one computer at any one
time. You must treat this software just like a book. An
example is that this software may be used by any number of
people and may be freely moved from one computer location to
another, so long as there is no possibility of it being used
at one location while it's being used at another. Just as a
book cannot be read by two different persons at the same time.
Commercial users of MORAY must register and pay for their
copies of MORAY within 30 days of first use or their license
is withdrawn. Site-License arrangements may be made by
contacting Lutz + Kretzschmar.
To register please read the file REGISTER.INS for
instructions.
Anyone distributing MORAY for any kind of remuneration must
first contact Lutz + Kretzschmar at the address below for
authorization. This authorization will be automatically
granted to distributors recognized by the ASP as adhering to
its guidelines for shareware distributors, and such
distributors may begin offering MORAY immediately. However
Lutz + Kretzschmar would really appreciate being advised so
that the distributor can be kept up-to-date with the latest
version of MORAY.
1.3 Contacting the authors
Home of POV-Ray and MORAY is CompuServe in the GRAPHDEV area
(GO GRAPHDEV). This is the place to ask questions about POV-
Ray and MORAY, there are a lot of users of POV-Ray (and MORAY)
there. MORAY is available from library 13 as MORAY.ZIP.
The newsgroup comp.graphics.rendering.raytracing is also
frequented by many raytracing enthusiasts.
MORAY can be downloaded via ftp from ftp.povray.org in the
directory /pub/povray/modellers/moray in the file MORAY20.ZIP.
Please see the file SUPPORT.DOC that came with this package
for ways of reaching the authors.
Manual MORAY V2.0 Page 4
----------------------------------------------------------------------
1.4 Credits
I would like to thank all the beta testers that helped make
this program what it is. You know who you are. Thank you all
for your valuable input and support.
Special thanks to Andreas Lagotzki, who wrote the German
manual and found numerous bugs in the process.
Thanks to Steve Perrigo for his extensive editing of the
documentation, making this manual much more readable and
understandable.
Thanks to Thomas Baier for providing code for the blob
evaluation and for allowing me to include his two shareware
utilities, 3DTO3D and POV2MDL. Please support him by
registering these utilities if you use them.
Thanks to Xander Enzmann for his support and code for
interfacing with Polyray.
Thanks to the POV-Team for providing such a high-quality
raytracer for free. Keep up the good work.
Thanks to Matt Drury, sysop of the Graphics Developers forum
on CompuServe for his assistance during the beta test.
Manual MORAY V2.0 Page 5
----------------------------------------------------------------------
2 Table of Contents
1 Introduction .......................................................2
1.1 Disclaimer agreement ...........................................2
1.2 Registration ...................................................3
1.3 Contacting the authors .........................................3
1.4 Credits ........................................................4
2 Table of Contents ..................................................5
3 Installation ......................................................11
4 Tutorials Section .................................................13
4.1 Basic Interaction with MORAY ..................................13
4.1.1 Starting MORAY .............................................13
4.1.2 The View Environment .......................................13
4.1.3 Loading A Scene ............................................14
4.1.4 Panning A View .............................................14
4.1.5 Zooming A View .............................................15
4.1.6 Selecting Objects ..........................................15
4.1.7 Editing Objects ............................................15
4.1.8 Transforming Objects .......................................16
4.1.9 Saving A Scene .............................................17
4.1.10 The View Popup ............................................18
4.2 Creating Objects ..............................................19
4.3 Creating Textures .............................................19
4.3.1 Introduction ...............................................19
4.3.2 The Editor .................................................19
4.3.3 Pigment ....................................................20
4.3.4 Preview ....................................................22
4.3.5 Normal .....................................................23
4.3.6 Finish .....................................................23
4.3.7 Imagemaps ..................................................23
4.4 Create A Simple Scene .........................................24
4.4.1 The Sphere .................................................25
4.4.2 The Camera .................................................25
4.4.3 The Light ..................................................25
4.4.4 The Texture ................................................26
4.4.5 Assign the Texture .........................................26
4.4.6 Making a Pedestal and the Floor ............................27
4.4.7 Rendering ..................................................28
4.5 Editing Sweeps ................................................28
4.6 CSGs and Groups (Grouping Objects) ............................31
4.7 Importing RAW files ...........................................33
4.8 Logos with Heightfields .......................................34
4.9 Editing Bezier Patches ........................................35
4.9.1 A Flat Patch ...............................................36
4.9.2 The Editor .................................................36
4.9.3 A cylindrical patch ........................................37
4.9.4 A Funnel Shape .............................................37
4.9.5 Adding the Twist ...........................................38
4.10 Creating User-Defined Objects ................................38
4.11 Importing Blobs ..............................................39
4.12 Working With Spotlights ......................................40
4.13 The Object Browser ...........................................41
4.14 Copying Objects ..............................................43
Manual MORAY V2.0 Page 6
----------------------------------------------------------------------
4.15 Reference Objects ............................................45
4.16 Visibility Levels ............................................46
5 Reference Section .................................................48
5.1 Main Menu .....................................................48
5.1.1 Object Name (Name) .........................................48
5.1.2 Object Type (Type) .........................................48
5.1.3 Scaling Mode (SCL) .........................................48
5.1.4 Uniform Scaling mode (USCL) ................................48
5.1.5 Clear Scale (CLR) ..........................................48
5.1.6 X, Y and Z Scale ...........................................48
5.1.7 Rotation Mode (ROTAT) ......................................49
5.1.8 Clear Rotation (CLR) .......................................49
5.1.9 X, Y and Z Rotation ........................................49
5.1.10 Translation Mode (TRANS) ..................................49
5.1.11 Clear Translation (CLR) ...................................49
5.1.12 X, Y and Z Translation ....................................49
5.1.13 Undo ......................................................49
5.1.14 Create ....................................................50
5.1.15 Copy ......................................................50
5.1.16 Delete ....................................................50
5.1.17 Select ....................................................50
5.1.18 Textures ..................................................50
5.1.19 Files .....................................................50
5.1.20 Options ...................................................50
5.1.21 Quit ......................................................50
5.2 View Popup ....................................................51
5.2.1 Disable ....................................................51
5.2.2 Disable/Enable Snap ........................................51
5.2.3 Zoom To Obj ................................................51
5.2.4 Zoom To Fit ................................................51
5.2.5 Pan ........................................................51
5.2.6 Zoom .......................................................51
5.2.7 Maximize/Minimize ..........................................51
5.2.8 Select .....................................................52
5.2.9 Redraw .....................................................52
5.2.10 View:type .................................................52
5.2.11 Lock/Unlock Grid ..........................................52
5.2.12 Disable/Enable Grid .......................................52
5.2.13 Insert Node ...............................................52
5.2.14 Delete Node ...............................................52
5.2.15 On/Off Curve ..............................................52
5.2.16 Unmark/Mark All ...........................................53
5.3 Create Submenu ................................................53
5.3.1 Cube .......................................................53
5.3.2 Sphere .....................................................53
5.3.3 Cylinder ...................................................53
5.3.4 Cone .......................................................53
5.3.5 Torus ......................................................53
5.3.6 Plane ......................................................53
5.3.7 Disc .......................................................53
5.3.8 Translational Sweep (TRANS SWEEP) ..........................54
5.3.9 Rotational Sweep (ROTAT SWEEP) .............................54
5.3.10 Tapering Sweep (TAPER SWEEP) ..............................54
5.3.11 Bezier Patch ..............................................54
5.3.12 Heightfield ...............................................54
5.3.13 Raw Triangles Object ......................................54
5.3.14 User-defined Object .......................................54
5.3.15 Blob (LOAD BLOB) ..........................................54
Manual MORAY V2.0 Page 7
----------------------------------------------------------------------
5.3.16 Pointlight ................................................55
5.3.17 Spotlight .................................................55
5.3.18 Arealight .................................................55
5.3.19 Group .....................................................55
5.3.20 CSG Object ................................................55
5.3.21 Camera ....................................................55
5.3.22 Texture ...................................................55
5.3.23 Done ......................................................55
5.4 Files Submenu .................................................55
5.4.1 Current File ...............................................55
5.4.2 New ........................................................55
5.4.3 Load .......................................................56
5.4.4 Save .......................................................56
5.4.5 Save As ....................................................56
5.4.6 Save Sel ...................................................56
5.4.7 Merge ......................................................56
5.4.8 Export .....................................................56
5.4.9 Render .....................................................57
5.4.10 DOS Screen ................................................57
5.4.11 DOS Shell .................................................57
5.4.12 User1, User2 and User3 ....................................57
5.4.13 Options ...................................................57
5.4.14 Done ......................................................57
5.5 File Selector .................................................57
5.5.1 OK and Cancel ..............................................58
5.5.2 Current directory ..........................................58
5.5.3 Frequent directories .......................................58
5.5.4 Filename ...................................................58
5.5.5 Files ......................................................58
5.5.6 Extensions .................................................58
5.5.7 Drives .....................................................58
5.5.8 Directories ................................................58
5.6 Options Submenu ...............................................59
5.6.1 Undo Buffer Size ...........................................59
5.6.2 Clear Undo Buffer ..........................................59
5.6.3 Visibility Level ...........................................59
5.6.4 Grid Snap ..................................................59
5.6.5 Renderer ...................................................59
5.6.6 Render Options .............................................60
5.6.7 Display ....................................................60
5.6.8 Verbose ....................................................60
5.6.9 Pause ......................................................60
5.6.10 Continue ..................................................60
5.6.11 Interruptible .............................................60
5.6.12 Resolution ................................................60
5.6.13 Antialias .................................................60
5.6.14 Jitter ....................................................61
5.6.15 Rays ......................................................61
5.6.16 Method ....................................................61
5.6.17 Max Level .................................................61
5.6.18 Register ..................................................61
5.6.19 About .....................................................61
5.6.20 Done ......................................................62
5.7 Copy Submenu ..................................................62
5.7.1 Scaling Factor Mode (SCL FCT) ..............................62
5.7.2 Scaling Offset Mode (SCL OFF) ..............................62
5.7.3 X, Y and Z Scaling Values ..................................62
5.7.4 Rotation Factor Mode (ROT FCT) .............................63
5.7.5 Rotation Offset Mode (ROT OFF) .............................63
Manual MORAY V2.0 Page 8
----------------------------------------------------------------------
5.7.6 X, Y and Z Rotation Values .................................63
5.7.7 Translation Factor Mode (XLAT FCT) .........................63
5.7.8 Translation Offset Mode (XLAT OFF) .........................64
5.7.9 X, Y and Z Translation Values ..............................64
5.7.10 Orbiting ..................................................64
5.7.11 X, Y and Z Orbit Values ...................................65
5.7.12 Attach ....................................................65
5.7.13 Copies ....................................................65
5.7.14 Reference .................................................65
5.7.15 OK ........................................................65
5.7.16 Cancel ....................................................65
5.8 Object Menus ..................................................65
5.8.1 Common Editing Menu ........................................66
5.8.2 Cylinder Menu ..............................................68
5.8.3 Cone Menu ..................................................68
5.8.4 Torus Menu .................................................68
5.8.5 Disc Menu ..................................................69
5.8.6 Sweep Menus ................................................69
5.8.7 Bezier Patch Menu ..........................................69
5.8.8 Heightfield Menu ...........................................69
5.8.9 RAW Triangles ..............................................70
5.8.10 Blob Menu .................................................71
5.8.11 Pointlight Menu ...........................................72
5.8.12 Spotlight Menu ............................................72
5.8.13 Arealight Menu ............................................73
5.8.14 Group Menu ................................................74
5.8.15 CSG Menu ..................................................75
5.8.16 Camera Menu ...............................................75
5.9 Texture Editor ................................................76
5.9.1 Create Texture (CREATE) ....................................76
5.9.2 Import A Texture Definition (GET) ..........................76
5.9.3 Delete Texture (DELETE) ....................................76
5.9.4 Delete Unused Textures (DEL UNUSED) ........................76
5.9.5 Copy A Texture (COPY) ......................................77
5.9.6 Exit Texture Editor (DONE) .................................77
5.9.7 List Of Textures In Scene ..................................77
5.9.8 Preview Display ............................................77
5.9.9 Make Preview (PREVIEW) .....................................77
5.9.10 Object For Preview (OBJECT) ...............................77
5.9.11 Background For Preview (BACKGND) ..........................77
5.9.12 Texture Type (TYPE) .......................................77
5.9.13 Rename A Texture Layer (RENAME) ...........................78
5.9.14 Add A Layer (ADD LAYER) ...................................78
5.9.15 Delete A Layer (DEL LAYER) ................................78
5.9.16 Reorder Layers (MOVE UP) ..................................78
5.9.17 List Of Layers (AVAILABLE LAYERS) .........................78
5.9.18 Pigment Buttons ...........................................78
5.9.19 Normal Buttons ............................................83
5.9.20 Finish Buttons ............................................85
5.10 Bezier Patch Editor ..........................................86
5.10.1 X-, Y- and Z-Mirror .......................................86
5.10.2 Snapping Points (SNAP POINTS) .............................86
5.10.3 Marked Point Number (MARKED) ..............................86
5.10.4 Mark All ..................................................86
5.10.5 Unmark All ................................................87
5.10.6 Toggle Marked .............................................87
5.10.7 Scaling Mode (SCL) ........................................87
5.10.8 Uniform Scaling Mode (USCL) ...............................87
5.10.9 Local Scaling Modes (LOCAL) ...............................87
Manual MORAY V2.0 Page 9
----------------------------------------------------------------------
5.10.10 Rotation Mode (ROTATE) ...................................87
5.10.11 Local Rotation Mode (LCOAL) ..............................87
5.10.12 Translation Mode (TRANSLATE) .............................87
5.10.13 Divisions Slider .........................................87
5.10.14 Show Mesh ................................................88
5.10.15 Show Control Mesh (SHOW CTRL MESH) .......................88
5.10.16 Continuous updates (CONT. UPDATE) ........................88
5.10.17 Done .....................................................88
5.11 Sweep Editor .................................................88
5.11.1 X- and Y-Mirror ...........................................88
5.11.2 Insert Node ...............................................89
5.11.3 Delete Node ...............................................89
5.11.4 Snap Nodes ................................................89
5.11.5 Marked Node Number ........................................89
5.11.6 Mark All ..................................................89
5.11.7 Unmark All ................................................89
5.11.8 Toggle Marked .............................................89
5.11.9 On/Off Curve ..............................................89
5.11.10 Scaling Mode (SCL) .......................................89
5.11.11 Uniform Scaling Mode (USCL) ..............................90
5.11.12 Local Scaling Modes (LOCAL) ..............................90
5.11.13 Rotation Mode (ROTATE) ...................................90
5.11.14 Local Rotation Mode (LOCAL) ..............................90
5.11.15 Translation Mode (TRANSLATE) .............................90
5.11.16 Divisions Slider .........................................90
5.11.17 Top Z Coordinate (TOP Z) .................................90
5.11.18 Bottom Z Coordinate (BOTTOM Z) ...........................90
5.11.19 Sweep Type ...............................................90
5.11.20 Importing a Glyph (IMPORT) ...............................91
5.11.21 Done .....................................................91
5.12 Object Browser ...............................................91
5.12.1 Main View .................................................91
5.12.2 Collapse All ..............................................91
5.12.3 Expand All ................................................92
5.12.4 Collapse Sub ..............................................92
5.12.5 Expand Sub ................................................92
5.12.6 Larger Font ...............................................92
5.12.7 Smaller Font ..............................................92
5.12.8 Zoom In ...................................................92
5.12.9 Zoom Out ..................................................92
5.13 Command-line options .........................................92
5.14 User-defined objects .........................................93
5.14.1 UDO File Format ...........................................93
5.14.2 Example UDO file ..........................................94
5.14.3 Converting RAW to UDO with the 3Dto3D Utility .............95
6 New Features in V2.0 ..............................................96
6.1 Interface .....................................................96
6.2 Objects .......................................................97
6.3 Textures ......................................................98
6.4 Browser .......................................................99
6.5 Miscellaneous .................................................99
6.6 Rendering ....................................................100
6.7 Exporting ....................................................100
7 Configuration ....................................................101
7.1 MORAY.INI Settings ...........................................101
7.1.1 The [CONFIG] section ......................................101
7.1.2 The [FILEOPEN] section ....................................105
Manual MORAY V2.0 Page 10
----------------------------------------------------------------------
7.1.3 The [TEXTURE EDITOR] section ..............................106
7.1.4 The [OPTIONS] section .....................................106
7.1.5 The [POV DEFFILE] section .................................108
7.1.6 The [POLYRAY INIFILE] section .............................108
7.2 Objects in the Texture Editor Preview ........................109
7.3 The POV2MDL Utility ..........................................109
7.4 VESA Drivers .................................................109
8 Appendix A: Hotkeys ..............................................111
8.1 Main Menu ....................................................111
8.2 Files Submenu ................................................112
8.3 Object Browser ...............................................112
8.4 Edit Menu for Bezier Patches .................................113
8.5 Texture Editor ...............................................113
9 Appendix B: Polyray ..............................................114
9.1 Texturing ....................................................114
9.2 Render Region ................................................114
10 Appendix C: Frequently Asked Questions ..........................115
11 Appendix D: Shareware ...........................................117
12 Appendix E: Index ...............................................118
Manual MORAY V2.0 Page 11
----------------------------------------------------------------------
3 Installation
Installing the program is simple. Depending on where and how
you got the program, you will have a ZIP file containing
the program. You need to unzip this file to a directory
of your choice. It is recommended that you create a new
directory for MORAY and not use an existing one.
For example, if you are installing to drive C:, do the
following from the DOS prompt (note that you do only type the
commands after the end of the prompt '>') :
C:\> md moray
C:\> cd moray
C:\MORAY> copy a:moray20.zip
C:\MORAY> pkunzip -d moray20.zip
This will create a couple of files and sub-directories in the
MORAY directory. Basically, MORAY is now installed, but you
need to edit some files and set certain parameters in
MORAY.INI, so that MORAY knows how to call POV-Ray and/or
Polyray.
In the sub-directory POVSCN, edit the file POVTRACE.BAT and
edit the line that calls POVRAY.EXE to include the whole path
to the executable.
In the sub-directory POLYSCN, edit the file PITRACE.BAT and
edit the line that calls POLYRAY.EXE to include the whole path
to the executable.
Edit MORAY.INI in the main directory and make the following
changes:
- If you have a CD-ROM drive, search for the SkipDrives
variable in the first section [CONFIG] and add the drive
letter of your CD-ROM to the AB already there. E.g. if your
CD-ROM is drive E, make sure that it says ABE after
SkipDrives.
- If your graphics card can do higher resolutions than 640x480
in 256 colors, you can set the GraphicsMode variable to the
resolution you want to use. Note that you may want to leave
this as it is and use the -G command-line parameter first
(see page 92), to find out whether MORAY can use the
graphics mode that you want. If MORAY can use it you can
change it here in the INI later. Remember that Alt-X can be
used to exit MORAY if the screen comes up garbled and you
can't use the mouse.
- Search for the section [POV DEFFILE], near the end of the
INI file. This is where you can specify the switches that
POV-Ray should use on your system.
Manual MORAY V2.0 Page 12
----------------------------------------------------------------------
- Search for the section [POLYRAY INIFILE], near the end of
the INI file. This is where you can specify the switches
that POV-Ray should use on your system.
Manual MORAY V2.0 Page 13
----------------------------------------------------------------------
4 Tutorials Section
The following Tutorials will introduce you to the most
important features of MORAY V2.0. Each tutorial is an entity
in itself, explaining a certain feature. So feel free to just
jump into any tutorial to get to know a feature. Do start each
Tutorial from the beginning, though, since your screen needs
to be in the state that the text assumes.
Most Tutorials start off with MORAY running and ask you to
load a scene. This is covered in the first Tutorial, Basic
Interaction, so you should definitely do this one before doing
any of the others.
V1.5x users: even though you are familiar with a lot of MORAY,
you should skim over the first tutorial and read about what's
new in V2.0. Also, check the chapter in the reference manual
New Features in V2.0 (page 96).
4.1 Basic Interaction with MORAY
4.1.1 Starting MORAY
To start MORAY you change to the directory in which MORAY is
installed and simply enter MORAY from the DOS prompt. MORAY
will then start up, using the graphics mode that you have
defined in the INI file (see Configuration, page 101). You can
also start MORAY in a certain graphics mode or with a certain
scene file (see Command-line options, page 92).
If you start MORAY with no arguments, MORAY will start with a
minimum scene containing one pointlight and one camera.
4.1.2 The View Environment
Once MORAY has started, you will see the main screen. This
screen contains four views into your scene and two menu areas,
one below the views and one to the right of the views.
The default arrangement of the views is to display three 2D
views into the scene and one perspective 3D view.
The 2D views represent the view in the direction of the 3
axes, X, Y and Z. the 3D view represents the view from the
active camera defined in the scene.
Each view is named. The "SIDE" view is looking along the
scene's X-axis, the "FRONT" view is looking along the Y-axis,
and the "TOP" view is looking along the Z-axis. The name of
the 3D view comes from the name of the active camera, who's
position and attributes define the view.
Manual MORAY V2.0 Page 14
----------------------------------------------------------------------
The views can be configured to suit your needs (see View
Popup, page 51). The type of view is displayed in the upper
left corner of each view.
The Main Menu is to the right of the views. It also shows the
transformations of the currently selected object, as well as
the current transformation mode (more on that later). Below
the transformations are the menu buttons that give you access
to the fundamental MORAY functions.
The Editing Menu is at the bottom of the screen, below the
views. The Editing Menu displays attributes for the currently
selected object. If no object is selected, it is empty.
In the lower right corner of the screen you can see six
buttons. The first three are indicators of which axes are
locked and which are free (more on that later). The other
three are a memory display, and indicators for how full the
vertex and edge list are. The first number is the absolute
number of vertices (or edges), the second number is a
percentage. The percentage should never go over 100, otherwise
the wireframe will be incorrect.
4.1.3 Loading A Scene
Let's load a scene so that we can get to know the basics of
interacting with the views.
Click on the FILES button in the Main Menu. The Main Menu now
disappears and is replaced by the Files Submenu. In the Files
Submenu, click on the LOAD button (or press F3). This will pop
up the File Selector. Navigate to the MDL subdirectory and
double click on TUTOR01.MDL. This will load a simple scene
file with a camera, a point light, cube, a cylinder and a
sphere. Now either click on the DONE button at the bottom of
the Files Submenu or click the right mouse button, while the
mouse cursor is over the Files Submenu. This gets us back to
the Main Menu.
Now let's see how we can move the area displayed in the views
and the objects themselves in the scene.
4.1.4 Panning A View
You'll notice that in the TOP view only the cylinder is
visible. The remaining objects are off to the top and left. To
bring the entire scene into view, press the CTRL key, and keep
it depressed. Then move the mouse near the cylinder over the
TOP view, click and hold the left mouse button and drag the
mouse towards the bottom and right. The view will pan with the
mouse movements.
Manual MORAY V2.0 Page 15
----------------------------------------------------------------------
4.1.5 Zooming A View
You will notice that you can't get the whole scene into the
view since it is wider than the current view. What we need to
do is to zoom the view out. To do this, move the mouse over
the middle of the view, press and hold the ALT key, click and
hold the left mouse button and slowly move the mouse away and
towards you. The scene is zoomed in and out, according to your
mouse movements.
Another way of zooming into a view is to define a rectangle
that you want to fill the view with. To do this, move the
mouse to one corner of the rectangle, press and hold ALT and
SHIFT, then click and hold the left mouse button, drag the
mouse to the diagonally opposite corner of the rectangle of
interest and release everything. The view will then be zoomed
so that the view will fill this rectangle.
You can also use the Alt-Z hotkey to zoom the view in such a
way that all objects fit inside the view. Simply move the
mouse cursor over the view you wish to zoom in this way and
press Alt-Z. Do this now with the TOP view.
4.1.6 Selecting Objects
OK, now let's start working with objects. To do this we need
to first select an object. MORAY identifies the selected
object by drawing it in yellow.
The easiest way of selecting an object is to move the mouse
cursor close to an edge that belongs to the object we're
interested in and dragging a rectangle over that edge, while
holding down the SHIFT key.
So, move the cursor close to a line belonging to the cylinder,
press and hold the SHIFT key, click and hold the left mouse
button and drag the mouse until the rectangle covers some of
this edge. Then release everything. The cylinder should become
the selected object. It will turn yellow to indicate this.
The Editing Menu at the bottom of the screen will be replaced
by the Editing Menu for the cylinder.
4.1.7 Editing Objects
The Editing Menu at the bottom of the screen shows you all the
information associated with the currently selected object.
Some buttons are there for all objects, like the NAME of the
object and the NOSHADOW flag. Some buttons are specific to
certain objects and only appear when an object of this type
has been selected. For example the Cylinder adds the OPEN
button. This allows you to create an open cylinder.
Using the technique described, select the cube. You'll notice
that the OPEN buttons have disappeared. This is because the
OPEN buttons make no sense when a cube is selected.
Manual MORAY V2.0 Page 16
----------------------------------------------------------------------
Click on the NAME button. This will pop up a line editor (this
is a pop-up box that allows you to enter a line of text),
containing 'ACube', the name of the object. You can now change
the name with the keyboard. If you want to edit the existing
name, make sure that the first key you press is not a letter,
but a navigation key like an arrow key, DEL, HOME or END. So,
change the name to 'MyCube' by pressing DEL twice and typing
'My'. Then press ENTER or click on the left mouse button to
confirm the change.
As an alternative, you can just type the new name for the
object and it will replace the prior name. Objects can be
renamed at any time.
Names can be quite descriptive. They can include upper and
lower case letters and can include spaces (these are replaced
by underscores when exporting). Names can be up to 15
characters long, including spaces. For example, "Big Blue Box"
could be a valid object name and would be much more
recognizable than "BBB".
4.1.8 Transforming Objects
Now let's take a look at how to move objects about, scale them
and rotate them.
You'll notice at the top of the Main Menu, below the buttons
that display the name and the type of the currently selected
object, that there are menus for the three modes of
transformations. These are the three modes of transformation
that can be applied to an object. They are applied to the
object in the same order that they appear in the menu: first
scaling, then rotation, then translation.
You will also notice that at the top of each of these three
transformation mode menus are two buttons (or three in the
case of the scale group).
The Scale mode control buttons are SCL, USCL, and CLR. If you
depress the SCL button (or press "S" on the keyboard) the
scaling of the object will apply only to the axes you scale
along. Try this. The SCL transformation mode is used to
stretch an object or compress it along one or two axes.
To apply a uniform scale press the USCL button (or press "U"
on the keyboard). The uniform scale mode is used to grow or
shrink an entire object while retaining its basic form. Try
this now. The CLR button rescales the selected object to one
unit in each direction.
The Rotate mode buttons are ROTATE and CLR. The ROTATE button
enables the rotate mode. The CLR button resets the rotation to
zero on all axes.
The Translate mode buttons are TRANS and CLR. The TRANS button
enables translation mode. The CLR button resets the
translation to zero on all axes, placing the object back at
the origin.
Manual MORAY V2.0 Page 17
----------------------------------------------------------------------
The active transformation mode will be displayed as a
depressed button. Currently this should be the TRANS button,
meaning that the selected object is ready to be translated by
moving it with the mouse. Note that you can use the keyboard
to change any of the nine transformation parameters,
regardless of the current transformation mode. If the TRANS
button is not depressed, click on it.
Select the cylinder and then move the cursor over the cylinder
in the TOP view, click and hold the left mouse button and drag
the mouse. The cylinder will follow the mouse movements. When
you've moved the cylinder to where you'd like it, release the
button.
Let's try rotating the cylinder. Since the currently active
transformation mode is TRANS we need to set this to ROTAT. You
can do this by clicking on ROTAT or pressing the 'R' key on
the keyboard ('T' activates translation, 'S' is for scaling).
In the FRONT view move the cursor over the cylinder, off to
one side (doesn't matter which side). Click and hold the left
mouse button and move the mouse cursor in a circular path
around the center of the cylinder. The cylinder will rotate to
follow the mouse. Note that the cylinder always rotates around
its own origin. All objects in MORAY behave like this. Release
the mouse button at anytime to keep the cylinder in that
position.
You will see that the three buttons under the active
transformation mode are updated once you release the mouse.
These buttons are not only for display. Click on the first
button in the ROTAT group. You will see a cursor appear in
this field and you can enter a number. Enter '0' and press
TAB. This sets the X rotation to zero and activates the next
field, which is the Y-rotation. Enter '0' again and press TAB.
The Z field becomes active. Again enter '0' and now press
ENTER. This finishes your numerical input. Objects can be
transformed with precision accuracy using direct numerical
input.
You can now try scaling the cylinder using the same techniques
used above to translate and rotate it.
4.1.9 Saving A Scene
To save a scene, go into the Files Submenu and click on SAVE.
If you previously loaded a file, MORAY will overwrite the file
on your harddisk, but will create a backup of the old version.
To save it under another name use the SAVE AS button. File
names should consist of no more than eight characters. MORAY
will add the ".MDL" extension if you leave it off.
If you are working on a scene, you can press F2 from the Main
Menu at any time without going into the Files Submenu to save
your work.
Manual MORAY V2.0 Page 18
----------------------------------------------------------------------
4.1.10 The View Popup
The views have a number of features that can be turned on and
off, like the grid for example. To allow you to use these
features each view has a Popup (menu) that you can invoke by
clicking the right mouse button while the mouse cursor is over
it.
Let's turn the grid off in the TOP view. Move the cursor into
the TOP view and click the right mouse button. You will see a
DISABLE GRID button at the bottom of the View Popup. Click on
this button. The grid disappears. Now do another right click
and notice that the button at the bottom now reads ENABLE
GRID. Click this to re-enable the grid.
Another useful function is the LOCK GRID function. Zoom the
top view so that the distance between the grid lines is 1
unit. Now right click and click on LOCK GRID. Now zoom out.
You'll notice that the grid lines remain at their current
spacing and are not automatically adjusted to suit the zoom
level.
You can also invoke one-shot mouse functions (pan, zoom and
select) from here. Once you've clicked on one of these three,
the View Popup will disappear and the next time you attempt to
drag something in the view, the view will execute the function
associated with the button you clicked on. So, click right,
then click on PAN. The View Popup disappears. Now click and
hold the left mouse button and move the mouse. The view will
be panned, as if you'd pressed CTRL. When you let go of the
mouse button, the behavior of the mouse is back to normal.
If an object is selected you can zoom the view to this object
by clicking on ZOOM TO OBJ.
Another feature that the View Popup offers is the ability to
change the view type. Do a right click over the TOP view. Now
click on the VIEW:TOP button. The View Popup disappears and
another one appears that contains at least three buttons
(SIDE, FRONT, TOP) as well as any camera names. Clicking on
one of these will change the view type. Click on the ACAMERA
button. This will turn the view into a 3D view of the scene as
seen by the camera 'ACamera'. Change it back to TOP view in
the same way.
You can also maximize one of the four views, making it use all
available view space. Use the MAXIMIZE/MINIMIZE pair in the
View Popup.
Once you start making very large scenes the redraw time in
each view will increase because of the overall complexity of
the scene. You can speed up your editing by disabling views
that are not needed at that time. This can be done by pressing
DISABLE in the View Popup or by placing the mouse cursor over
the view you want to disable and pressing the "-" key. To re-
enable the view you must place the mouse cursor over the blank
view and press the "+" key, since even the Popup is then
disabled.
Manual MORAY V2.0 Page 19
----------------------------------------------------------------------
4.2 Creating Objects
Creating an object is quite simple, you click on CREATE in the
Main Menu. The Main Menu is then replaced by a submenu with
all the objects that MORAY can create.
You click on the type of object you want. This pops up a line
editor, prompting you for the name of the object. A default
name is presented, which you can accept by simply left-
clicking the mouse or pressing Enter. The name can also be
edited as previously described.
The Bezier Patch object is the only object that then displays
another menu, requesting the shape type you want to create.
For more details on the Bezier Editor, refer to tutorial on
page 35.
After creating an object (or objects) return to the Main Menu
by pressing DONE at the bottom of the CREATE Submenu or by
right-clicking while the mouse cursor is over the CREATE
Submenu.
4.3 Creating Textures
4.3.1 Introduction
MORAY offers a very powerful texture editor to aid you in
creating all sorts of textures for POV-Ray. It is very
intuitive to use and we will use as many of the basic
functions as possible in this example. We will create a
hexagon texture, a marble texture and an imagemap texture.
Start up MORAY and load the scene TUTOR02A.MDL. Tutorial 1
explains how to load a scene file.
4.3.2 The Editor
Click on the TEXTURES button in the Main Menu. This will
invoke the Texture Editor, which will fill the whole screen.
It is currently empty, since no texture is loaded for editing.
Click on the CREATE button and type 'MyHexagon' when prompted
for the name of the texture. Names can include upper and lower
case letters as well as spaces. Texture names can be up to 25
characters in length. The screen now initializes and becomes
full of controls to allow you to edit this texture.
Manual MORAY V2.0 Page 20
----------------------------------------------------------------------
There are three main regions on the screen, the first is the
pigment, the second the normal and the third the finish
section. This is the POV-Ray nomenclature for textures.
PIGMENT defines the color, transparency and type of pigment of
a texture. NORMAL defines whether the surface is bumpy and
FINISH defines whether the object is shiny, matte, reflective
etc. Please refer to the POV-Ray docs for more details. When
you export to Polyray, MORAY matches the settings to Polyray
equivalents.
You'll notice that the texture name 'MyHexagon' can now be
seen in the listbox at the right top part of the screen. This
listbox contains a list of all the textures that are currently
defined in your scene.
The name also appears in the top left listbox. This listbox
shows you the structure of the currently selected texture. For
simple textures this listbox will never contain anything else.
When you start creating layered textures, material maps or
tiles, you will see more information in that listbox.
4.3.3 Pigment
The frame labeled PIGMENT is where you specify the color,
transparency and type of pigment that the texture should have.
The first item in the frame is the TYPE combobox, which
currently reads 'Solid Color'.
Below this are two rectangles, one of which is not as tall as
the other one. Both are currently black. The top one is the
color of the pigment. The one below that displays the filter
value in grayscale which represents the transparency of the
pigment. Below this block are seven sliders and another two
rectangles next to them. These two rectangles show you the
color that the sliders currently affect. For the Solid
pigment, the upper and lower pair of blocks are always the
same.
Click on the TYPE combobox (currently reading 'Solid Color')
and you will see that all POV-Ray pigment types are available
to choose from. Select Hexagon. The combobox closes and the
display is changed a bit. There are now three new buttons
(TURB, FREQ and PHASE).
There are now three pairs of rectangles next to each other.
The first of these is depressed, the other two are released
(check the frames). Click on the middle color that is
currently gray. This makes this second color the active color,
i.e. now this button is depressed and its colors are the ones
loaded into the sliders and the color box below. We can now
use the sliders to change this color.
Manual MORAY V2.0 Page 21
----------------------------------------------------------------------
There is also a GET button. This allows you to "get" or place
a predefined color into the current selection. Click on it now
and choose 'MediumBlue' from the list. The Color Box and the
middle top rectangle turn blue and the sliders move to the
settings that define MediumBlue. Note that there is no link or
connection to the MediumBlue color, only the RGB values have
been imported. This means that if you now modify the color, it
will have no impact on the MediumBlue color in the predefined
color list.
Click on the left color block, that is currently black. Then
grab the RED slider and move it left and right. You will see
the color in the left top block and the Color Box change
between black and red. The HUE, SAT and LUM sliders also move.
The equivalent color in the HSL color model is calculated in
parallel and displayed in the sliders. Moving the HUE slider
also updates the RGB sliders. Think of the HUE, SAT and LUM
sliders as using a different color model as the RGB sliders.
The colors of each model are converted to the other model,
depending on which slider you are moving. Experiment to get a
feel for the sliders. HUE changes the color, SAT the
saturation (lower to get pale colors, higher for bright
colors), LUM the luminance (lower for dark colors, higher for
light colors).
The last slider sets the FILTER component of the color. The
two narrow rectangles in the color blocks show a grayscale
representation of the filter value, where black is opaque and
white is transparent.
Below the sliders are nine input fields that allow you to
transform the textures pigment, relative to the whole texture.
Now let's make a marble texture. Click on the CREATE button
and enter 'MyMarble' as the name of the texture. Use the TYPE
combobox to make it a MARBLE pigment. There are three new
buttons (TURB, FREQ and PHASE), a colormap and several new
buttons near the GET button in the Pigment box.
The colormap is showing the default colormap going from black
at 0.0 to white at 1.0. Below the colormap is a narrow
rectangle, which shows the filter component of the colormap
(currently black, i.e. opaque). Starting below this are two
arrows that go to a black and a white button. The black button
is depressed, the white one released. This means that the
black color is loaded into the sliders and moving the sliders
changes the black entry. Try this by grabbing the blue slider
and moving it left and right. You'll see the colormap change
to reflect the movement. Set the sliders to 1.0, 0.8 and 0.5
for the red, green and blue components respectively.
Manual MORAY V2.0 Page 22
----------------------------------------------------------------------
More complex color gradations can be created by adding
additional incremental steps to the colormap. New colors are
added to the right of the currently selected color. Click on
the leftmost color box and then click on the ADD button (two
buttons above the GET button). You'll see a third color
inserted halfway between the yellow and white entry, with an
arrow pointing up into the colormap, positioned halfway
between them. The color is automatically set to the color that
would be present there. This means that adding a color does
not change the colormap, until you move the sliders or
retrieve a predefined color with the GET command. You will
also see that the button of the added color is depressed and
loaded into the sliders. Use the sliders to set the color to
0.8, 0.4 and 0.4 for RGB.
Now we want this color to be positioned at 0.8 and not at 0.5
as it currently is. There are two ways to do this. If you know
exactly where you want it, you can click on the button next to
the COPY button and enter the exact position. Otherwise, you
can move the mouse cursor over that arrow tip that extends
from the colors button pair to the bottom of the colormap.
Then click and hold the left mouse button and move the mouse
left and right. The colormap changes to reflect how moving the
position of the color affects the colormap. Release it when
the arrow is at about 0.8. There are major markings every 0.1
units and minor every 0.05 units on the colormap, just above
the arrow tips.
Now click on the white button and change the colors to 0.5,
0.3 and 0.6 for RGB.
Note that the arrows for the leftmost and rightmost buttons
cannot be moved, they are fixed at 0 and 1 respectively. Note
also that the ADD and DEL button are currently inactive
(grayed). This is because the ADD button adds a color after
the currently selected color and the DEL button deletes the
currently selected color, but neither of these operations are
currently allowed because we have selected the last color in
the colormap.
The colormap is used for all POV-Ray pigment types that
require a colormap, like agate, onion, gradient, wood, marble,
etc.
MORAY also supports imagemaps, which we will create in a
minute. First we will use the PREVIEW function to take a look
at our marble texture.
4.3.4 Preview
At the top of the screen in the middle is a large framed area,
below which is a button labeled PREVIEW.
Manual MORAY V2.0 Page 23
----------------------------------------------------------------------
There are two comboboxes to the left of the preview area,
labeled OBJECT and BACKGND. These two comboboxes can be used
to specify what object is to be rendered with the texture and
what background should be present. The background is useful
when making reflective or refractive textures or textures with
a filter value. You can specify that a floor, a backdrop or
both be present. The floor will be checkered black and white
and the wall will have black and white horizontal stripes.
You can add your own objects to this combobox later (see
Configuration, page 101).
Set the Object to Sphere and the Background to None.
Click on the PREVIEW button or press F9. MORAY will now call
the active raytracer to render a simple scene using the
texture we've just designed. MORAY will load the resulting
file into the preview box when the raytracer returns.
You'll notice that our marble doesn't look much like marble,
but more like a gradient. This is because we haven't set
turbulence. Click the button next to the TURB label and enter
1.0. Notice that other buttons now appear that allow you to
adjust parameters related to turbulence (Omega, Octaves and
Lambda). You can leave these values set to their defaults. Now
press F9 (or click on PREVIEW). Much better.
This is the state in TUTOR02B.MDL.
4.3.5 Normal
The normal region works very similarly to what we've just
learned about the pigment region. Simply experiment with the
settings. It probably makes more sense to experiment with a
solid color pigment, so that you can see the effect of the
bumps without the color changes non-solid pigments create.
The Bumpmap setting works very similarly to the Imagemap
buttons.
4.3.6 Finish
The finish region also works very similarly to what we've just
learned about the pigment region. The sliders in the finish
region correspond to the texture settings of POV-Ray. Refer to
the POV-Ray manual for more information on the effects of
different finish settings.
4.3.7 Imagemaps
When using imagemaps, the color sliders are not needed since
the colors come from a bitmap file. Enter the Texture Editor
and create a new texture. Change the pigment type to Imagemap.
You'll see the sliders disappear and several other buttons
appear.
Manual MORAY V2.0 Page 24
----------------------------------------------------------------------
The first button allows you to specify the file that the
imagemap should use. It is set to POVMAP.GIF by default. If
you click on the FILE button, the File Selector will pop up
allowing you to choose a file to use as a bitmap.
Below this are three buttons that allow you to specify how the
imagemap is projected, whether the imagemap should be tiled
and whether it should be interpolated (smoothed). These are
comboboxes that allow you to choose the options that POV-Ray
offers, please refer to the POV-Ray documentation for more
details.
Imagemaps allow you to make certain colors transparent by
specifying the imagemap color index and its filter value, or
you can set the whole imagemap to use a certain filter value.
The combobox below the FILTER label allows you to choose
either NONE for no filter settings, ALL for setting all the
filter settings at once and SINGLE LIST for setting single
indexes to use filter values.
Setting it to SINGLE LIST makes a couple of controls appear.
There is a listbox which will display the list, there is an
ADD button to allow you to add filter entry, there is a DEL
button to delete a filter entry, there is the DEL ALL button
that deletes all the filter entries in the list and there is a
filter edit field where you modify the filter setting of the
entry selected in the listbox.
To add a filtered index, click on the ADD button. You will be
prompted to enter the index value. The default value is always
one higher than the last index you entered and starts off with
one. After this you are prompted for the actual filter value.
Once you have entered this, the entry is added to the listbox.
If you want to change the filter value, click on the entry in
the listbox to select it and then click on the edit field next
to the FILTER label under the listbox. This allows you to
enter the new filter value.
4.4 Create A Simple Scene
Let's go through all the steps required to create a scene and
render it. The scene consists simply of a marble sphere on a
hexagon floor, lit by a spotlight.
Press F3 and load the TUTOR02A.MDL file. (You can discard the
changes you made in the last tutorial.)
This is a completely empty scene, similar to what you'd get if
you were to click on NEW in the Files Submenu.
Manual MORAY V2.0 Page 25
----------------------------------------------------------------------
4.4.1 The Sphere
Click on CREATE. The Main Menu is replaced by a submenu of all
available primitives. Click on the SPHERE button. You are
presented with a default name, which you can change or accept.
Note that MORAY requires that every object has a unique name.
The default that MORAY offers you is always unique. For the
moment press Enter to accept the default name.
The sphere is placed at the origin and is selected. Click the
right button while the cursor is over the menu. This returns
you to the Main Menu. Click on the bottom button of the
translation block to change the Z-translation to 1. This will
move the sphere up one unit so its lowermost point is
tangential to the X-Y plane.
4.4.2 The Camera
We need a camera to define how you want the scene to be
rendered, so create one by clicking on CREATE and then CAMERA.
You will see that the fourth view now shows a 3D view of the
scene, with the sphere in the center of the view. You can load
TUTOR02C.MDL at this point if you're not following along.
The panning and zooming methods of the 2D views also work in
the 3D view. However they are different in that they effect
the actual scene you're creating. When you pan in the 3D view
(Ctrl and left mouse button drag), you are rotating the lookat
point of the camera around the camera position. When you zoom
the 3D view (Alt and left mouse button drag), you are
increasing and decreasing the field of view of the camera,
i.e. going from telephoto to wide angle.
Try this now by moving the mouse cursor over the middle of the
3D view, press and hold CTRL and click and hold the left mouse
button and drag the mouse. The view will pan by rotating the
cameras lookat around the cameras position. You can watch the
camera in the 2D views. Release the buttons when the sphere is
in the middle of the view.
Try zooming in the 3D view in the same way.
4.4.3 The Light
OK, now we still need a light source, so that our scene is
lit.
Click on CREATE and on SPOTLIGHT. Accept the default name. At
the bottom of the screen you will see that the spotlight has
added quite a number of new controls to the Editing Menu.
Among them are sliders for the color of the light. Use the
very bottom slider to set the lights intensity to about 0.80.
You can use the three sliders above this to make colored
lights. We won't do this now.
Notice that the spotlight is positioned on the origin, which
is not a good place for it. Get back to the Main Menu (right
click while over the CREATE Submenu) and set translation mode
(press 'T').
Manual MORAY V2.0 Page 26
----------------------------------------------------------------------
Use the mouse or the transformation buttons to set the
spotlights position to -10,0,10. Now we'll rotate the
spotlight, which is currently facing straight down, to point
at the sphere. We will also use the current SIDE view to look
at what the spotlight is seeing.
Right click while in the SIDE view. Select the VIEW:SIDE
button and then click on the SPOTCAM001 button. This view will
now show the scene from the perspective of the spotlight's
point of view (or illumination). The view will be filled with
two circles, but otherwise empty. This is because the
spotlight is still pointing down. Select ROTATION mode (press
'R' or click on ROTAT) and use the FRONT view to rotate the
spotlight so that it points towards the sphere. Watch the
spotlight view, where the sphere will appear and when the
sphere is in the middle of the inner circle stop rotating. If
you cannot place it in the middle and it jumps between two
positions, you may have SNAP on. In this case let go of all
buttons, right click over the view and click on DISABLE SNAP.
Then rotate a bit more until it's centered.
Inside the outer circle that you can see in the spotlight view
is where the light starts to shine. Inside the inner circle
the light is at full brightness and falls off from there as it
gets towards the outer circle. If you've been following along
you should have the setup similar to that shown in
TUTOR02D.MDL.
You'll notice that the sphere is inside the inner ring. This
means it will be fully illuminated. But the outer ring is too
large. We want a spotlight with a much smaller edge area. We
will decrease the outer ring radius. To do this click on the
left arrow button next to the FALLOFF slider in the
spotlight's Editing Menu at the bottom of the screen until the
number in the slider reads 8.5. You'll notice the rings are
closer together now. The view is always zoomed in such a way
that the outer ring fills the view vertically, that's why the
outer ring didn't get smaller, but the inner seemed to get
bigger and the view was zoomed.
4.4.4 The Texture
Use the knowledge you acquired in the Creating Textures
Tutorial to create a marble texture for the sphere. Scale it
by 0.5 in all axes in the Texture Editor.
4.4.5 Assign the Texture
The sphere currently has no texture assigned to it. We will do
this now.
Manual MORAY V2.0 Page 27
----------------------------------------------------------------------
First select the sphere. You'll notice that the Editing Menu
at the bottom of the screen contains a couple of buttons on
the left and a listbox at the left edge. This list contains
the currently defined textures of this scene. Currently this
is only 'MyMarble'. Above the listbox is an empty button. This
button contains the name of the texture assigned to the
selected object. Click on 'MyMarble' in the listbox.
'MyMarble' also appears in this button, indicating that the
texture is now assigned to the object.
4.4.6 Making a Pedestal and the Floor
Let's make a imagemapped pedestal and hexagon-patterned floor.
Create a Cube. Scale it by 1.3, 1.3, 0.3 and translate it by
-0.3 in Z. Now create a Plane and translate it by -0.6 in Z.
Click on Textures to enter the Texture Editor, click on
Create, enter 'MyHexagon' and press Enter. The texture has now
been created, but it is not a hexagon texture yet, so click on
the TYPE combobox in the Pigment block and select Hexagon.
You'll see three color blocks appear above the color sliders.
These represent the three colors of the hexagon texture. The
leftmost color (currently black) is the one that is loaded
into the sliders. Use the sliders to make it yellow (red and
green sliders all the way to the right, blue to the left).
Now click on the second color (currently gray). Move the red
slider all the way to the right and the blue slider all the
way to the left, making an orange.
Finally click on the third color (currently white). Move the
green and blue sliders all the way to the left, making a red.
Make another texture called MyImagemap and change its type to
Imagemap. Click on the FILE button and select the file
PLASMA.GIF. Leave all other pigments settings except the
transformations at their defaults. Change the X- and Y-Scaling
to 2.0 and the X- and Y-translation to -1.0.
Leave the Texture Editor and assign the MyImagemap texture to
the cube (select the cube, click on MyImagemap in the texture
list). You will see a wireframe representation of the texture
appear. This can be selected and transformed as you need.
Normally MORAY exports the texture in each objects coordinate
space, i.e. relative to the objects origin. But you can also
make MORAY export the texture in the objects parents
coordinate space (or in world coordinates if it has no
parent). To do this there is a button above the name of the
texture in the object's Editing Menu, currently labeled LOCAL.
Click on this button. It changes to GLOBAL and the imagemap
becomes smaller. This is because the texture is applied to the
cube after the 1.3 scaling of the cube. Try moving the Cube
about. The texture stays where it is and is not influenced by
how you move the cube. Undo the transformation to place the
cube back at the center of the XY-plane. Change it back to
LOCAL. Now the texture will remain attached to the cube if you
move the cube.
Manual MORAY V2.0 Page 28
----------------------------------------------------------------------
Now assign the MyHexagon texture to the plane. You will again
see a wireframe representation of the texture appear.
Select the MyHexagon texture by shift-dragging a rectangle
around part of the hexagon texture. It should turn bright-
green. Set Uniform Scaling Mode (by pressing 'U' or clicking
on USCL) and scale the texture down so that it fits inside the
unit square on the plane (about 0.5). You'll notice the
numbers in the hexagon texture. These represent the colors,
the hexagon where the 1 is will be yellow, the 2 will be
orange and the 3 will be red.
Notice in the 3D-view that the object is a bit low. Move the
mouse over the 3D-view, and Ctrl-Drag the mouse upwards until
the pedestal is nicely visible in the view. We've just panned
the lookat point of the camera.
The current state can be found in TUTOR02E.MDL.
4.4.7 Rendering
Our simple little scene is now complete. You should save it
now by pressing F2. You can render it by pressing F9, or
clicking on the RENDER button in the Files Submenu. You can
also use Ctrl-F9 to just export the scene and render it from
DOS (or Windows) by going into the current scene directory and
typing GO.
4.5 Editing Sweeps
MORAY allows you to create quite a number of different sweeps.
You can create three basic types of sweeps: translational,
tapering and rotational. The tapering sweeps are a special
case of translational that taper to a single point at the
origin. Each of these types can use 4 different types of
curves to define their outline: Linear, Quadratic, Cubic and
Glyph.
The editor that allows you to define the outline of the sweep
is the same for all sweep types and curve types.
In this tutorial we'll create a translational and a rotational
sweep.
Start MORAY and create a translational sweep (click on CREATE,
click on TRANS SWEEP, accept the default name). You'll see
what looks like a cube appear on the screen. This is because a
square is the default shape a translational sweep starts out
as. You'll also notice that the Editing Menu of this object at
the bottom of the screen has a EXTENDED EDIT button. This gets
us to the actual sweep editor, so click on it now.
The four views are now replaced by one 2D view showing a green
square, which is the sweep. You can also see a new menu appear
at the bottom of the screen.
Manual MORAY V2.0 Page 29
----------------------------------------------------------------------
At the four corners of the sweeps are little squares. These
are the control points of the sweeps curves. You can use
standard view procedures (see the Basic Interaction Tutorial)
to pan, zoom, move points, select points and right click. So
move the mouse over the lower right control point and move it
to the right and down (click and hold the left mouse button,
drag the mouse and release).
Now select the two leftmost points of the sweep. They will
turn yellow and the button beneath the MARKED label in the
menu will read 2. This button always displays the number of
selected points.
Now you can move these points about. After trying this out,
leave them roughly in the same position they were in.
Click on the INSERT NODE button. You'll notice the cursor
indicates that you are insert mode. Move the cursor over the
middle of the top edge of the sweep and click. MORAY will
insert a control point at the place where you clicked. You can
move this point about to change the contour.
Click on the DELETE NODE button. The cursor indicates that you
are now in delete mode. Move the cursor over the newly
inserted control point and click. The control point is removed
and we're back to the four-sided figure.
You can also delete more than 1 point at a time. To do this,
select the points (Shift-drag) and then click on the DELETE
NODES button. You will be asked to verify whether you really
want to delete the marked points.
Now click on the combobox that currently reads LINEAR. This
box is used to change the type of spline curve used to
interpolate between the control points.
LINEAR means that each control point is connected to the next
control point by a straight line.
QUADRATIC means that each control point is connected to the
next control point by a quadratic function. This means that
there are edges at just about every control point on the
curve.
CUBIC means that each control point is connected to the
previous and the next by a cubic function. This makes a very
smooth curve with no edges anywhere along the curve.
GLYPH is a curve type that uses three adjacent control points
to make a bezier spline between them. It is also possible to
define straight line segments.
Click on the QUADRATIC option in the combobox. You'll see the
shape has changed. Click on the CUBIC option. Again, the shape
changes. It is now a very smooth shape.
Manual MORAY V2.0 Page 30
----------------------------------------------------------------------
Click on the GLYPH option. The shape now looks a bit like a
drop. Notice that with the GLYPH type, the curve no longer
goes through all the control points. However, it will always
go through the first control point (this has technical
reasons).
You can use the subdivision slider to increase the detail with
which the outline should be drawn. Set it to 10. This setting
is also used when exporting to the raytracer. Note that this
setting will increase the amount of memory that MORAY will
need for the object as well as the amount of memory that the
raytracer will need for the triangles.
Let's take a closer look at the glyph sweep type, since this
allows very flexible sweep design.
One of the nice properties of the glyph sweep is that it can
combine curved and linear pieces in one outline. To do this,
each control point can be specified as lying on the curve or
off the curve.
If it lies on the curve, there will be an edge at that control
point and the sweep outline will pass through the point.
If the control point is specified as being off the curve, the
outline is a curve between the previous and the next control
point and the outline does not pass through the control point.
If two adjacent control points are on the curve, they will be
connected by a linear segment.
Move the cursor over the control point at the right top part
of the sweep and click the right mouse button. The View Popup
has a item named ON CURVE. Click on it and the sweep now forms
an edge at this control point and passes through it. Click the
right mouse button again and the menu item in the Popup is now
OFF CURVE. Click on this and the point is again off the curve
and the sweep forms a curve at this point.
You can also change the on/off state of more than one control
point by first marking them and then clicking on the
ON/OFF CURVE button in the menu or the View Popup.
As you may have noticed there is one control point that cannot
be taken off the curve. The curve will always pass through it.
You can still make a circle-like shape. Click the right mouse
button for the View Popup. Click on INSERT NODE, and click in
the middle of the bottom horizontal edge. This inserts a
control point at that position. Select this control point and
the one to the left of that (in the lower left corner). Now
select local rotation mode ('R' and then 'L' or click in the
menu). Rotate the two points by 90 degrees clockwise, so that
they form a vertical line. Now select translation mode and
move them up and to the left, so that they form a straight
line with the top left control point.
This state is reflected in TUTOR03A.MDL.
Manual MORAY V2.0 Page 31
----------------------------------------------------------------------
4.6 CSGs and Groups (Grouping Objects)
This tutorial will familiarize you with how to create groups
and CSG objects.
Load TUTOR04A.MDL. This is the base assembly of a robot arm.
We will build and assemble a bit more of the robot.
First of all, the base of the unit is too high. We want a
lower base. So select the 'Base' object. Scale it so that it
is 0.4 in Z. Then translate it so that Z is also at 0.4. This
will place the base at the origin. We would now like to move
the arm holder assembly down onto the base. You could select
each part and translate it down, but this is very tedious, so
what we'll do is create a group, add all the parts and then
translate the whole group.
Create a group object and name it ArmHolder. This groups
origin is now at the world origin. We could add the objects
now, but we want the groups object to be at the center of the
armholder assembly, so that scaling and translating it is
easier.
Translate the group object to 0, 0, 2.5. Note that you do not
have a wireframe to go on, since the group contains no
objects. Use the numerical block instead.
Now click on ADD IN PLACE and in the Object Browser that
appears, click left on the ArmHoldBaseL1 object and click
right. This adds the object to the group. You will see this in
the browser. Click left on ArmHoldBaseL2, click right, and
repeat with ArmHoldBaseR1, ArmHoldBaseR2 and ArmPivot. Finally
right click to stop adding objects to the group.
We can't render this yet since not all objects have textures
assigned to them. Specifically none of the objects we've just
added to the arm holder are textured. All we need to do now is
assign a texture to the group, though, since the objects in
the group will simply inherit this texture.
With the group selected, click on the BodyTxtr entry in the
texture listbox on the lower left. Also select the Base object
and assign the BodyTxtr to it.
Press F2 to save the scene and F9 to take a look at the
render.
OK, not bad, but the center part of that holder is supposed to
be chrome metal. To do this we simply select it (ArmPivot) and
click on the Chrome_Look texture in the texture list box on
the lower left. This overrides the texture that the ArmPivot
object was inheriting from its parent object.
Manual MORAY V2.0 Page 32
----------------------------------------------------------------------
Translate the armholder down so that Z translation is set to
1.4, placing the assembly on the base. Let's make another
group called 'Robot' and add in the armholder and the base.
Click on Create, then Group, then Add In Place, then add in
ArmHolder and Base.
OK, we will now make an arm for the robot. We need to design
the arm parts, so that their rotation axis goes through the
origin, so that when you select a part and rotate it, it will
not leave the robot.
We don't need to see the robot body right now, so set its
visibility to +6 and press Alt-4.
Create a CSG object called UpperArm and a cylinder called
UpperArmBase. Scale the cylinder to 0.4, 0.4, 2.0 and add it
to the UpperArm CSG. Create a cube called ShoulderJoint and
scale it to 0.5, 0.5, 0.5. Add it to the UpperArm group.
Create a cylinder called ElbowJoint and scale it to 0.5, 0.5,
1.0, rotate it by -90 about the Y axis and translate it to -
0.5, 0, 2.0. Add it to the UpperArm group.
Press Alt-6 to make the robot visible. Select the ArmHolder
object and click on Add From Origin. This means that the
object we're going to add will not be transformed to stay
where it is, but instead will simply be inserted in the group.
Select the UpperArm object and right click twice.
The UpperArm object is now part of the ArmHolder object and
thus also inherits its texture. This is OK, except for the
UpperArm cylinder which we want chromed. Select the UpperArm
object and set it to use the chrome texture.
This state can be found in TUTOR04B.MDL.
OK, press Alt-4 again to hide the robot. Create a cylinder
called LowerArmBase and scale it 0.3, 0.3, 2.0. Create a
cylinder called HandJoint, scale it 0.4, 0.4, 0.8, rotate it
by -90 about Y and translate it to -0.4, 0.0, 2.0. Now create
a CSG object called LowerArm and add in place the two
cylinders that you just created. Now add the LowerArm CSG to
the UpperArm CSG object, using the ADD FROM ORIGIN button.
Translate the LowerArm object by 2.0 in Z.
Select the LowerArmBase object and set its texture to use the
chrome texture.
Note that we can now rotate the arms about the X axis without
the lower parts staying put or flying away. Select the
UpperArm object and use the mouse in the SIDE view to rotate
it by -60 degrees (this will be about the X-axis). Select the
LowerArm object and rotate it by -45 about X in the SIDE view.
Press F2 and render the scene. TUTOR04C.MDL reflects this
state.
Manual MORAY V2.0 Page 33
----------------------------------------------------------------------
4.7 Importing RAW files
MORAY can handle reasonably sized RAW files directly by
importing them. It is recommended that you use the 3DTO3D
utility (see page 109) to convert RAW files to UDO (User-
defined object) files instead, since these are much friendlier
on memory usage. RAW files use a large amount of memory.
Start MORAY and click on CREATE, then RAW TRIANGLES, name it
ChessPieces and return to the Main Menu with a right click.
On the Editing Menu of the RAW object, click on FILE. This
brings up the File Selector. Select the CHESS.RAW file in the
MDL directory. Now click on READ. MORAY now reads the file and
creates a wireframe.
Note that the feature angle is set to 15 degrees. This means
that only triangles that form an angle of more than 15 degrees
to each other are actually used in the wireframe. This has no
effect on the export, it simply attempts to keep the line
count low, so that redraws don't get too slow.
The RAW file actually would create about 1100 lines, which you
can see by setting the angle to 0. This does not eliminate any
edges. At 15 degrees, the line count has been reduced to 560.
At 60 degrees it has been further reduced to 280.
Click on the 15 and enter 60. MORAY now recalculates the
wireframe and you can see that many lines have been removed
and the wireframe is very rough. For huge RAW files that you
just want to get placed, this setting is fine, though.
Since MORAY needs to keep all the triangles in memory in order
to export them to the scene later when you want to render it,
this is quite an ineffective way of working with RAW files.
However, MORAY supports user-defined objects that merely
consist of a wireframe definition and these do not use as much
memory. Let's create a UDO file containing the definition of
the RAW file currently loaded. Click on the WRITE UDO button
and enter a name. MORAY now writes a UDO file and an INC file
for the current raytracer. Note that if you switch raytracers
later, you will need to repeat this procedure.
We will now delete this object, and create a User-Defined
object, using the UDO file we just created. Press Alt-D to
delete the object.
Click on CREATE and the USER DEFINED. Select the file you just
stored. The wireframe will be exactly the same as the RAW file
was, but it will not be using as much memory.
Manual MORAY V2.0 Page 34
----------------------------------------------------------------------
4.8 Logos with Heightfields
MORAY can handle heightfields while showing the actual image
structure in a mesh. In addition, the ADJ SCL button resets
the heightfield to the X,Y aspect ratio of the original
bitmap. The original bitmap's x,y pixel size appears below
these buttons for ready reference. This allows accurate
placement of heightfields.
Let's make a heightfield of a MORAY-Logo. Start MORAY and
click on CREATE and then HEIGHTFIELD and enter 'MLogo' as the
name. You will see a cube appear at the origin and the area
below the views will contain the heightfield Editing Menu.
Click and drag the waterlevel slider. The waterlevel can be
seen on the sides of the cube. Set it to 0.
Now click on the FILENAME button and in the file browser that
pops up select the MORAY.TGA file from the MAPS directory. Now
click on the READ button. MORAY now reads the wireframe of the
heightfield. You will also see that the resolution of the file
(240x41) is displayed in a button of the Editing Menu and the
STEPS button is set to 2. The STEP value is responsible for
the fineness of the heightfield mesh display. You can set the
mesh finer or coarser by clicking on the number after STEP.
MORAY will automatically set the number in STEP upon READing
to a number that makes about 20 divisions across the
heightfield. A smaller number will make a finer mesh, use more
memory and slow down the redraw.
The current setting of 2 means that every second pixel is
shown in the wireframe. Click on the button next to STEP and
enter 4. The mesh becomes coarser and only every fourth pixel
is connected. This is a good setting to scale and place the
heightfield.
Set the X-scale to 10 and the Z-scale of the heightfield to
0.2. Since we want the heightfield to look like a logo, we can
set the Y-scale of the heightfield in such a way that the
heightfield has the same aspect ratio as the TGA file. Click
on the ADJ SCL button. Now the aspect ratio of the heightfield
is set to the aspect ratio of the image file.
Place the camera, so that the logo can be seen inside the 3D
view, close to horizontal. Create a GradientX texture, going
from yellow to red, scale it so that only one transition goes
across the heightfield (X-Scale is 2.0, X-Trans is -1) and
assign it to the heightfield.
Manual MORAY V2.0 Page 35
----------------------------------------------------------------------
If we rendered this image, we would be rendering a lot of
black space, since the logo does not fill up the entire scene.
MORAY allows you to define a rendering region for POV-Ray
(Polyray only supports changing the starting line). To
activate this, move the cursor over the 3D view to the left of
and above the logo. Press and hold Shift and Ctrl and then
drag open a rectangle to the lower right portion of the logo.
You will see a rectangle drawn around that part of the screen
that POV-Ray will render. Polyray will render everything below
the top of this rectangle.
To clear this rendering window, press and hold the Shift and
Ctrl keys and simply left click the mouse, without moving it.
See TUTOR5A.MDL for the current state. Press F9 to render this
scene.
You should see the logo on a flat plain. We can now use the
waterlevel to get rid of the lowest part of the heightfield,
so that the letters seem to float alone in space.
Set the STEP parameter to 2. Now drag the waterlevel slider
slowly to the right. If the redraws take too long, click into
the slider area, to the right of the actual slider gadget. You
can see the lower part of the wireframe disappear. Leave the
waterlevel slider at 0.4.
Press F9 again to render this. The letters are now no longer
connected by the flat piece.
4.9 Editing Bezier Patches
A bezier patch is a 3D bicubic mesh of polygons defined by 16
control points that determine the shape of the patch by
"pulling" at the mesh in the direction of the points. MORAY's
bezier editor gives you the capability to intuitively model
bezier patches by selecting and transforming these control
points. Three types of basic patches are supported by MORAY: a
sheet, a cylinder composed of two patches, and a cylinder
composed of four patches.
Control points are selected by either shift-clicking on them
individually or by shift-dragging a box around one or more
points. Selected points are then transformed by scaling,
rotating, or translating. Scaling and rotating can be done in
relation to the origin or in relation to the center of the
patch. There is a LOCAL button next to each under the
TRANSFORMATION MODE set of buttons that toggles this option.
The following tutorial demonstrates the principles involved in
modeling with the bezier editor.
Manual MORAY V2.0 Page 36
----------------------------------------------------------------------
4.9.1 A Flat Patch
From the main edit screen, click on CREATE and then BEZIER
PATCH. MORAY will ask you to name the patch and will offer you
a default name: BzPtch001. Accept this and the CREATE BEZIER
PATCH dialogue box appears. Click on SHEET if it is not
already selected. Notice the size and height boxes to the
right. These control the size of the sheet and the number of
patches that will compose it. Click on the first box and
change the 1 to 3. Click on OK, CREATE. A green rectangular
mesh appears. At the bottom of the screen is an EXTENDED EDIT
button. Click on it.
4.9.2 The Editor
This is the bezier editor. The working menu is beneath the
view windows.
In the front view, right click to pop up the View Popup and
click on ZOOM TO FIT. Now, hold down the shift key and drag a
box around the right half of the patch. Half of the control
points will be selected and will appear as small yellow
squares. Note that there will be a seemingly unselected row of
points (best seen in the TOP view). This row is managed by
MORAY to guarantee an edgeless seam between adjacent patches.
In the menu, beneath the word MARKED, are four buttons. The
number 16 will appear in the first box under MARKED to tell
you how many control points are marked.
Next to the MARKED buttons is a group of buttons beneath the
words TRANSFORMATION MODE. Click on the LOCAL button next to
ROTATE. In the side view, right click and ZOOM TO FIT. Then,
drag the mouse downward to rotate the selected points 90
degrees. (Note that transformation values cannot be entered
numerically from the keyboard and that there is no undo
function available from within the bezier editor.)
Right click and ZOOM TO FIT in the top view and shift drag a
box to deselect the row of control points nearest the center.
Note that in the top view, the row will appear as a single
yellow square. Selecting it marks all the points in that row
as you can see in the front view. Rotate again in the side
view 90 degrees in the same direction as before. Deselect the
next row and rotate again by 90 degrees in the same direction.
One more time now, deselect the second-to-last row and rotate
it 90 degrees in the same direction. There should now be only
the last row of points selected and half of the patch should
be twisted like a ribbon.
Click on LOCAL SCL and, in the SIDE view, drag the mouse down
to scale the control points very close together. Alt-drag to
zoom in closer and scale the control points closer still.
Click on UNMARK ALL.
Manual MORAY V2.0 Page 37
----------------------------------------------------------------------
Click on X-MIRROR. The entire patch flips over. In the front
view, zoom to fit and MAXIMIZE. Then shift-drag a box around
the untwisted half of the patch. Again, 16 points should be
marked. Right click, MINIMIZE, and then, in the side view,
ZOOM TO FIT. Click on LOCAL ROTATE and rotate the marked half
of the patch by 90 degrees in the same direction. Repeat this
procedure as you did for the other half continuing the twist
to the other end. On the far right of the bezier editor menu
are three buttons: SHOW MESH, SHOW CTRL MESH, and CONT.
UPDATE. The first two should be depressed. Click on SHOW CTRL
MESH to turn off the control mesh and get a good look at your
patch. Increase divisions by sliding the slider up to 15. The
mesh will become much finer.
Click on DONE.
Back in the main edit screen, above the EXTENDED EDIT button,
are three boxes labeled U STEPS, V STEPS, and FLATNESS. The
values are set at 3 for u steps and v steps and 0.01 for
flatness. These are the defaults for POV, but the patch will
tend to render with facets unless you change them. We want our
patch to be smooth so hang the memory! Change u steps and v
steps from 3 to 5 and flatness from 0.01 to 0. Give your patch
a texture, light, and camera and render it!
This state is reflected in TUTOR06A.MDL.
4.9.3 A cylindrical patch
Now let's try modeling a cylinder. Beginning in the main edit
screen, click on CREATE, BEZIER PATCH. Name it TORNADO and hit
ENTER. The CREATE BEZIER PATCH dialogue box appears. Click on
CYLINDER (4-PATCH), HEIGHT 5 PATCHES, OK,CREATE. A tall
cylinder appears. Click on EXTENDED EDIT. You may notice that
you have a patch object composed of many (20) sheet patches.
This means that redraws may be slow. Slide the DIVISIONS
slider bar down to 3 to speed up redraws. This will only
affect the display. It will not affect the patch that is
exported to POV-Ray.
4.9.4 A Funnel Shape
If the front window, right click and ZOOM TO FIT. Shift-drag a
box around the lowest level of points to mark them. Only the
eight lowest points on the cylinder should be marked! In the
top view, right click, ZOOM TO FIT. Click on LOCAL SCALE and
drag downward with the mouse in the top view to scale the
points to a ring about 1/5 of its original diameter. UNMARK
ALL. Shift-Drag around the next row of points above to mark
them and scale them down to about 10% larger diameter than the
first row. UNMARK ALL.
Continue this process for each successive layer of points,
leaving each level slightly larger than the last. You want a
fairly consistent tapered funnel shape, but it does not have
to be perfect. It may be of advantage to turn the mesh display
off (click on SHOW MESH so that it comes out) and work with
the control mesh only.
Manual MORAY V2.0 Page 38
----------------------------------------------------------------------
Note that there will be some rows that you cannot select,
since MORAY manages these to guarantee the edgeless seam. Note
also that at some point you may have to scale the points
larger instead of smaller.
The current state is reflected in TUTOR06B.MDL.
4.9.5 Adding the Twist
Starting at the top, with the uppermost row still selected,
click on translate. In the front view, drag these points up
and to the left about 2 units. UNMARK ALL. Mark the next row
down and drag it in the same general direction, just not as
far. Try to make the shape have a smooth, gradual curve. Then,
in the top view, drag the points upwards about 1/2 a unit.
UNMARK ALL. Mark the next row and repeat this procedure only
drag these points in the top view upward and slightly to the
right. The idea is to create a funnel shape descending in a
twisting or spiraling manner. Continue downward until your
'Tornado' is complete.
Make adjustments in the curve of the funnel by referring to
the other views and translating the points until the curve is
correct in all views. When done, you should have a graceful,
spiraling funnel. Give your tornado a texture and render it.
Remember to change the u-steps and v-steps from 3 to 5 and the
flatness from 0.1 to 0.
This final state is reflected in TUTOR06C.MDL.
4.10 Creating User-Defined Objects
Creating User-Defined Objects is very easy with a tool called
3DTO3D.EXE. It reads in various 3d-formats such as RAW, 3DS
(3D Studio) or OBJ (Imagine) and exports the data to other 3D
formats, including the MORAY UDO-format.
Please refer to the 3DTO3D manual for supported formats (in
the utils subdirectory).
Let's create a scene containing a UDO-Object.
The file CHESS.RAW in included in the RAW subdirectory, along
with a batch file to create INC files for POV-Ray and Polyray.
At the DOS-prompt, change to the RAW subdirectory and type the
following:
makeudo chess
This batch file calls 3DTO3D in the UTILS subdirectory and
will thus only work with the standard distribution. If you
changed directories, you'll nbeed to change the batch file.
Manual MORAY V2.0 Page 39
----------------------------------------------------------------------
For 3DTO3D command-line options please refer to the manual. In
this case, MAKEUDO.BAT uses -t3 to swap Y and Z coordinates,
since MORAY uses a different coordinate system than the
CHESS.RAW file does, and -o2 and -o3 to convert to a POV-Ray
and a Polyray INC file. It also uses -e40, which means only
edges of adjoining polygons are shown that form an angle of
more than 40 degrees.
After conversion, the POVSCN and POLYSCN directories contain
the CHESS.INC file that contains the triangle data in the
correct format for the corresponding raytracer. The file
CHESS.UDO contains a wireframe representation of the RAW file
for MORAY and is contained in the UDO subdirectory.
Now start MORAY. Click on CREATE and on USER-DEFINED. This
pops up the File Selector. Navigate to the UDO directory and
double-click on CHESS.UDO.
Select the camera and move the camera to <30,-16,15>. You
should now see the two pawns.
Call the Texture Editor (click on TEXTURES in the Main Menu),
and use the GET button to import the PinkAlabaster and
White_Marble textures. Leave the Texture Editor (right-click,
or DONE) and assign the PinkAlabaster1 to Black_Rook and
White_Marble1 to White_Knight.
Save the scene by pressing F2. Do not use CHESS.MDL because
MORAY would export CHESS.POV and CHESS.INC, thus overwriting
the CHESS.INC containing the triangle data that 3DTO3D
created.
After saving press F9 to render the scene.
4.11 Importing Blobs
Although MORAY does not offer a blob editor, it supports them
nonetheless. You need to import them from Blob Sculptor (DOS
or Windows).
Start MORAY, click on CREATE then on LOAD BLOB and accept the
default name. There is currently no wireframe visible, since
no blobs have been imported. The blob object is selected,
however, and its Editing Menu has an IMPORT button. Click on
it. In the File Selector, change to the MDL directory and
click on the CUSHION.BLB file.
You will then see a wireframe of the blob, showing the
individual blob components as circles in each plane.
Manual MORAY V2.0 Page 40
----------------------------------------------------------------------
To make a wireframe representation of the actual blob shape,
click on EVALUATE. You will be prompted for a number. This
number is the size of the grid in which the blob will be
sampled. The higher the number the finer the blob wireframe
will be, but also the more memory it'll need and the slower
the redraws become. The default value of 20 is a good number
to get a rough representation of what the blob actually looks
like and to use for placement in the scene.
Create a texture for the blob and render it. You can load
TUTOR07.MDL if you want to see this state.
4.12 Working With Spotlights
MORAY supports spotlights and allows you to view the scene
through them, so that you can get an accurate idea of what
will be illuminated by the spotlight. You can assign a camera
that is associated with the spotlight to any view.
Start MORAY and create a cube at the origin. Delete the light
source.
Create a spotlight. The spotlight is created at the origin,
looking down. Unfortunately this is not a valid position for a
camera and thus if you were to look through the camera right
now, it would not work correctly (the screen stays blank).
MORAY has also created a camera for you and has attached the
camera to the spotlight. This is a normal camera, and you can
detach it from the spotlight in the camera's Editing Menu. You
can also add a camera to a spotlight in an old scene using the
camera's Editing Menu. To do this simply set both the Position
and Lookat Reference to the spotlight.
Move the spotlight to about -10, 8.5, 8 and rotate it about
the Y-axis (in the FRONT view) until it points towards the
cube.
Move the mouse over the 3D view (or the side view) and click
the right mouse button. In the View Popup click on the button
reading VIEW: 3D and in the new popup click on SpotCam001. The
view now shows what the spotlight is seeing.
You should see two circles in the view. The outer circle
defines the area that is illuminated by the spotlight. The
area outside this outer circle is not illuminated by this
spotlight. The area inside the inner circle is fully
illuminated by the spotlight and the area between the two
circles serves as a transition area from no to full
illumination.
In the TOP view, rotate the spotlight, so that it points
towards the cube and watch the 3D view that is showing the
view out of the spotlight. (Your rotation values should now be
0, 50, 40.) You'll notice that the spotlight is not centered
on the cube, so set translation mode and in the FRONT view
move the spotlight up until it's Z-Trans is at 11.
Manual MORAY V2.0 Page 41
----------------------------------------------------------------------
Create a plane at Z=-1 and texture it with a solid light green
texture. Also create and assign a blue texture for the cube.
Render this scene. (TUTOR08A.MDL reflects this state.)
You'll notice that the spotlight covers quite a big area.
Let's make it a bit tighter. Select the spotlight (Shift-Drag
a square around one of the circles in the spotlight view). In
the spotlight's Editing Menu use the left arrow to lower the
aperture angle (FALL.) to 8.5. The outer ring and inner ring
now come closer together. Notice that the spotlight camera
always zooms into the scene so that the outer circle fills the
view.
Render this again. (TUTOR08B.MDL reflects this state).
The spotlight now has a more abrupt transition from dark to
light, although it is still soft and not nearly as abrupt as
the cube's shadow.
4.13 The Object Browser
The Object Browser allows you to take a look at the hierarchy
of your scene and get a good overview of the scene. You can
also change various Object Attributes quite quickly here.
Each object is shown in a button-like square. For Group and
CSG objects the children objects are shown to the right of the
object, with lines connecting them.
Let's take a look at a the Robot scene we did in Tutorial 1.6.
Load the TUTOR09.MDL file and return to the Main Menu.
Press Alt-S or click on the SELECT button. The Object Browser
appears over the views.
You will see the names of all the objects in the scene in
rectangular buttons on the screen. On the right you can see a
menu and at the bottom is, as always the Editing Menu of the
currently selected object (at the moment the camera).
The buttons are color coded according to the type of the
object. Cameras are red, CSGs are blue, Groups are green,
Lights are white and the rest are gray. The selected object
overrides these and is yellow.
The buttons can be drawn in three different ways. Very small,
with no labels, to give you a graphical overview of the scene.
Middle sized with the name of the object in the button. And
large, with additional information in the button, such as the
type of the object, the name of the applied texture and the
name of the bounding box.
Objects can be selected by simply clicking on them. The
Editing Menu at the bottom of the screen is active for the
selected object.
Manual MORAY V2.0 Page 42
----------------------------------------------------------------------
Click on the ZOOM OUT button (or press '-') until it is
greyed. This is the overview setting, now click on ZOOM IN (or
press '+') to get to the middle setting. You can see the names
of the objects on the buttons.
Click on ZOOM IN (or press '+') again and you will notice that
the buttons are a lot larger and some of them have more sub-
buttons. On the left is the top-level object, called 'Robot'.
It is a group object (green) and has two subobjects, ArmHolder
(another group) and Base (a cube).
Click on that region of the Robot button that reads GROUP. It
becomes the selected object, the Editing Menu is updated
accordingly and the names of all subobjects are now written in
white. In this way it is easy to see which objects are
subobjects of the selected object.
There are two mistakes in this scene that we will now correct.
The name of the second last object in the ArmHolder group (the
cylinder) is not set correctly. Click on the Obj001 part of
the button. A line editor pops up, allowing you to edit the
name. The same can be done by selecting the object and
pressing 'N'. Enter the name 'ArmPivot' and press Enter.
Notice that ArmHoldBaseR2, the fourth object in the ArmHolder
Group has the BodyTxtr assigned to it. This is not neccessary,
since the ArmHolder parent object has the same texture. We
will clear it. Click on the BodyTxtr part of the button. Now
you will see a popup with a list of textures and a NO TEXTURE
button. Click on the NO TEXTURE button. The texture is cleared
and the ArmHoldBaseR2 button is a single line button.
To assign a new texture to an object that does not have one
currently assigned to it, make sure it's selected and press
'T'. This pops up the same Texture List Popup, where you can
then choose a new texture for the object. Naturally the
Editing Menu at the bottom of the screen can also be used.
When you have big scenes with many hierarchy levels, you can
collapse some of the tree and leave only that part expanded
(visible) that you're working on.
You can collapse individual objects or the whole tree. To
collapse the whole tree click on COLLAPSE ALL. Try this. You
will see that only top-level objects are visible.
Select the Robot object by clicking on the GROUP part of the
button. You can now expand this object in one of two ways.
You can show one more level by clicking on the right arrow at
the right side of the button. Try this. The next level of
subobjects are shown. You can selectively expand the object
tree in this manner to get to the object you are interested
in. Click on this arrow (now a left arrow) again to collapse
the object.
Manual MORAY V2.0 Page 43
----------------------------------------------------------------------
You can show all the subobjects (and their subobjects) by
clicking on the EXPAND SUB. Try this. The whole subobject tree
of the Robot becomes visible.
EXPAND ALL can be used to expand all collapsed objects, in
effect showing the entire scene hierarchy.
In addition to this selective collapsing and expanding of
hierarchies, you can also specify the maximum depth of
displayed objects. The hotkeys Alt-1 to Alt-9 can be used to
limit the depth of the display to a level between 1 and 9.
Alt-0 shows the entire hierarchy. A button with a double left
arrow is attached to any object that has subobjects that are
at a deeper level than you requested be displayed.
Try this now by pressing Alt-1. All objects that are not top-
level objects are not displayed. Instead, there is a button
attached to any top-level object to indicate that there are
sub-objects attached to this object. Press Alt-1 and you will
see that the next level of sub-objects are displayed, in this
case it's the ArmHolder and Base objects of the Robot.
You can use the LARGER FONT and SMALLER FONT buttons to switch
between three different font sizes. Depending on you monitor
(and eyes<g>) you may want to use a larger or smaller font.
In a larger scene, only a portion of the hierarchy is visible.
The rest can be brought into view by using the scrollbars on
the right and bottom of the screen. You can either drag the
scrollbars directly by clicking on them, or you can click in
the scrollbar area below or above the slider to position the
slider at a specific point. If you want to see the selected
object in the Browser, press the TAB key. This centers the
display around the selected object.
4.14 Copying Objects
The Copy Submenu allows you to create one or more copies of an
object. Each copy can be transformed as it is copied. The Copy
Submenu is also the only way to create Reference Objects (see
next Tutorial).
Load TUTOR10.MDL. You will see a flat cube named Cube1 at the
origin. Click on COPY or press Alt-C. You will see the Copy
Submenu replace the Main Menu.
There are four sets of transformation buttons.
The first one influences the scaling of the copies. If you
depress SCL FCT, each new copy's scale will be multiplied with
the numbers that are entered here. If you leave SCL OFF
depressed, then each new copy's scale will have these values
added to their scaling values.
The same goes for the second and third set of buttons. They
influence the rotation and translation of the copies.
Manual MORAY V2.0 Page 44
----------------------------------------------------------------------
Click on the Y component of the translation set (leave XLAT
OFF depressed) and set it to 3. Click on the button next to
COPIES and enter 3. This will create 3 copies, thus we will
end up with four cubes (the original and the 3 copies). Click
on OK. You can now see that each new cube is placed 3 units
further along the Y-axis than the previous cube. You are also
returned to the main menu.
Click on UNDO to undo the copy operation. Set the X-
Translation of the cube to 10 and press Alt-C. The Copy
Submenu remembers the last copy operation that you performed
and leaves the buttons set at what the last copy operation
used. Clear the 3 in the Y-Translation setting of the Copy
Submenu.
The fourth set of buttons on the Copy Submenu is a special set
that also influences the translation of the copies, but not
directly. It's best to demonstrate the concept.
Click on the third button in the last set, under the ORBIT
heading. This is the Z-component. The numbers that are entered
here are degrees and determine by how many degrees around the
origin the original is rotated to get the copies position.
This will become clearer in a minute.
Enter 30. This means that each copy should be placed in such a
way that it seems to have orbited the origin by 30 degrees.
Entering 30 has also automatically set the Z-component of the
rotation set to 30 degrees. This must also be done if the
object really should look like it's orbiting the origin, i.e.
it needs to change its orientation as well. If you set this
value to 0, the copies will still be placed in a circle around
the origin, but will all be aligned along the X-axis. (You can
try this and use UNDO later).
If the number of copies is not set at 11 already, set it to
11. Since we will be rotating 30 degrees around the Z-axis, we
need 12 objects to make a full circle. Since we already have
one original, we make 11 copies.
Click on OK. You will see a circle of 12 cubes. The first copy
is selected.
Click on UNDO, set the cubes X-Translation to 2.0. Now click
on COPY again and you will see that the previous settings (30
degress Z-Rotation and Z-orbit) are still set. Now click on
the Z-component of the Translation set of buttons (third
button under the XLAT OFF button) and enter 0.5.
Click on OK. Again you see a circle of 12 cubes, except these
also circle upwards, since each copy is 0.5 units higher (in
Z) that the previous copy.
Experiment with different settings.
A tip: The results are reasonably predictable as long as you
use only one component (X, Y or Z) in the translation and
orbit sets.
Manual MORAY V2.0 Page 45
----------------------------------------------------------------------
4.15 Reference Objects
This Tutorial assumes that you are familiar with the Copy
Submenu. If not, please do the previous Tutorial first.
Start MORAY and load TUTOR11.MDL.
This scene contains a single stair of a spiral staircase. You
will probably be a bit confused by all the lines at first. The
ring comes from a torus that is used to smoothen the side of
the step. It is part of the selected CSG object StairBase.
Double click on StairRim in the list of objects in the objects
editing menu or select the StairRim object in the Object
Browser.
Now click on the EVALUATE button to make MORAY reduce the
wireframe display. You should now get a much clearer idea of
what the staircase looks like. Press Alt-P to reselect the
StairBase object (or use the Object Browser).
You can render the current scene to get an idea of what the
stair looks like.
We will now make a 16-stair spiraling staircase by making 15
copies of this single stair, rotating each copy around the Z-
axis and translating it along the Z-axis at the same time.
Make sure that StairBase is selected and click on COPY. Enter
24 in the Z-component of the ORBIT buttons. This makes each
copy rotate 24 degrees more around the Z-axis.
The REPEAT factor will set itself to 14, since MORAY assumes
you want to make a complete circle. We do want to make more
than a complete circle, though since the top stair should be
exactly over the bottom stair. Click on the REPEAT and set it
to 15.
Set the Z-component of the XLAT OFF buttons to 1.0. Each copy
will now be translated 1.0 units higher in Z.
OK, we're basically set to make the copy, but there is one
more button in the Copy Submenu which is important and that is
REFERENCE. When making copies we can make a shallow copy or a
deep copy. If REFERENCE is set to YES it is a shallow copy, if
REFERENCE is NO, it is a deep copy.
A deep copy will recursively make copies of all subobjects in
the object. In a reasonably complex object such as the
StairBase, this would mean very many objects.
A shallow copy will make a reference object that points to (or
references) the original object, but adds its own
transformations.
The advantages of a deep copy are the disadvantages of a
shallow copy and vice-versa. It will mostly depend on your
situation which is better for your needs.
Manual MORAY V2.0 Page 46
----------------------------------------------------------------------
With a deep copy you can change parts of the copy or the
original without changing the other object. With a shallow
copy, you can only edit the original, but those changes are
propagated to all copies, e.g. if you have copied a group and
then add an object to the group, this new object will also
appear in the copies.
A deep copy requires a lot of memory and creates much larger
output files. A shallow copy does not require as much memory
and makes much smaller output files.
For a reasonably complex object such as the StairBase you will
usually use a shallow copy, especially since we will not be
making changes to individual stairs. But we may want to change
the look of all the stairs, which we can easily do by changing
the original.
Click on the REFERENCE button so that it is depressed and
reads YES.
Now click on OK and watch the staircase appear. Position the
camera to your liking and press F9 to render the staircase.
If you take a look at the Object Browser, you will see there
is only a single button for every reference object. If we had
made a deep copy, we'd see the same hierarchy for each stair
as we do now for the StairBase object.
You'll notice that the texture of the stair is a plain orange.
I leave it as an exercise for the reader to create better
textures for the stairs. All you need to do is make the
original stair use other textures, all copies will
automatically have that change.
Load TUTOR11A.MDL and render it to see an example of a
textured staircase. This file also looks very confusing at
first, but if you select the StairBase CSG object and evaluate
it, it will become a lot clearer.
4.16 Visibility Levels
Start MORAY and load the TUTOR12.MDL.
This is a scene containing a small cabinet with three drawers.
You'll notice (in the lower right corner) that it only has
about 350 edges and you can see it quite clearly. Now press
Alt-0. This will make MORAY draw all edges of all objects. We
now have over 3600 edges to draw and the redraw rate becomes a
lot slower. When you loaded the file, the visibility level was
set to 1, since that's how it was stored in the MDL. Press
Alt-1 to see only the rough dimensions of the object.
Manual MORAY V2.0 Page 47
----------------------------------------------------------------------
This is accomplished by using visibility levels. It is of
advantage to use this feature, especially on big scenes, to
speed up redraws (by reducing the number of edges to draw).
Say you were designing a room with furniture. Once the cabinet
was done, it is not necessary to display the little knobs of
the cabinet, you only need the rough shape. You could even
make the drawers use one visibility level higher, leaving only
a cube to represent the object.
If you use relative visibility in this way, you can also
completely hide an object while working on another, by
increasing the root object's visibility level. Once you're
done, bring it back down and the object reappears.
Objects that are not needed to get a rough idea of what the
overall object or scene looks like are assigned a visibility
that is higher than its parent. This is repeated at each
nesting level until the root object.
Let's see how it works.
Press Alt-1 and open the Object Browser to select the 'Drawer'
object. Leave the Object Browser and note that the Drawer
object is highlighted. The Editing Menu shows that three
subobjects belong to the 'Drawer' object: DrawerInside,
DrawerFront and Knob. Click on each of these and you will see
different parts of the wireframe become highlighted except
when you click on the Knob object. Now press Alt-3 and you
will see the knob show up. Double click on the 'Knob' line in
the CSG list of the 'Drawer' object (or otherwise select the
'Knob' object). As you can see on the editing menu, the knob
has a relative visibility setting of +1, giving an overall
visibility of 2. This has no direct effect on the display
since 'Knob' is not a primitive. But it does propagate down to
sub-objects.
Right click over the SIDE view and select FIT TO OBJECT. You
can see that the 'Knob' consists of two objects, a cylinder
and a sphere. But now check out the Object Browser. The object
'Knob' consists of another CSG object named 'Knobby', which is
a difference between a sphere and a torus. Click on the
'KnobbyBase' sphere object and you can see that it has a
relative visibility of +0. This means its visibility stays at
that of the parent object, at +3. Since we pressed Alt-3, it
is now visible.
Click on the 'KnobbyCut' torus object. You can see in its
Editing Menu that it has a relative visibility of +1. Since it
is a sub-object of 'Knobby', which also has a relative
visibility of +1, this makes a visibility of 4 for the torus.
Since Alt-3 is currently active, it is not displayed.
Leave the Object Browser and press Alt-4 and you will see the
torus now displayed as well.
Study this scene file, to become acquainted with how the
various visibility levels play together in a hierarchical
sense, using relative visibility.
Manual MORAY V2.0 Page 48
----------------------------------------------------------------------
5 Reference Section
5.1 Main Menu
This is the menu on the right side of the screen. It gives
access to all the major functions.
5.1.1 Object Name (Name)
This button shows the name of the currently selected object.
5.1.2 Object Type (Type)
This button shows the type of the currently selected object.
5.1.3 Scaling Mode (SCL)
If this button is depressed, then MORAY is in non-uniform
scaling mode. When you manipulate an object in one of the
views, the currently active object will be scaled according to
the mouse movements.
Pressing 'S' also activates this mode.
5.1.4 Uniform Scaling mode (USCL)
If this button is depressed, then MORAY is in uniform scaling
mode. When you manipulate an object in one of the views, the
currently active object will be scaled equally in all
directions according to the mouse movements, using the
smallest movement as the amount to scale the object by.
Pressing 'U' also activates this mode.
5.1.5 Clear Scale (CLR)
Use this button to reset the scaling of the currently selected
object. All scaling values are set to 1.0.
5.1.6 X, Y and Z Scale
These buttons show the current scaling values of the selected
object. The top button shows the X-Scale, the one below shows
the Y-Scale and the next one shows the Z-Scale.
You can click on one of these buttons to enter the value
directly.
You can click on one of these buttons to enter the value
directly and then the TAB key to advance the cursor to the
next field.
Manual MORAY V2.0 Page 49
----------------------------------------------------------------------
5.1.7 Rotation Mode (ROTAT)
If this button is depressed, then MORAY is in rotation mode.
When you manipulate an object in one of the views, the
currently active object will be rotated around its origin
according to the mouse movement. The axis of rotation is the
axis that comes out of the screen in the view that you use.
Pressing 'R' also activates this mode.
5.1.8 Clear Rotation (CLR)
Use this button to reset the rotation of the currently
selected object. All rotation values are set to 0.0.
5.1.9 X, Y and Z Rotation
These buttons show the current scaling values of the selected
object. The top button shows the rotation in degrees about the
X-Axis, the one below shows the rotation about the Y-Axis and
the next one shows the rotation about the Z-Axis.
You can click on one of these buttons to enter the value
directly and then the TAB key to advance the cursor to the
next field.
5.1.10 Translation Mode (TRANS)
If this button is depressed, then MORAY is in translation
mode. When you manipulate an object in one of the views, the
currently active object will be moved according to the mouse
movement.
Pressing 'T' also activates this mode.
5.1.11 Clear Translation (CLR)
Use this button to reset the translation of the currently
selected object. All translation values are set to 0.0, i.e.
the object is moved back to the origin.
5.1.12 X, Y and Z Translation
These buttons show the current translation values of the
selected object. The top button shows the translation along
the X-Axis, the one below shows the translation along the Y-
Axis and the next one shows the translation along the Z-Axis.
You can click on one of these buttons to enter the value
directly and then the TAB key to advance the cursor to the
next field.
5.1.13 Undo
This button allows you to undo the major operations that MORAY
handles. The number in parentheses shows the number of undo
actions available.
The following actions can be undone:
o Object transformations (Scaling, rotation, translation)
o Creating an Object
Manual MORAY V2.0 Page 50
----------------------------------------------------------------------
o Deleting an Object
o Copying an Object
o Adding an Object to a Group (or CSG)
o Removing an Object from a Group (or CSG)
The Backspace key can be used to activate this function.
5.1.14 Create
This button brings up the Create Submenu in place of the Main
Menu. The views stay active, so you can still pan, zoom and
select while the Create Menu is visible. Note that some Main
Menu hotkeys do not work while the Create Menu is visible. For
example, you cannot change the transformation mode, since the
hotkeys for this ('S', 'U', 'R' and 'T') are used to create a
sphere, a user-defined object, a rotational sweep or a torus,
respectively. See the Create Menu (page 53) for details.
5.1.15 Copy
This button brings up the Copy Submenu. You can make copies of
the selected object with the menu that is presented. See Copy
Menu (page 62)for more details.
5.1.16 Delete
This will delete the currently selected object without user
verification.
5.1.17 Select
This activates the Object Browser. The four views are replaced
with a tree-like display of the scene in memory. See Object
Browser (page 91) for details.
5.1.18 Textures
This brings up the Texture Editor, where you can create and
delete textures. See Texture Editor (page 76) for details.
5.1.19 Files
This brings up the Files Submenu, where you can load, save and
manage scene files. See Files Submenu (page 55) for more
details.
5.1.20 Options
This button brings up the Options Dialog, where you can set
various options related to MORAY and the raytracers. See
Options Submenu (page 59) for details.
5.1.21 Quit
This button quits MORAY. If you have a scene in memory that
has not been saved you will be prompted whether you wish to
save the scene before exiting.
Manual MORAY V2.0 Page 51
----------------------------------------------------------------------
5.2 View Popup
The View Popup is a little menu that pops up when you right-
click when your cursor is over one of the views. Note that
view popups are disabled on disabled viewports.
5.2.1 Disable
This button disables the viewport. It remains black until you
re-activate it by typing the '+' key on the keyboard.
Use this button if the redraws of your scene are becoming too
slow and you are primarily working in other viewports.
5.2.2 Disable/Enable Snap
Use this button to turn cursor snapping on and off. When it is
on, any scaling, rotation or translation that you do will be
rounded to the nearest multiple of the snap settings (see
Options Menu, page 59).
5.2.3 Zoom To Obj
This button is available if you have selected an object. It
zooms and pans the viewport in such a way that the selected
object fills it.
5.2.4 Zoom To Fit
This button zooms and pans the viewport in such a way that the
whole scene fits into the viewport.
The equivalent Hotkey is Alt-Z.
5.2.5 Pan
This button activates a one-time pan mode. Usually when you
want to pan a viewport with the mouse, you will press Ctrl and
drag it. If you click on this button, you do not need to press
Ctrl the next time you drag the mouse. This only works
immediately after you exit the view popup and only once.
5.2.6 Zoom
This button activates a one-time zoom mode. Usually when you
want to zoom a viewport with the mouse, you will press Alt and
drag the viewport. If you click on this button, you do not
need to press Alt the next time you drag the mouse. This only
works immediately after you exit the view popup and only once.
5.2.7 Maximize/Minimize
If this button reads Maximize it enlarges the current viewport
to fill the area previously covered by all four viewports. If
it reads Minimize it reverts back to displaying all four
viewports.
Manual MORAY V2.0 Page 52
----------------------------------------------------------------------
5.2.8 Select
This button activates a one-time select mode. Usually when you
want to select an object in a viewport with the mouse, you
will press Shift and drag a rectangle over the object to
select. If you click on this button, you do not need to press
Shift the next time you drag the mouse. This only works
immediately after you exit the view popup and only once.
5.2.9 Redraw
This button redraws the current viewport. Pressing Ctrl-R has
the same effect.
5.2.10 View:type
This button displays the viewport type. Clicking on this
button allows you to change the viewport type. You can make
the viewport show either the FRONT, SIDE, or TOP view of the
scene, or you can determine a camera, whose view into the
scene you wish to see. This is useful for spotlight cameras.
5.2.11 Lock/Unlock Grid
If this button reads LOCK GRID, clicking on it freezes the
grid units at their current setting. Subsequent zooming in or
out of the scene will not change the world distance between
the grid lines.
If the button reads UNLOCK GRID, the grid line spacing is
automatically calculated, according to the zoom level.
5.2.12 Disable/Enable Grid
This button can be used to toggle the display of the grid on
and off.
5.2.13 Insert Node
This button only appears in the Sweep Editor. It can be used
to insert a new node in the sweep being edited. The cursor
will change shape and a node will be inserted at the point you
click on. You can right click again to cancel the insert
operation.
5.2.14 Delete Node
This button only appears in the Sweep Editor. It can be used
to delete a node in the sweep being edited. The cursor will
change shape and the node that you click nearest to will be
deleted from the sweep. You can right click again to cancel
the delete operation.
5.2.15 On/Off Curve
This button only appears in the Sweep Editor in Glyph mode. It
can be used to determine whether the spline should pass
through a control point (On Curve) or go past it (Off Curve).
Manual MORAY V2.0 Page 53
----------------------------------------------------------------------
5.2.16 Unmark/Mark All
These buttons only appear in the Sweep Editor and the Bezier
Editor. They can be used to either mark or unmark all control
points.
5.3 Create Submenu
This submenu replaces the Main Menu on the right side of the
screen. The submenu will stay active until you click on DONE
or until you press ESC or right click while the cursor is over
the submenu.
5.3.1 Cube
This creates a standard cube. It is centered at the origin and
goes from -1 to +1 in all directions. It thus has a size of 2
units in each direction.
5.3.2 Sphere
This creates a standard sphere. It is centered at the origin
and has a radius of 1.0.
5.3.3 Cylinder
This creates a closed cylinder that has a radius of 1.0 and
extends from the Z=0 plane to the Z=1 plane.
5.3.4 Cone
This creates a closed cone. By default the cone has its apex
at the origin and has a radius of 1.0 at Z=1. You can use the
buttons in the object's Editing Menu (see Cone Menu on page
68) to change the cone size and orientation.
5.3.5 Torus
This creates a torus with a major radius of 1.5 and a minor
radius of 0.5, centered at the origin and lying in the Z=0
plane. See Torus Menu (page 68) for details on how to change
the size of the torus.
5.3.6 Plane
This creates an infinite plane in the Z=0 plane. The wireframe
representation is a square centered at the origin extending
from -1 to +1 in both X and Y directions. It also has a line
extending into the +Z direction to help you orient the plane.
5.3.7 Disc
This creates a disc with a radius of 1.0 in the Z=0 plane,
centered at the origin. The disc can have a hole in the
middle, which can be set in the Disc Menu (see page 69).
Manual MORAY V2.0 Page 54
----------------------------------------------------------------------
5.3.8 Translational Sweep (TRANS SWEEP)
This creates a translational sweep that extends from the Z=0
plane to the Z=1 plane. The shape of the sweep can be edited
in the extended editor (see 88).
5.3.9 Rotational Sweep (ROTAT SWEEP)
This creates a rotational sweep that consists of an outline
that is swept around the Z-axis. The shape of the sweep can be
edited in the extended editor (see 88).
5.3.10 Tapering Sweep (TAPER SWEEP)
This creates a translational sweep that extends from the Z=0
plane to the Z=1 plane. In contrast to the translational
sweep, this sweep tapers towards the origin, where all sides
meet. The shape of the sweep can be edited in the extended
editor (see 88).
5.3.11 Bezier Patch
This creates a bezier patch object. MORAY allows you to create
more than just the single patch that POV-Ray understands.
MORAY can handle objects consisting of multiple patches and
handles the way they are glued together. See Bezier Editor
(page 86) for details.
5.3.12 Heightfield
This creates a heightfield object, centered at the origin and
extending 1 unit in each direction. See the Heightfield Menu
(page 69) for details.
5.3.13 Raw Triangles Object
This creates a RAW triangle object. This can be used to
directly read in small (<500KB) meshes of triangles. Since
meshes can quickly fill up memory, it is recommended that you
use the 3D converter (see page 109) to convert the mesh to a
user-defined object (UDO) and create one of these with the
mesh file instead.
5.3.14 User-defined Object
This pops up the File Selector (see page 57), allowing you to
select a UDO file to load. This creates a user-defined object.
An UDO file contains information on how MORAY should export
and display an object (see What's New, page 96 for details).
5.3.15 Blob (LOAD BLOB)
This allows you to import a blob definition file. This file
can be created by a separate program by Alfonso Hermida, Steve
Anger and Truman Brown called Blob Sculptor (or its Windows
counterpart WinBlob). See Blob Menu (page 71) for more
details.
Manual MORAY V2.0 Page 55
----------------------------------------------------------------------
5.3.16 Pointlight
This button creates a point light at the origin. See
Pointlight Menu (page 72) for details of changing the
brightness.
5.3.17 Spotlight
This button creates a spotlight at the origin. See Spotlight
Menu (page 72) for details of changing the brightness and
aperture of the spotlight.
5.3.18 Arealight
This button creates an arealight at the origin. See Arealight
Menu (page 73) for details of changing the brightness and
size.
5.3.19 Group
This button creates a group object. A group is exported as a
union, but MORAY can handle cameras and lights in groups,
whereas these are not allowed in a true union (CSG) object.
See the Group Menu (page 74) for details.
5.3.20 CSG Object
This creates a CSG object. See CSG Menu (page 75) for details.
5.3.21 Camera
This creates a camera. See Camera Menu (page 75) for details.
5.3.22 Texture
This brings up the Texture Editor, where you can create and
delete textures. See Texture Editor (page 76) for details.
5.3.23 Done
This exits the Create Submenu and returns to the Main Menu.
5.4 Files Submenu
5.4.1 Current File
This field shows the current filename, without path, of the
current scene in memory.
5.4.2 New
This deletes the scene in memory and resets the views.
Manual MORAY V2.0 Page 56
----------------------------------------------------------------------
5.4.3 Load
This brings up the File Selector where you can choose a file
to load into memory. See File Selector (page 57) for details
on how it works.
You can use F3 as a hotkey for this function. The hotkey is
available from the Main Menu, too.
5.4.4 Save
This button is used to save the current scene to disk. If you
have previously loaded or saved this file, the scene will be
saved to the same filename. The currently existing file is
renamed with a BAK extension.
If you have not loaded this scene and have previously not
saved it, MORAY brings up a File Selector where you can choose
a file to replace or enter a new name for the scene. See File
Selector (page 57) for details on how the File Selector works.
You can use F2 as a hotkey for this function. The hotkey is
available from the Main Menu, too.
5.4.5 Save As
This button is used to save the current scene to disk. MORAY
will bring up a File Selector where you can choose a file to
replace or enter a filename to store the scene in. See File
Selector (page 57) for details on how the File Selector works.
5.4.6 Save Sel
This button allows you to save the selected object and any
textures that it is using to disk. MORAY will bring up a File
Selector where you can choose a file to replace or enter a
filename for the object. See File Selector (page 57) for
details on how the File Selector works.
5.4.7 Merge
This button will load the scene that you select in the File
Selector without deleting the scene already in memory. See
File Selector (page 57) for details on how the File Selector
works.
5.4.8 Export
This button makes MORAY export the scene to the selected
raytracer (see Options Menu, page 59). MORAY will check
whether all objects have textures first, notifying you of any
objects that do not have a texture. MORAY also creates a batch
file in the export directory called GO.BAT, which will call
the raytracer to render the scene.
You can use Ctrl-F9 to call this function directly from the
Main Menu.
Manual MORAY V2.0 Page 57
----------------------------------------------------------------------
5.4.9 Render
This does the same as the Export button above, but then also
calls the raytracer to render the image.
You can use F9 to call this function directly from the Main
Menu.
5.4.10 DOS Screen
This button will switch to the DOS text screen, so that you
can look at any error messages that the raytracer might have
left on the screen. Press any key to return to the Main Menu.
Use the Alt-F5 key from the Main Menu to invoke this function.
5.4.11 DOS Shell
Use this button to call a DOS Shell. MORAY will switch to text
mode and you will be placed in DOS. When you are done, type in
EXIT to return to MORAY.
5.4.12 User1, User2 and User3
These are user-definable functions. You can hookup any DOS
programs to these buttons. For example, you could call an
image viewer, passing in the image filename as an argument. Or
you can all an editor to look at the generated POV file. Or a
utility to convert RAW triangles to UDO files.
See Configuration (page 101) for details on how to set up you
own calls.
5.4.13 Options
This brings up the Options Dialog where you can set many
parameters associated with MORAY and the raytracers, such as
snap settings, render resolution, antialiasing, etc.
5.4.14 Done
This button can be used to leave the Files Submenu. You can
also right click or press ESC while the cursor is over the
menu to leave the Files Submenu.
5.5 File Selector
The File Selector is a dialog that pops up whenever MORAY
needs to know the name of a file. The Selector remembers where
you usually get your files from, according to where in the
program they are requested. For example, MORAY will remember
where you last loaded a scene file from and will automatically
pop up in this directory the next time it needs a scene.
You can press Enter to accept the name or ESC to cancel.
Manual MORAY V2.0 Page 58
----------------------------------------------------------------------
5.5.1 OK and Cancel
Use OK to confirm the name that you chose. OK only becomes
active once a valid name has been entered in the filename
control immediately below the OK and Cancel buttons.
Use Cancel if you change your mind about whatever file
operation it was that you invoked.
5.5.2 Current directory
This label shows you the name of the current directory (or as
much of it as possible).
5.5.3 Frequent directories
This listbox contains the last 6 directories that you used for
quicker access. Just click on one of these to jump to the
directory. This comes in handy if you have multiple
directories for the same type of file.
5.5.4 Filename
This is an edit control where you can enter the name of the
file. Simply start typing to specify the name of the file.
MORAY will append the extension if you leave it off.
5.5.5 Files
This listbox contains the names of all the files found in the
current directory that match the extension specified in the
Extension combobox. If you double click on the name it's the
same as clicking once on it and then pressing Enter or
clicking on OK, i.e. it accepts that name.
5.5.6 Extensions
This combobox contains all the extensions that MORAY knows
about and can be used to filter the files displayed in the
Files listbox.
5.5.7 Drives
This listbox contains a list of all available drives in your
system except those that you have disabled in the
configuration file (see Configuration, page 101). Simply click
once on the letter of a drive to change drives.
5.5.8 Directories
This listbox contains a list of all subdirectories available
in the current directory. Simply click once on a directory
name to change directories.
Manual MORAY V2.0 Page 59
----------------------------------------------------------------------
5.6 Options Submenu
5.6.1 Undo Buffer Size
This determines the number of undo actions that MORAY will
remember. No memory is specifically set aside when you set
this number, but memory is set aside every time that an undo
action is created.
For example: When you delete an object, the memory it was
using is not really returned to the system, since it is placed
in the undo buffer. The memory is only returned to the system
when as many further undo actions have been created as
specified in this number (Undo Buffer Size).
You can use the CLEAR button to immediately clear the Undo
Buffer.
5.6.2 Clear Undo Buffer
This throws away all undo actions currently available and
releases the memory associated with them to the system.
This is useful when you have just deleted a large RAW object
for example, and want to return the memory that it was using
to the system, so that you can have more memory available for
new objects.
5.6.3 Visibility Level
This setting is the global visibility setting for the scene.
All objects that have a visibility less than this setting will
be drawn. Use the minus and plus key to decrease and increase
the level.
5.6.4 Grid Snap
This set of buttons allows you to set the snap distance in the
views. All the buttons are edit controls, so you can simply
click on them and enter a new number.
You can set snap values separately for scaling, rotation and
translation, since these numbers are often in different
ranges. While a snap of 0.1 for translation is common, a snap
of 0.1 for rotation is probably too small.
The DISABLED/ENABLED button toggles the state of the snap
function. If the button reads ENABLED and is depressed, then
grid snap is enabled in the main views.
5.6.5 Renderer
Here you can choose the raytracer that will render your
images. Currently supported are POV-Ray 2.2 and higher, as
well as Polyray 1.8 and higher. Simply click on the one you
wish to use.
Manual MORAY V2.0 Page 60
----------------------------------------------------------------------
5.6.6 Render Options
This group of buttons allow you to specify with what options
the raytracer is to be called.
5.6.7 Display
This is used to determine whether the raytracer should show a
graphical display while rendering.
5.6.8 Verbose
This is used to determine whether the raytracer should display
statistics or progress indicators while rendering. This switch
is mostly enabled in combination with a disabled DISPLAY
button, so that the raytracer outputs the line number it is
currently rendering.
5.6.9 Pause
This button is used to determine whether the renderer should
pause after it is done. This switch is mostly useful in
combination with an enabled DISPLAY button to pause the
raytracer after the trace is done so that you can look at it,
since the preview will be gone once you return to MORAY. If
DISPLAY is off you can always use Alt-F5 (or Files|DOS-Screen)
to see what the final statistics were.
5.6.10 Continue
This button determines whether the raytracer should attempt to
continue an interrupted trace. For this to work you should not
change any external parameters such as resolution of the
image. Also if you attempt to continue a trace that has
rendering subwindow, it will not work correctly, even if you
leave the rendering window untouched.
5.6.11 Interruptible
This switch can be used to disable the keyboard checking that
the raytracers do. If you set this to NO, you cannot interrupt
a trace from the keyboard. Use this with care, since only a
reset will allow you to abort a trace. However, if you know
your kids may be around to press a key to interrupt that trace
you've had going for a week, this option can be used to
prevent that.
5.6.12 Resolution
This combobox allows you to choose the resolution of the image
that the raytracer should create from a set of standard
resolutions. If your desired resolution is not there, simply
click on the two edit controls next to this combobox and enter
the values for X (width) and Y (height) resolution manually.
5.6.13 Antialias
Use this edit control to set the antialiasing threshold.
Setting it to 0 disables antialiasing.
Manual MORAY V2.0 Page 61
----------------------------------------------------------------------
5.6.14 Jitter
This edit control can be used to set the amount of jitter to
introduce into the antialiasing if your active renderer is
POV-Ray. Polyray does not use jitter in the same way and
therefore does not have this button.
5.6.15 Rays
This combobox lets you choose how many rays are to be shot
into the scene when antialiasing is triggered. This option is
only supported by POV-Ray.
5.6.16 Method
This combobox allows you choose the method that is to be used
for antialiasing if your renderer is Polyray. Please read the
Polyray documentation for details of what each setting means.
5.6.17 Max Level
This edit control can be used to specify the maximum number of
levels (recursions) that secondary rays will be spawned for.
If you are raytracing glass and are getting black areas in
unexplainable places it may be time to increase this number.
5.6.18 Register
Use this button to turn the shareware version into a
registered version once you have received the registration
confirmation and information from me. You will receive a name
and a number to enter at the prompts that appear after you
press this button.
NOTE: Attempting to register with an incorrect name and/or
number will render the EXE unusable and you will have to
re-install MORAY.
5.6.19 About
This brings up the About box for MORAY. Apart from showing you
the copyright notices and registration info, it also gives you
interesting information about the graphics mode and hardware
in use.
The first line of the graphics info tells you which VESA
specification is in use. Possible values are V1.2 and V2.0. If
you are not seeing V2.0, it may be time to give your graphics
card vendor a call or to obtain UniVBE V5.1 or higher. V2.0 is
considerably faster than V1.2 and you will should see a
dramatic boost in graphics performance if you install a V2.0
VESA driver.
The second line tells you the name of the driver providing
VESA services. This could be the BIOS of your graphics card or
a resident driver like UniVBE.
The third line tells you the graphics mode that you are
currently in. MORAY V2.0 only supports 256 color modes.
Manual MORAY V2.0 Page 62
----------------------------------------------------------------------
The fourth line tells you whether your VESA driver provides a
linear framebuffer. If this feature is available and in use
the graphics performance is increased even more. Only VESA 2.0
drivers (like UniVBE V5.1 and higher) can support this
feature.
5.6.20 Done
Use this button to leave the Options Submenu. You can also
press ESC or right-click to leave the submenu.
5.7 Copy Submenu
The Copy Submenu can be used to make copies of objects. You
can make single or multiple copies and the copies can be
transformed according to certain rules you define in this
menu.
Note that the Copy command is one of the commands that can be
undone in the Main Menu. The parameters entered in the Copy
Menu are retained during a MORAY session.
You can also create so-called reference objects with the Copy
Menu. These are objects that are simply references to the
object to be copied. They simply have their own
transformations in addition to the original objects
transformations, i.e. they are always transformed relative to
their 'reference object'.
5.7.1 Scaling Factor Mode (SCL FCT)
This button can be used to enable the Scaling Factor mode.
When making multiple copies of an object, certain
transformations are applied to successive copies. This button
determines that the scaling of copies will be determined by
taking the scaling components of the previous copy and
multiplying each component by the corresponding number in one
of the three individual edit controls beneath this button.
5.7.2 Scaling Offset Mode (SCL OFF)
This button can be used to enable the Scaling Offset mode.
When making multiple copies of an object, certain
transformations are applied to successive copies. This button
determines that the scaling of copies will be determined by
taking the scaling component of the previous copy and adding
the corresponding number in one of the three individual edit
controls beneath this button.
5.7.3 X, Y and Z Scaling Values
These buttons contain the actual numbers which will be applied
to the scaling of successive copies of the object.
Manual MORAY V2.0 Page 63
----------------------------------------------------------------------
When in Scaling Factor mode, the X-Scale of the new copy is
formed by taking the previous copy's X-Scale and multiplying
it by the number in the first edit control (X value). The same
procedure is repeated for the Y and Z components.
When in Scaling Offset mode, the X-Scale of the new copy is
formed by taking the previous copy's X-Scale and adding the
number in the first edit control (X value). The same procedure
is repeated for the Y and Z components.
5.7.4 Rotation Factor Mode (ROT FCT)
This button can be used to enable the Rotation Factor mode.
When making multiple copies of an object, certain
transformations are applied to successive copies. This button
determines that the rotation of copies will be determined by
taking the rotation components of the previous copy and
multiplying each component by the corresponding number in one
of the three individual edit controls beneath this button.
5.7.5 Rotation Offset Mode (ROT OFF)
This button can be used to enable the Rotation Offset mode.
When making multiple copies of an object, certain
transformations are applied to successive copies. This button
determines that the rotation of copies will be determined by
taking the rotation component of the previous copy and adding
the corresponding number in one of the three individual edit
controls beneath this button.
5.7.6 X, Y and Z Rotation Values
These buttons contain the actual numbers which will be applied
to the rotation of successive copies of the object.
When in Rotation Factor mode, the X-Rotation of the new copy
is formed by taking the previous copy's X-Rotation and
multiplying it by the number in the first edit control (X
value). The same procedure is repeated for the Y and Z
components.
When in Rotation Offset mode, the X-Rotation of the new copy
is formed by taking the previous copy's X-Rotation and adding
the number in the first edit control (X value). The same
procedure is repeated for the Y and Z components.
5.7.7 Translation Factor Mode (XLAT FCT)
This button can be used to enable the Translation Factor mode.
When making multiple copies of an object, certain
transformations are applied to successive copies. This button
determines that the translation of copies will be determined
by taking the translation components of the previous copy and
multiplying each component by the corresponding number in one
of the three individual edit controls beneath this button.
Manual MORAY V2.0 Page 64
----------------------------------------------------------------------
5.7.8 Translation Offset Mode (XLAT OFF)
This button can be used to enable the Translation Offset mode.
When making multiple copies of an object, certain
transformations are applied to successive copies. This button
determines that the translation of copies will be determined
by taking the translation component of the previous copy and
adding the corresponding number in one of the three individual
edit controls beneath this button.
5.7.9 X, Y and Z Translation Values
These buttons contain the actual numbers which will be applied
to the translation of successive copies of the object.
When in Translation Factor mode, the X-Translation of the new
copy is formed by taking the previous copy's X-Translation and
multiplying it by the number in the first edit control (X
value). The same procedure is repeated for the Y and Z
components.
When in Translation Offset mode, the X-Translation of the new
copy is formed by taking the previous copy's X-Translation and
adding the number in the first edit control (X value). The
same procedure is repeated for the Y and Z components.
5.7.10 Orbiting
There is one more button in the Copy Menu with three
associated controls that do not exist as Main Menu
transformation controls. This is the Orbit button. When this
button is depressed, the object copies are transformed in a
way that is usually quite tedious to accomplish.
The translation parameters of successive copies are updated in
such a way that the object copies are placed in orbit (in a
circle) around the original objects origin. The numbers in the
edit controls specify how many degrees each copy should be
rotated around the individual edit control's axis in degrees.
Since orbiting merely changes the copy's translation values,
it would not truly seem to orbit, since its orientation
(rotation) would remain the same. For this reason, when you
enter an orbiting value, the corresponding rotation value is
automatically set to the same value, but only if the rotation
value at that time is zero. If you don't want the copies
rotated, you need to reset the rotation value to 0.
Also, the number of copies to create is automatically set to
the number of copies you would need to make a complete circle
of copies.
See the tutorial for copying objects for an example.
Manual MORAY V2.0 Page 65
----------------------------------------------------------------------
5.7.11 X, Y and Z Orbit Values
These edit controls contain the number of degrees that each
successive copy should be rotated around the original objects
origin. Note that it does not produce sensible results when
more than one of these controls contain a value.
5.7.12 Attach
If the original object that you are copying has a parent (is
part of a group), you have the option of attaching the copies
to the same parent. If you want the copies to also be part of
the original objects parent, then set this button to YES.
5.7.13 Copies
Use this edit control to set the number of copies that you
wish to create. When you enter an orbiting value, this number
is automatically initialized to the number of copies that
would be needed to create a complete circle of copies.
5.7.14 Reference
This button can be used to create Reference Objects. Reference
Objects are objects that have no definition themselves, but
are pointers or links to existing objects. All they have for
themselves are transformation parameters. Their geometric
representation is defined by the object that they reference,
in this case the original object.
This is an extremely powerful tool and should be used whenever
you have multiple copies of an object at symmetric places in
the scene. A big advantage of this object type is that if you
change the original object, all reference copies will also
change. For example, if the original object is a group and you
make 17 orbital copies with the reference button depressed,
you get 17 reference objects. If you then go back to the Main
Menu and add another object to the original group, the 17
copies automagically also get this object.
5.7.15 OK
Once all the parameters have been setup, use this button to
execute the copy function.
5.7.16 Cancel
If you change your mind about copying the object, click on
Cancel.
5.8 Object Menus
Whenever you select an object, the object's Editing Menu
appears at the bottom of the screen. The Editing Menu consists
of a number of common controls and a number of controls that
depend on the type of the object.
Manual MORAY V2.0 Page 66
----------------------------------------------------------------------
5.8.1 Common Editing Menu
The menus for all objects contain controls for changing things
like the name and the visibility levels of the object.
5.8.1.1 Clear Texture (CLR)
Use this button to clear the texture assigned to the currently
selected object.
5.8.1.2 Texture Space (LOCAL/GLOBAL)
Use this button to determine in what coordinate space the
texture is to be applied to the object.
Local means that the texture is applied in the objects
coordinate space. This means that when scaling, rotating and
translating the object, the texture will follow the object.
Technically this means that in the raytracer file the texture
is exported before the objects transformations are exported.
Global means that the texture is applied in objects parents'
coordinate space, or in world space if the object has no
parents. Any transformations applied to the object will not be
applied to its texture. Technically this means that in the
raytracer file, the texture is exported after the objects
transformations are exported.
5.8.1.3 New Texture
Use this button as a short cut to call the Texture Editor. You
can then create a new texture. Note that the texture that is
active when you leave the Texture Editor will automatically be
attached to the object.
5.8.1.4 Texture Name
This label shows the name of the texture currently assigned to
the object. It is simply a label button, you cannot click on
this button. Use the Texture Listbox (see below) to assign or
change the texture to the currently selected object.
If the object does not have a texture assigned to it, but one
of its parents does, the texture name is preceded by an
asterisk ('*'). This means that the texture is inherited from
the parent.
5.8.1.5 Scene Textures Listbox
This listbox contains the list of textures that are available
in this scene. Click on any texture in this list to assign it
to the object.
Manual MORAY V2.0 Page 67
----------------------------------------------------------------------
5.8.1.6 Clear Bound (CLR BOUND)
Use this button to get rid of the bounding box currently
assigned to the object. The bounding box is deleted. Note that
both POV-Ray and Polyray have automatic bounding schemes. If
you create a bound for an object, this bound will disable the
automatic bounding of the raytracer for that object.
5.8.1.7 New Bound
Use this button to add a manual bound to the object. MORAY
will create a bounding box that encloses all of the object,
including any children. Note that it always treats groups and
CSG objects as unions. You can select the bound and transform
it, if the default bound is not to your liking.
Both POV-Ray and Polyray have automatic bounding schemes,
which you are overriding by specifying a bounding box.
Generally the raytracers do a good job of bounding. But
specifically with CSG differences and intersections it can be
of advantage to manually bound these.
5.8.1.8 Bound Name
This label button shows you the name of the bounding box
currently assigned to this object.
5.8.1.9 Set Name (NAME)
Use this button to change the name of the object. Pressing
this button pops up a line editor, allowing you to edit the
current name. You must enter a unique name.
5.8.1.10 Current Name
This label shows the current name of the object.
5.8.1.11 Parent Name
This label shows the name of the objects parent, if it has
one.
5.8.1.12 No Shadow flag (NOSHADOW)
Use this flag to set the no_shadow attribute of the object.
This parameter indicates that the object will not cast a
shadow.
5.8.1.13 Relative Visibility
This switchbutton indicates whether the object's visibility is
relative or absolute. If the button is depressed, the
visibility is relative to the parent's visibility.
5.8.1.14 Decrease Visibility Level
Use this button to decrease the visibility level by one.
Manual MORAY V2.0 Page 68
----------------------------------------------------------------------
5.8.1.15 Objects Visibility Level
This displays the objects visibility level. If the number is
prefixed by a plus sign, the objects visibility is relative to
the parents visibility. This is another indicator like the
relative button.
5.8.1.16 Increase Visibility Level
Use this button to increase the visibility level by one .
5.8.1.17 Resulting Visibility Level
This button displays the resulting visibility of the object.
If the objects visibility is relative to its parent object,
this button displays the actual (accumulated) visibility of
this object.
5.8.2 Cylinder Menu
The cylinder adds one button to the Common Editing Menu (see
above, page 66).
5.8.2.1 Open
Use this button to make the cylinder open. This removes the
cap planes of the cylinder.
Note that using an open cylinder in a CSG difference or
intersection will result in incorrect renderings.
5.8.3 Cone Menu
The cone adds three buttons to the Common Editing Menu (see
above, page 66).
5.8.3.1 Open
Use this button to make the cone open. This removes the cap
plane of the cone.
Note that using an open cone in a CSG difference or
intersection will result in incorrect renderings.
5.8.3.2 Lower Radius (LOWER RAD.)
This button can be used to set the radius of the cone at the
base (Z=0).
5.8.3.3 Upper Radius (UPPER RAD.)
This button can be used to set the radius of the cone at the
top (Z=1).
5.8.4 Torus Menu
The torus adds four buttons to the Common Editing Menu (see
above, page 66).
Manual MORAY V2.0 Page 69
----------------------------------------------------------------------
5.8.4.1 Minor, Major Radius
Use these buttons to define the torus via the minor and major
radius. The values you enter are converted to the correct
Inner and Outer radius.
5.8.4.2 Inner, Outer Radius
Use these buttons to define the torus via the radius of the
outer edge of the torus and the radius of the inner edge.
5.8.5 Disc Menu
The disc adds one button to the Common Editing Menu (see
above, page 66).
5.8.5.1 Inner Radius
Use this button to make a hole in the disc. If you set this
value to a value larger than 0.0, the disc will have a hole.
5.8.6 Sweep Menus
The sweep adds one button to the Common Editing Menu (see
above, page 66).
5.8.6.1 Extended Edit
Use this button to call the sweep editor (see Sweep Editor,
page 88).
5.8.7 Bezier Patch Menu
The bezier patch adds three buttons to the Common Editing Menu
(see above, page 66).
5.8.7.1 U Steps, V Steps and Flatness
The values in the U- and V-Steps buttons determine the number
of recursive subdivisions that the raytracer should at least
do when converting the patch to smooth triangles internally,
before rendering. The value in the Flatness button determines
whether part of a patch should be divided into smaller parts,
or not. See POVRAY.DOC, section Bicubic_Patch for a more
detailed explanation.
5.8.8 Heightfield Menu
The heightfield adds one button to the Common Editing Menu
(see above, page 66).
5.8.8.1 Set Filename (FILE)
Use this button to set the filename of the heightfield.
Clicking on this button will pop up the File Selector (see
File Selector, page 57) for you to choose an image file for
the heightfield.
Manual MORAY V2.0 Page 70
----------------------------------------------------------------------
5.8.8.2 Read file (READ)
This button will become active when the type of the
heightfield file is a TGA file. It will make MORAY read in the
TGA file and display it in a wireframe representation.
If your heightfield is a GIF (or other) file, this button will
be grayed.
5.8.8.3 Set Waterlevel Slider (WATER)
This slider allows you to set the waterlevel of the
heightfield. Any part of the heightfield that is under the
waterlevel is cut away. If you have previously read in the
heightfield, you can see what parts will be cut away.
5.8.8.4 Smooth
This tells the raytracer to smoothen the heightfield. Normally
heightfields are rendered as triangle-meshes. Using this flag
smoothes the normals between the triangles, so that it looks
like the are no hard edges between individual triangles.
5.8.8.5 Adjusting Proportions (ADJ SCL)
If you have used a TGA file as a heightfield and have read it
in, this button allows you to adjust the scaling of the height
field to reflect the aspect ratio of the image file. It does
this by adjusting the Y-scale, according to the X-scale. For
example, if the image file is 200x100 and the heightfield
scaling is 1,1,1, the new scaling will be 1,0.5,1.
5.8.8.6 Display Steps (STEP)
This allows you to adjust the resolution of the heightfield's
wireframe display in MORAY. MORAY will take only every x
number of pixels of the image (where x is the value in this
button) and connect it to neighboring pixels. When you first
read in a heightfield image, MORAY will set this value in such
a way that you will get about 20 subdivisions in X and Y
directions.
Note that setting this button to low values, can dramatically
increase the number of edges and vertices that are displayed,
slowing down the program by a whole lot and using a lot of
memory. It can also cause the edge and vertex list to
overflow, causing incorrect wireframes to be displayed.
5.8.8.7 Image Resolution
This label button shows you the resolution of the heightfield
image file, if you have previously read it in.
5.8.9 RAW Triangles
The RAW triangle adds four buttons to the Common Editing Menu
(see above, page 66).
Manual MORAY V2.0 Page 71
----------------------------------------------------------------------
5.8.9.1 Set Filename (FILE)
Use this button to bring up a File Selector (see File
Selector, page 57) that allows you to choose a RAW file. Once
the name has been set you can actually read in the file with
the READ button.
5.8.9.2 Read file (READ)
This button will only be active if you have previously set the
filename to an existing RAW file. MORAY will read in the RAW
file, and perform a triangle reduction algorithm to determine
what it should display. Displaying complete RAW files tends to
clutter up the display, so MORAY calculates a set of lines to
display, based on the Feature Angle. This is for the wireframe
display inside MORAY only and has nothing to do with the
accuracy of the rendered scene. The raytracer is fed all the
triangles.
MORAY only supports reading a mesh file of less than 500K
directly. This is because a triangle mesh uses a lot of memory
that is not really needed for modeling, only for exporting.
For meshes bigger than 500K, you should use Thomas Baier's
handy utility to convert the RAW mesh to a UDO/INC file pair.
This utility supports smoothing and will generate an INC file
containing all the triangles as well as an UDO file for
creating a User-Defined object (see page 109).
5.8.9.3 Feature Angle
This angle determines when MORAY considers two adjacent
triangles to form a flat surface. This setting only affects
the way the mesh is displayed in MORAY and does not affect the
accuracy of the rendered scene.
A setting of 0.1 degrees will make only really coplanar
triangles disappear, whereas a setting of 15 degrees (a useful
default) will remove reasonably planar triangles. You can go
as high as 60 degrees and still be able to see the shape of
the mesh in MORAY, while keeping the wireframe edges to a
minimum. Since you are mostly only concerned with placing a
RAW object, you will usually not need a full wireframe
representation.
5.8.9.4 Write UDO file
This function allows you to write a UDO file of this object.
This function is only useful if you have an INC file of this
mesh. See the reference under Read File for a discussion of a
good UDO generator.
5.8.10 Blob Menu
The blob adds three buttons to the Common Editing Menu (see
above, page 66).
Manual MORAY V2.0 Page 72
----------------------------------------------------------------------
5.8.10.1 Threshhold
This is the threshold of the blob. Please see the raytracer
documentation for a detailed explanation of blobs.
5.8.10.2 Import
Use this button to import the Blob. MORAY currently supports
importing BLB files from BlobSculptor and WinBlob.
5.8.10.3 Evaluate
Use this button to evaluate the blobs into an approximation of
the surface. You will be asked for a resolution between 10 and
40. The default of 20 is a good value to use. If the blob is
complex, it may not be possible to evaluate at the resolution
you requested. In this case try with a lower resolution.
5.8.11 Pointlight Menu
The pointlight adds three buttons and four sliders to the
Common Editing Menu (see above, page 66).
5.8.11.1 Light Color Display
This button area simply displays the current color and
intensity of the light.
5.8.11.2 Decrease Light Brightness
This button decreases light intensity by 5% of its current
setting.
5.8.11.3 Light Color Sliders
Use these sliders to change the color of the light. The top
three sliders change the red, green and blue channels
respectively, while the bottom sets all three sliders to the
same value (white lights).
5.8.11.4 Increase Light Brightness
This button increases light intensity by 5% of its current
setting.
5.8.12 Spotlight Menu
The spotlight adds three sliders to the Pointlight Editing
Menu (see above, page 72).
5.8.12.1 Falloff Angle(FALL.)
This angle defines the outer cone of the spotlight. There will
be no light cast from this spotlight outside the cone defined
by this angle.
Manual MORAY V2.0 Page 73
----------------------------------------------------------------------
There is a gradual increase in light intensity from the
falloff angle to the radius angle. Setting these two values
close together results in a rapid transition from shadow to
light (hard-edged spot). Leaving a gap between them causes a
slower transition from dark to light (soft-edged spot).
5.8.12.2 Radius Angle (RAD.)
This angle defines the inner cone of the spotlight. Objects
inside this cone will be fully illuminated by the light. The
radius angle is always smaller than or equal to the falloff
angle.
There is a gradual increase in light intensity from the
falloff angle to the radius angle. Setting these two values
close together results in a rapid transition from shadow to
light (hard-edged spot). Leaving a gap between them causes a
slower transition from dark to light (soft-edged spot).
5.8.12.3 Graphical Length (LEN)
This slider can be used to lengthen the graphical display of
the spotlight cone in MORAY. It has absolutely no effect on
the rendering of the scene and is only an aid for you in
placing the spotlight. See Tutorial Basic Interaction with
MORAY, page 13 for more information about placing a spotlight
in the scene.
5.8.13 Arealight Menu
The arealight adds three buttons and a slider to the
pointlight's Editing Menu (see above, page 72).
Please see the POV-Ray documentation for a detailed
explanation of arealights.
5.8.13.1 Light size (PSEUDO LIGHTS)
This determines the number of pseudo light sources in the area
light. POV-Ray calculates the shading of scenes with area
lights by treating the area light as an array of point lights.
These two values define the dimensions of the array.
If you want to make a single row of lights (like a neon tube)
enter a setting of 1 for the X value.
The wireframe will show where individual point lights on the
arealight grid are. Note that the arealight extends one unit
in the X and Y direction and is positioned at Z=0. Use the
normal scaling and translation techniques to change the
geometric size and position of the area light.
5.8.13.2 Adaptive setting
This parameter is used by POV-Ray to determine whether to
always look at all pseudo lights or whether to do adaptive
sampling. Please see the POV-Ray documentation for a detailed
explanation of the area light.
Manual MORAY V2.0 Page 74
----------------------------------------------------------------------
5.8.13.3 Jittering
This button can be used to turn jittering on when rendering
area lights. This results in less banding of the shadows cast
by this area light.
5.8.14 Group Menu
The group adds four buttons and a listbox to the Common
Editing Menu (see above, page 66).
5.8.14.1 Objects in Group
This listbox contains the list of objects that belong to this
group. Clicking on one of the objects highlights this
subobject in the views. You can double-click on a subobject to
actually select the object.
5.8.14.2 Add Object (ADD IN PLACE, ADD FROM ORIGIN)
Use these buttons to add an object to the group. Since adding
an object to a group causes the transformations of the group
to be applied to the object before the transformations of the
object itself, simply placing the object in the group can
result in the object moving or changing shape (provided the
group has been transformed in some way).
Objects can be added to groups in two ways.
If your object is already positioned and sized at the correct
place, use the ADD IN PLACE function to tell MORAY to
calculate the object's new transformation values at its
present position. With the ADD IN PLACE function, the object
will remain where it is when added to the group. It would,
however, still be affected by subsequent transformations of
the group or object.
Use the ADD FROM ORIGIN to not change the object's existing
transformations and to apply any transformations that belong
to the group. If the group has been transformed in some way,
the added object will be influenced by the transformations of
the group.
5.8.14.3 Ungroup Object (UNGROUP IN PLACE, UNGROUP TO ORIGIN)
Use these buttons to remove an object from the group. First
you need to select the object to remove by clicking on it in
the listbox of objects.
Since the transformations of the Group are applied to the
transformations of the object you're ungrouping, simply
removing the object from the group may make the object move to
a different position (or change shape). This is what happens
when you click on the UNGROUP TO ORIGIN button.
Using the UNGROUP IN PLACE button adjusts the object's
transformations, so that it will stay exactly where it was
when it was still part of the group.
Manual MORAY V2.0 Page 75
----------------------------------------------------------------------
5.8.15 CSG Menu
The CSG object adds three buttons to the Group Editing Menu
(see above, page 74).
5.8.15.1 Cycle Object Order (CYCLE OBJECTS)
This button can be used to change the order of the objects in
the CSG's object list. Since for CSG the object order is
important, you may have added the object that should come
first in the last position. In this case you can use this
button until it's at the first position.
5.8.15.2 CSG Type (OPER)
Use this combobox to determine the type of CSG. MORAY supports
four CSG operations:
- Union: The surfaces of all objects are visible.
- Intersection: The surfaces that are inside all objects are
visible.
- Difference: The surfaces of the first object not inside the
following objects and the surfaces of the following objects
that are inside the first object are visible.
- Merge: The surfaces of all objects that are not inside any
of the other objects are visible. Externally this means the
same as union, except that if the object is made
transparent, there are no surfaces inside the object.
5.8.15.3 Evaluate/ Unevaluate
This button evaluates the currently selected CSG and all
objects below it (in its hierarchy). The evaluation will give
you a rough indication of what the object looks like after the
CSG operation.
5.8.16 Camera Menu
The camera adds eight buttons to the Common Editing Menu (see
above, page 66).
5.8.16.1 Translation Point (POSITION + LOOKAT)
These buttons determine which part of the camera are moved in
translation mode. If POSITION is depressed, moving will
translate the position of the camera. If LOOKAT is depressed,
moving will translate the look at point of the camera.
5.8.16.2 Viewing angle
This button determines the horizontal viewing angle of the
camera, i.e. how many degrees of the scene are spanned
horizontally by the camera aperture. Click on the button to
directly set the value. This value is also stored in the Z-
component of the camera scale.
Manual MORAY V2.0 Page 76
----------------------------------------------------------------------
5.8.16.3 Position Reference
This button can be used to place the camera relative to
another object. Clicking on this button brings up the Object
Browser (see Object Browser, page 91) in which you need to
select an object. The camera will then be placed relative to
the origin of this object in the scene.
Note that only the position of the objects origin is used to
translate the position of the camera. Scaling or rotating the
object that the camera references does not change the camera
position. This also means that if you set both Position and
Lookat Reference to the same object, rotating that object will
not change camera orientation.
5.8.16.4 Lookat Reference
This button can be used to place the lookat point of the
camera relative to another object. Clicking on this button
brings up the Object Browser (see Object Browser, page 91) in
which you need to select an object. The camera lookat point
will then be placed relative to the origin of this object in
the scene.
5.9 Texture Editor
5.9.1 Create Texture (CREATE)
Use this button to create a new texture. A line editor pops
up, asking you to enter a name for the new texture. A unique
default name is provided, which can be changed later. This
texture is then added to the list of textures in the scene.
5.9.2 Import A Texture Definition (GET)
This button also creates a new texture, but allows you to
start the textures with a copy of one of the stock POV-Ray
texture contained in the TEXTURES.INC file. A listbox will pop
up with all available textures. Click on the one you want to
import and it will be created and added to the list of
textures in the scene.
5.9.3 Delete Texture (DELETE)
Use this button to delete the currently selected texture in
the list of textures in the scene. If the texture is being
used by an object, you will not be able to delete the texture.
5.9.4 Delete Unused Textures (DEL UNUSED)
This button deletes any textures in the list of texture in the
scene that are not currently in use by any objects.
Manual MORAY V2.0 Page 77
----------------------------------------------------------------------
5.9.5 Copy A Texture (COPY)
This button creates a copy of the currently selected texture
and adds it to the list of textures in the scene. It uses a
new name, which is formed by either incrementing or adding a
number at the end of the texture name.
5.9.6 Exit Texture Editor (DONE)
Use this button to exit the texture editor. Nothing is lost by
doing this, i.e. there is no need to save anything.
5.9.7 List Of Textures In Scene
This listbox contains a list of all available textures in the
scene. The one that is currently selected is the one that is
loaded into the editor and can be changed by all the sliders
and controls.
5.9.8 Preview Display
This area is where MORAY displays a preview of the texture if
you render it with the selected raytracer (see below). The
preview is not saved, nor is it retained for when you re-enter
the Texture Editor later.
5.9.9 Make Preview (PREVIEW)
This button calls the currently selected raytracer to render a
sample scene with the currently selected texture applied to a
primitive. After the preview has been rendered, it is
displayed in the Preview Display (see above).
5.9.10 Object For Preview (OBJECT)
This combobox allows you to choose the object to which the
current texture should be applied for the preview render. You
can choose from a number of primitives, as well as adding your
own (see Configuration, page 101).
5.9.11 Background For Preview (BACKGND)
This combobox allows you to choose whether the preview should
include a background or not. You can choose to render a floor
and a wall, both or neither. By default the floor is checkered
black and white, and the wall is horizontally striped black
and white. To change the appearance of either wall or floor
see Configuration, page 101.
5.9.12 Texture Type (TYPE)
This combobox is used to determine what type of texture you
are designing.
The default 'NORMAL' is a normal single-layered texture.
To make a layered texture, choose the 'LAYERED' option. This
turns the current texture into the first layer.
Manual MORAY V2.0 Page 78
----------------------------------------------------------------------
To make a Tiled texture, choose the 'TILED' option. This turns
the current texture into the first tile.
To make a material map, choose the 'MATERIAL MAP' option. This
turns the current texture into the first layer.
You can turn a layered, tiled or material map texture back
into a normal texture if you delete all layers except for one.
You cannot convert directly from layered and material map to
tiled.
5.9.13 Rename A Texture Layer (RENAME)
Use this button to rename the highlighted texture or texture
layer. A line editor pops up, allowing you to edit the name.
You must enter a unique name for each texture and texture
layer.
5.9.14 Add A Layer (ADD LAYER)
Use this button to add a layer to the texture. This button is
only available for tiled textures (provided only one tile has
been defined), layered textures and material map textures.
The new layer is a copy of the last layer currently in the
list of layers.
5.9.15 Delete A Layer (DEL LAYER)
Use this button to delete the currently selected layer of the
texture.
5.9.16 Reorder Layers (MOVE UP)
Use this button to re-order layers in a texture. The currently
selected layer is moved up in the list by one.
5.9.17 List Of Layers (AVAILABLE LAYERS)
This listbox contains the list of layers that a non-normal
texture currently consists of.
The currently selected layer is highlighted and its parameters
are loaded into the sliders and buttons in the pigment, normal
and finish sections.
5.9.18 Pigment Buttons
5.9.18.1 Type (TYPE)
This combobox allows you to choose the type of pigment that
the currently selected layer of the texture should use. You
can choose from all available POV-Ray texture types. The
display in the pigment block will change and adapt according
to the pigment type.
Manual MORAY V2.0 Page 79
----------------------------------------------------------------------
5.9.18.2 Turbulence (TURB), Octaves, Omega and Lambda
These buttons are used to set the turbulence parameters of the
pigment. They are not available for a solid-color pigments.
Use these buttons to set the number of octaves, the omega and
the lambda values that the turbulence function should use for
this texture (see POV-Ray Manual, section 5.4.1.5.2 through
5.4.1.5.4).
5.9.18.3 Frequency and Phase
Use these buttons to set the frequency and phase values for
the texture (see POV-Ray Manual, section 5.4.1.5.6).
5.9.18.4 Color and Colormap Buttons
The blocks immediately below the frequency and phase buttons
are where MORAY displays the colors and colormaps that you
define for a texture.
This display consists of two areas; the upper and thicker area
is where the color or colormap is displayed; the lower,
thinner area is where a grayscale representation of the filter
values is displayed. A black filter value means no light can
get through, i.e. the texture is opaque. Where the filter is
white, the texture becomes transparent.
5.9.18.5 Colormap Arrows
Below the actual colormap display you will see lines with
arrows that run up to the colormap. This is only for
colormaps, not for solid, checker, hexagon or imagemapped
textures.
These arrows indicate where individual entries are located in
the colormap. There are major tickmarks every 0.1 units and
minor tickmarks every 0.05 units. To change the position of a
colormap entry, move the cursor over the arrow tip of the
entry you want to move, click, hold and drag the arrow from
side to side.
Note that you can only move the entry up to where the next
entry is situated, i.e. you cannot overlap entries.
You also cannot move the first and the last entry positions,
since these are always at 0.0 and 1.0.
5.9.18.6 Red, Green and Blue Sliders
These sliders change the actual color of the currently
selected color entry. The color is shown in the big rectangle
next to the sliders. If the current color entry is part of a
colormap, then the colormap is also updated to reflect the
change in color to this entry.
Manual MORAY V2.0 Page 80
----------------------------------------------------------------------
Any changes to the Red, Green and Blue sliders are
automatically converted to HSL values and the HSL sliders
automatically updated. You can thus use HSL and RGB input
interchangeably.
5.9.18.7 Hue, Saturation and Luminance Sliders
These sliders change the actual color of the currently
selected color entry. The color is shown in the big rectangle
next to the sliders. If the current color entry is part of a
colormap, then the colormap is also updated to reflect the
change in color to this entry.
Any changes to the Hue, Saturation and Luminance sliders are
automatically converted to RGB values and the RGB sliders
automatically updated. You can thus use HSL and RGB input
interchangeably.
Hue is the color tone of the color. Saturation is how far the
individual RGB colors are apart from each other. Luminance is
how bright or dark the color is.
5.9.18.8 Filter Slider
This sets the filter value of the currently selected color
entry. A grayscale representation is shown in the smaller
rectangle below the color display rectangle (white is
transparent, black is opaque). If the color entry is part of a
colormap, then the bar below the colormap will also be updated
to show the filter values.
5.9.18.9 Add Colormap Entry (ADD)
Use this button to add a colormap entry to the colormap.
This button will add a new entry after (to the right of) the
one currently selected. The new entry will be placed halfway
between the currently selected entry and the next entry and
will have the color that was previously at that point, which
means that adding an entry does not change the colormap until
you move the entry or the color. You cannot add an entry after
the rightmost entry at 1.0.
5.9.18.10 Delete Colormap Entry (DEL)
This button will delete the currently selected entry. Entries
around this entry will not be changed or moved. You cannot
delete the first and last entries.
5.9.18.11 Copy Color Entry (COPY)
You can use this button to copy the color of one colormap
entry to another entry.
Manual MORAY V2.0 Page 81
----------------------------------------------------------------------
After clicking on this button, the cursor will turn into an
arrow with the letters FRM attached. Click the mouse over the
color entry you want to copy from. The cursor will now have
the letters TO attached to it. Click on the color entry you
wish to copy the color to. The two entries now have identical
color and filter settings.
5.9.18.12 Set Colormap Entry Position
The button with the number in it shows you the position of the
colormap entry in the colormap. If you want to place a
colormap entry at some specific value, but are finding it hard
to do so graphically, you can enter it here by clicking into
the button and typing the value.
5.9.18.13 Import Color (GET)
This button can be used to import a color into the currently
selected color entry from the list of colors defined in
COLORS.INC (actually in MRYTXTR.LST, but this contains the
list from COLORS.INC. See Configuration, page 101).
You will be presented with a listbox of colors to choose from.
Click on the color you want and it will be loaded in the
currently selected color entry.
5.9.18.14 Reverse The Colormap (FLIP)
You can use this button to reverse the colormap. The position
of the entries are flipped around the center of the colormap.
5.9.18.15 Scaling, Rotation and Translation
These buttons allow you to apply a set of transformations to
the pigment block of your texture.
The transformations apply to all instances of this texture in
your scene. Every time you apply this texture to an object a
new 'instance' of this texture is created. This means that
even though you can attach this one texture to many objects,
each one can be individually transformed.
Using these settings is useful for an imagemap, to transform
it so that it is 2 units wide and centered at the origin. This
makes it easier to use once assigned to an object. To do this
you would set X and Y scale to 2.0 and X and Y translation to
-1.0.
5.9.18.16 Mandelbrot Pigment Maximum Iteration
This button appears when you have selected the Mandel pigment.
It specifies the maximum number of iterations to calculate for
the fractal pattern.
Manual MORAY V2.0 Page 82
----------------------------------------------------------------------
5.9.18.17 Imagemap Filename (FILE)
This button is used to specify the name of the file to use for
imagemap textures. It pops up a File Selector. You can also
click into the field with the filename and enter a filename
directly.
5.9.18.18 Mapping
Use this button to choose what type of mapping you wish to
use. Currently supported are:
- planar: the image is projected along the Z-axis.
- spherical: the image is projected onto a sphere. The top
edge of the image is merged at the top pole of the sphere,
the bottom edge at the bottom pole. The middle of the image
spans the equator of the sphere. The left edge of the image
starts at -x and goes counterclockwise around the sphere.
- cylindrical: the image is projected onto a cylinder. The
left edge of the image starts at -X and goes
counterclockwise around the cylinder.
- toroidal: the image is projected onto a torus.
5.9.18.19 Tiling
Use this button to determine whether the imagemap should
appear only once on the object, or should be tiled across the
object.
5.9.18.20 Interpolation (INTERPOL)
This button determines the method use to interpolate between
pixels of the imagemap. See section 5.4.1.4.5 of the POV-Ray
manual for details.
5.9.18.21 Filter Type
This button determines if any and what type of filtering is to
take place with the imagemap.
- None: No filtering takes place, the imagemap is opaque.
- Single List: Certain indexes in the imagemap are to have
filter values defined.
- All: The whole imagemap is to have a filter value.
5.9.18.22 Filter All Value
This value is available when the Filter Type is set to All. It
determines the filter value to be applied to all of the
imagemap.
Manual MORAY V2.0 Page 83
----------------------------------------------------------------------
5.9.18.23 Filter Entries List
This listbox is available when the Filter Type is set to
Single List and contains a list of indexes and filter values
that are to be applied to the imagemap.
5.9.18.24 Add A Filter Index
This button is available when the Filter Type is set to Single
List. It allows you to add an entry to the list of filter
values.
You will first be prompted for the colormap index that you
wish to apply a filter value to and then the actual filter
value.
5.9.18.25 Delete A Filter Index
This button is available when the Filter Type is set to Single
List. It deletes the currently selected filter entry that is
highlighted in the Filter Entries List.
5.9.18.26 Delete All Filter Indexes
This button is available when the Filter Type is set to Single
List. It deletes all the filter entries in the Filter Entries
List. You will be asked to verify this choice.
5.9.18.27 Change A Filter Index
This button is available when the Filter Type is set to Single
List. It is used to change the filter value of the currently
selected Filter Entry.
5.9.19 Normal Buttons
5.9.19.1 Normal Type (TYPE)
This combobox allows you to choose the type of normal that the
currently selected layer of the texture should use. You can
choose from all available POV-Ray normal types. The display in
the normal block will change and adapt according to the normal
type.
5.9.19.2 Bump Amount (AMNT)
This determines the amount of bumpiness to use. You can think
of this as specifying the amplitude of any normal perturbation
you add. Good values are around 0.1 to 0.2.
5.9.19.3 Turbulence, Octaves, Omega and Lambda
These buttons are used to set the turbulence parameters of the
normal. They are not available for a smooth normals.
Use these buttons to set the number of octaves, the omega and
the lambda values that the turbulence function should use for
this texture (see POV-Ray Manual, section 5.4.2.7).
Manual MORAY V2.0 Page 84
----------------------------------------------------------------------
5.9.19.4 Frequency and Phase
Use these buttons to set the frequency and phase values for
the texture (see POV-Ray Manual, section 5.4.2.7.2).
5.9.19.5 Bumpmap Filename (FILE)
This button is available when you select Bumpmap as the normal
type. It allows you to determine the filename to be used as a
bumpmap.
5.9.19.6 Color Usage (USE)
This button determines how to interpret the data in the
bumpmap.
If it is set to Color Index, the bumps are rendered in such a
way that the highest index (255) is the peak of the bumps and
the lowest index (0) the valley of the bumps. Color Index only
makes sense with 8-bit indexed image files (like GIF).
If it is set to Actual Color, POV-Ray converts the color to a
grayscale value and uses that as an indication of the height
of the bump. White would be the highest peak and black the
lowest valley.
5.9.19.7 Mapping
Use this button to determine how the normal perturbations are
applied onto the object that this texture is attached to.
Currently supported are:
- planar: the bumps are applied along the Z-axis.
- spherical: the bumpmap is projected onto a sphere. The top
edge of the image is merged at the top pole of the sphere,
the bottom edge at the bottom pole. The middle of the image
spans the equator of the sphere. The left edge of the image
starts at -x and goes counterclockwise around the sphere.
This leads to a distortion of the bumps (they will be
crowded at the poles).
- cylindrical: the bumpmap is projected onto a cylinder. The
left edge of the image starts at -X and goes
counterclockwise around the cylinder.
- toroidal: the bumpmap is projected onto a torus.
5.9.19.8 Tiling
Use this button to determine whether the bumpmap should appear
only once on the object, or should be tiled across the object.
5.9.19.9 Interpolation (INTERPOL)
This button determines the method use to interpolate between
pixels of the bumpmap. See section 5.4.2.6.6 of the POV-Ray
manual for details.
Manual MORAY V2.0 Page 85
----------------------------------------------------------------------
5.9.19.10 Scaling, Rotation and Translation
These buttons allow you to apply a set of transformations to
the normal block of your texture.
The transformations apply to all instances of this texture in
your scene. Everytime you apply this texture to an object a
new 'instance' of this texture is created. This means that
even though you can attach this one texture to many objects,
each one can be individually transformed.
Using these settings is useful to transform a bumpmap so that
it is 2 units wide and centered at the origin. This makes it
easier to use once assigned to an object. To do this you would
set X and Y scale to 2.0 and X and Y translation to -1.0.
5.9.20 Finish Buttons
5.9.20.1 Diffuse, Ambient
These sliders can be used to set their corresponding values
for the raytracer.
5.9.20.2 Phong, Phong Size (PHNG SZ)
Use these sliders to set the raytracer's corresponding values.
Phong and Phongsize are normally used together to determine
the highlights on objects. An alternative lighting model for
highlights can be used by leaving Phong set to 0 and
specifying specular and roughness (see below) instead.
5.9.20.3 Specular (SPECLR), Roughness (ROUGHN)
These values determine where and how highlights appear on the
objects. These can be used instead of the Phong and Phongsize
pair (see above).
5.9.20.4 Reflection (REFLECT)
This slider determines how much the surface should reflect its
surroundings. A value of 1.0 would be a perfect mirror, a
value of 0.1 is shiny plastic. Note that setting this slider
to something other than zero can double the time it takes to
trace rays that hit this object.
5.9.20.5 Brilliance (BRILLNC)
This slider determines the brilliance of the surface. It is
similar to the Phongsize parameter, but works with the Diffuse
component (see the POV-Ray manual, section 5.4.3.1.2).
5.9.20.6 Refraction (REFRACT)
This button determines whether the object refracts light.
Manual MORAY V2.0 Page 86
----------------------------------------------------------------------
5.9.20.7 Index Of Refraction (IOR)
This slider determines the index of refraction of this
texture. It is only used when refraction (see above) is on.
You can use the GET button to load a value from an list of
common IOR values (see Configuration, page 101).
5.9.20.8 Crand
This button can be used to make the texture look a little (or
a lot) grainy. It does this by making the texture a random
amount darker. Since the amount applied is totally random and
not dependent on position, do not use this variable in
animations.
5.9.20.9 Metallic (TYPE)
Use this button to specify whether the object is metallic or
not.
The highlight on a normal (non-metallic) object is always the
color of the light source that is being 'reflected'.
On a metallic object the color of the specular highlight
(phong) is determined by the color of the object itself and
not by the light source.
5.10 Bezier Patch Editor
5.10.1 X-, Y- and Z-Mirror
These buttons mirror the entire patch in the specified
direction.
5.10.2 Snapping Points (SNAP POINTS)
This button will snap the coordinates of the selected points
to the nearest multiple of the number that you enter in the
line editor that pops up.
The settings of the arrestor buttons (activated by pressing
'X', 'Y' or 'Z') determine which coordinates will be snapped.
When you click on this button the title of the line editor
shows which coordinates will be snapped.
5.10.3 Marked Point Number (MARKED)
This label button displays the number of currently selected
(marked) points on the control mesh.
5.10.4 Mark All
This button selects (marks) all points of the control mesh.
Manual MORAY V2.0 Page 87
----------------------------------------------------------------------
5.10.5 Unmark All
This button deselects (unmarks) all points on the control
mesh.
5.10.6 Toggle Marked
This button toggles the selection state of the points of the
control mesh. Selected points are deselected, deselected
points are selected.
5.10.7 Scaling Mode (SCL)
This button sets the transformation mode to Scaling mode,
similar to the Main Menu. When dragging in the views, the
selected points will be scaled, relative to the origin
according to mouse movement.
5.10.8 Uniform Scaling Mode (USCL)
This does the same as Scaling mode, except that it treats all
three dimensions the same. In effect this actually moves all
selected points away from or towards the origin.
5.10.9 Local Scaling Modes (LOCAL)
This is a modifier of the scaling modes. You first select the
scaling mode you need (uniform or non-uniform) and then select
the Local next to the scaling buttons.
When this button is depressed, the scaling that takes place is
not relative to the origin, but rather to the 'center of
gravity' of the selected points.
5.10.10 Rotation Mode (ROTATE)
This button selects rotation mode as the transformation mode.
Dragging in the views will cause all selected points to rotate
about the origin.
5.10.11 Local Rotation Mode (LCOAL)
This modifier allows you to rotate the selected points about
the 'center of gravity' of the selected points.
5.10.12 Translation Mode (TRANSLATE)
This button sets the transformation mode to translation.
Dragging in the views translates all selected points.
5.10.13 Divisions Slider
This slider can be used to set the amount of detail that you
can see of the patch. This is purely a MORAY-internal control
and has absolutely no effect on what is exported to the
raytracer.
Manual MORAY V2.0 Page 88
----------------------------------------------------------------------
If the display is not updated fast enough and you can do with
less detail, lower the slider setting. If you cannot see
enough detail on that curve you're designing, increase the
slider setting.
It is recommended that you set the slider to a low a setting
as possible once you leave the Bezier Editor, since that will
save memory and redraw time.
5.10.14 Show Mesh
This button can be used to hide and show the actual mesh
(bezier patch). If you want to just see the control mesh you
can deactivate this button and activate the SHOW CTRL MESH
button.
You can still work with the mesh in the normal way, i.e.
selecting and moving points, regardless of whether this button
is activated or not.
5.10.15 Show Control Mesh (SHOW CTRL MESH)
This button can be used to hide and show the control mesh of
the bezier patch. If you want to just see the actual bezier
patch you can deactivate this button and activate the SHOW
MESH button.
You can still work with the mesh in the normal way, i.e.
selecting and moving points, regardless of whether this button
is activated or not. This means that activating the SHOW MESH
and deactivation the SHOW CTRL MESH button allows you to see
the mesh only as you move the control points about.
5.10.16 Continuous updates (CONT. UPDATE)
Normally only the viewport that you work in is updated while
you move points about. Only when you release the mouse button
are the other views updated.
If this button is activated all the views are updated during
these transformations. This is only recommended for really
fast machines.
5.10.17 Done
Use this button to leave the Bezier Editor.
5.11 Sweep Editor
5.11.1 X- and Y-Mirror
These buttons mirror the entire sweep in the specified
direction.
Manual MORAY V2.0 Page 89
----------------------------------------------------------------------
5.11.2 Insert Node
This button allows you to insert nodes in the sweep. After
clicking on this button, the letters 'INS' are attached to the
cursor. Move the cursor to the point on an existing line where
you want the new node to be added and then click.
5.11.3 Delete Node
This button allows you to delete nodes from the sweep. After
clicking on this button, the letters 'DEL' are attached to the
cursor. Move the cursor to the node that you want to delete
and then click.
5.11.4 Snap Nodes
This button will snap the coordinates of the selected nodes to
the nearest multiple of the number that you enter in the line
editor that pops up.
The settings of the arrestor buttons (activated by pressing
'X', 'Y' or 'Z') determine which coordinates will be snapped.
When you click on this button the title of the line editor
shows which coordinates will be snapped.
5.11.5 Marked Node Number
This label button displays the number of nodes that are
currently selected. If the sweep type is glyph it also shows
whether you have selected points that are only on the curve or
only off the curve or whether you've selected both on- and
off-curve points.
5.11.6 Mark All
This button selects all the nodes of the sweep.
5.11.7 Unmark All
This button deselects all the nodes of the sweep.
5.11.8 Toggle Marked
This button toggles the selection state of the points of the
control mesh. Selected points are deselected, deselected
points are selected.
5.11.9 On/Off Curve
This button allows you to determine whether the selected nodes
should be on or off a glyph. This is only active if the
selected sweep type is GLYPH (see Sweep Type below).
5.11.10 Scaling Mode (SCL)
This button sets the transformation mode to Scaling mode,
similar to the Main Menu. When dragging in the view, the
selected nodes will be scaled, relative to the origin
according to mouse movement.
Manual MORAY V2.0 Page 90
----------------------------------------------------------------------
5.11.11 Uniform Scaling Mode (USCL)
This does the same as Scaling mode, except that it treats both
dimensions the same. In effect this actually moves all
selected nodes away from or towards the origin.
5.11.12 Local Scaling Modes (LOCAL)
This is a modifier of the scaling modes. You first select the
scaling mode you need (uniform or non-uniform) and then select
the Local next to the scaling buttons.
When this button is depressed, the scaling that takes place is
not relative to the origin, but rather to the 'center of
gravity' of the selected nodes.
5.11.13 Rotation Mode (ROTATE)
This button selects rotation mode as the transformation mode.
Dragging in the view will cause all selected nodes to rotate
about the origin.
5.11.14 Local Rotation Mode (LOCAL)
This modifier allows you to rotate the selected nodes about
the 'center of gravity' of the selected nodes.
5.11.15 Translation Mode (TRANSLATE)
This button sets the transformation mode to translation.
Dragging in the view translates all selected nodes.
5.11.16 Divisions Slider
This slider can be used to set the amount of detail that you
can see of the patch and that is exported to the raytracer.
5.11.17 Top Z Coordinate (TOP Z)
This button allows you to set the Z-value of the top cap plane
of a translational (and tapering) sweep. This value may not be
less than the Lower Z Coordinate.
5.11.18 Bottom Z Coordinate (BOTTOM Z)
This button allows you to set the Z-value of the bottom cap
plane of a translational (and tapering) sweep. This value may
not be higher than the Lower Z Coordinate.
5.11.19 Sweep Type
This combobox determines what kind of spline is used to
connect two nodes of the spline.
- Linear: This connects two nodes by means of a straight line.
- Quadratic: This connects two nodes by calculating a
quadratic spline between the previous node and the two
nodes.
Manual MORAY V2.0 Page 91
----------------------------------------------------------------------
- Cubic: This connects two nodes by calculating a cubic spline
that goes through the previous node, the two nodes to
connect and the next node.
- Glyph: This connects two nodes either by a straight line or
a bezier curve, depending on which points are on and which
are off the line.
Note that the sweeps are exported as triangles to the
raytracers that do not support the corresponding format.
The linear, quadratic and cubic are exported as triangles to
POV-Ray 2.2 and Polyray. Once POV-Ray 3.0 is released, an
update of MORAY will export these three as POV-Ray primitives.
The Glyph sweep type is exported as triangles to POV-Ray and
as a primitive to Polyray.
5.11.20 Importing a Glyph (IMPORT)
This button lets you import a glyph definition from a file.
The format of the file is very simple. It is a text file with
one 2D coordinate on each line (similar to RAW files) and a
flag. MORAY first searches for a line starting with the string
'[GLYPH]'. It then proceeds to read two floating point numbers
for the X and Y coordinates and an integer that indicates
whether the point is to be on (the integer is zero) or off
(the integer is non-zero) the curve. MORAY stops reading when
it encounters a line starting with '[END]'. Characters after a
semicolon are ignored on every line (this is a comment
character).
5.11.21 Done
This button leaves the Sweep Editor and returns you to the
Main Menu.
5.12 Object Browser
The Object Browser gives you a graphical view into the
hierarchy of your scene. See the Tutorial on the Object
Browser on page 41 for instructions on how to use it.
5.12.1 Main View
This view replaces the four scene views. It shows the objects
in your scene with top-level (or root) objects at the left
edge of the screen. These are displayed as buttons containing
the names of the objects or more information. Subobjects are
attached to their parent objects by lines.
5.12.2 Collapse All
If your scene has many hierarchy levels (extends
horizontally), this button will collapse all subobjects in the
hierarchy, leaving only the root (or top-level) objects
displayed.
Manual MORAY V2.0 Page 92
----------------------------------------------------------------------
5.12.3 Expand All
If you have previously collapsed all objects, pressing this
button will expand them all, displaying all objects (up to the
visibility level you set using Alt-1 to Alt-9).
5.12.4 Collapse Sub
This button only collapses the current object. In the highest
zoomed state, this corresponds to click on the '<' symbol in a
group object's button.
5.12.5 Expand Sub
This button only expands the current object. In the highest
zoomed state, this corresponds to click on the '>' symbol in a
group object's button.
5.12.6 Larger Font
This increases the size of the font. Three fonts are available
for displaying the names of the objects.
5.12.7 Smaller Font
This decreases the size of the font. Three fonts are available
for displaying the names of the objects.
5.12.8 Zoom In
This zooms into the Browser. It increases the size of the
buttons in three steps.
In the lowest zoom setting only a little button is displayed
for the object. In the middle state the name of the object is
displayed in the button. In the highest zoom state the button
also shows the texture that is assigned to the object, the
name of the bounding box and the type of the object.
5.12.9 Zoom Out
This zooms out of the Browser. It decreases the size of the
buttons in three steps.
In the lowest zoom setting only a little button is displayed
for the object. In the middle state the name of the object is
displayed in the button. In the highest zoom state the button
also shows the texture that is assigned to the object, the
name of the bounding box and the type of the object.
5.13 Command-line options
MORAY support the following command-line options:
file Specify the name of a file to load.
Manual MORAY V2.0 Page 93
----------------------------------------------------------------------
-Gn Specify the graphics mode to use, where n is an even
number between 4 and 10. The following table shows the
values for n and the corresponding graphics modes:
4 640x480
6 800x600
8 1024x768
10 1280x1024
12 1600x1200
Think of the number representing the first digit (or
two) of the vertical resolution.
This parameter overrides the setting in the INI file.
Set the INI file parameter GraphicsMode to te graphics
mode that you want to use as default.
-GMxnnn Specify the VESA mode number to use. This is not
recommended for VESA 2.0 drivers, as the numbers may
have changed. For example, it is no longer compulsory
for mode 0x0103 to mean 800x600x256.
-L If your graphics card is having problems using this
switch will make it write the VESA query protocol to
the ERR file. Only useful for debugging.
-B This tells MORAY that it is running from a batch file.
This parameter is needed when you want to use a batch
file to do the render-edit cycle (on lower memory
machines or bigger scenes this may become necessary).
-F If you specify this switch, MORAY will not use the
linear framebuffer, even if it is available.
5.14 User-defined objects
These objects allow MORAY to work with any objects that it can
currently not support directly. This includes the mathematical
objects, such as Polynomials, or huge triangle meshes.
The idea behind the user-defined object is that you provide
MORAY with enough information that it knows how to display it
and how to export it. To allow this MORAY uses a UDO file that
contains this information.
The UDO file allows more than one object to be present, MORAY
will import such an UDO as a group. This allows you to use
different textures on different parts of the object, provided
the utility that created the UDO handled this correctly.
5.14.1 UDO File Format
The file is a text file and can be freely formatted. Comments
start with a semicolon (;) and extend to the end of the line.
MORAY first expects two keywords followed by a value. These
are 'IncludeFile' and 'Name'.
Manual MORAY V2.0 Page 94
----------------------------------------------------------------------
Following the 'IncludeFile' keyword, MORAY expects the
filename of include file that the raytracer needs to read in
order to be able to render the object.
Following the 'Name' keyword, MORAY expects the name of the
object as it will be available in MORAY.
After these two keywords MORAY needs to find sections that
define the wireframe. A section is started by square brackets.
Inside the square brackets, MORAY must find a name, followed
by a colon and a keyword.
MORAY first needs to find the 'Vertices' keyword. Following
this on the next line is the number of vertices in the
wireframe. After this follow that many lines, each containing
the X, Y, Z position of the vertex.
MORAY then needs to find the 'Edges' keyword, followed, on the
next line, by the number of edges. After that follow that many
lines, each line containing two indexes into the list of
vertices. The index is zero-based.
When MORAY encounters a '[END]' section or the end of file it
will stop reading the file.
The names in the 'Vertices' and 'Edges' sections determine the
name of the user-defined object that is imported. If a UDO
file has more than one 'Vertices' section, MORAY attempts to
import more than one object, creating a group that holds the
objects.
5.14.2 Example UDO file
This is an example of a UDO file. It defines a pyramid, named
'Pyramid'. The raytracer will attempt to include the file
'PYRAMID.INC' for the actual definition of the pyramid. The
object has 4 vertices and 6 edges.
;
; Example of a user-defined object
;
Name 'Pyramid'
; Specify the file that should be included to
; access this object
IncludeFile 'PYRAMID.INC'
[Pyramid:Vertices]
4
0.00000, 0.000000, 1.73205
0.00000, 1.632990, -0.57735
-1.41421, -0.816496, -0.57735
1.41421, -0.816496, -0.57735
[Pyramid:Edges]
6
Manual MORAY V2.0 Page 95
----------------------------------------------------------------------
0 1
1 2
2 0
0 3
1 3
2 3
[End]
5.14.3 Converting RAW to UDO with the 3Dto3D Utility
Thomas Baier has allowed me to include two of his shareware
utilities with this release of MORAY.
One of these is a converter that can read RAW triangle mesh
files, 3D-Studio 3DS binary mesh files and Imagine V2.x and
V3.x OBJ files and write (amongst other formats) UDO/INC file
pairs for POV-Ray or Polyray. See the Tutorial on page 38 for
examples of how to use this utility.
Manual MORAY V2.0 Page 96
----------------------------------------------------------------------
6 New Features in V2.0
6.1 Interface
■ When scaling a rotated object, the cursor would not behave
correctly, the axes would be swapped. For example if a
object was rotated about Z by 90 degrees and you then tried
to scale it in X, the cursor would need to be moved in the Y
direction. This is fixed, the directions now correspond to
mouse movements.
■ Added an option to scramble the drawing order of the
wireframe display. Normally, Moray will draw object by
object which is not nice when the object you're interested
in comes last. If the option is enabled in the INI, the
lines will be scrambled and it will seem as if the scene
'fades' in (for lack of a better term).
■ Added support for tracking the view out of a spotlight
through a 3D viewport. All you do is assign the spotcam to
the viewport.
■ Incorporated my own VESA Library that supports the new VESA
2.0 specification (V1.2 VESA is still supported) including
the linear framebuffer. This library has assembler
implementations for most important routines. Runs up to 10x
faster with UniVBE/V5.1 or other VESA 2.0 driver installed
than the old V1.53 code. V1.54 used this same graphics
library.
■ Rewrote the wireframe interface code. The redraws are now
interruptible, or rather it looks like the redraws are
taking place in the background.
■ Removed a lot of the unnecessary redraws that the old
version had.
■ Added a proper (nicer) status bar for loading, saving,
exporting and some other things that take a bit of time.
■ Improved the look of the interface. Sliders have nicer
scroll bars and support paging and have arrows. Comboboxes
have been created. The Line Editor has been enlarged.
■ Object editing menu is always visible and active. It changes
immediately when a new object type is selected.
■ The right mouse button pops up a small menu if over one of
the views. Most view-relevant things (such as grid, snap and
view type) can be set from this menu.
■ The auto-grid of each view can be locked and subsequent
zooms will not change the spacing of the lines.
Manual MORAY V2.0 Page 97
----------------------------------------------------------------------
■ All of the views can be changed at runtime to show one of
the 2D views or the view out of a camera. This can be used
to create a stereo display for viewing cross-eyed assigning
one camera to a viewport on the left and another one to the
viewport on the right.
■ You can now work in the 3D window. The currently supported
operations are:
- pan (rotates the camera lookat about the camera origin)
- zoom (increases or decreases the aperture of the camera)
- selection (just like in a 2D view)
- translation (moves an object in the XY plane only,
perspectively following the cursor).
■ Changed the OPTIONS menu to a dialog.
■ Changed SNAP function to round coordinates to nearest
multiple of the snap distance. Previously, the snap had
rounded only the increment that it was changing the
transformation by.
■ Added the ability to snap scaling and rotation as well.
Scaling, rotation and translation have separate SNAP
settings that can be set from the OPTIONS dialog.
■ Added a Shell to DOS function, a Show DOS Screen function
and three User-defined functions to the Files Menu.
■ Added the Alt-R and Alt-Shift-R hotkeys to redraw and
reinitialize the graphics mode. This is useful when running
under Windows for those graphics cards that cannot properly
restore the MORAY screen when returning from Windows.
6.2 Objects
■ Added Reference Objects. These are shallow copies of objects
and thus change their wireframe along with the referenced
object. Very neat for modifying objects that have many
copies (that also need to change if the original changes)
■ Added User-Defined Objects. These are defined in a textfile.
You define the name of an INC file that contains the object
description and the wireframe representation that Moray
should use to display the object.
■ Added support for Blobs. Blobs can be imported from Blob
Sculptor.
■ Added support for RAW files (triangle meshes). These can be
read in directly or converted to a UDO object by a utility
that comes with it.
■ Added Open keyword to cone and cylinder.
■ Added support for the cone to have both radii defined. It
now has an edit menu similar to that of the torus.
Manual MORAY V2.0 Page 98
----------------------------------------------------------------------
■ Rewrote the sweep editors. The old-style sweeps are no
longer supported. Old sweeps are converted to Polyray-style
sweeps (glyph and lathe). These are much easier to work with
and quite intuitive. They also allow straight and curved
line segments to be mixed in the same sweep.
You get to choose from 4 types of sweeps: the Polyray-style
sweeps (as described above), linear sweeps (where the
control points are connected by straight lines), quadratic
sweeps (where a quadratic function is used to interpolate
the curve) and cubic (where a cubic function is used to
interpolate the curve).
■ Added CSG Preview code. This is the first version, which is
not very accurate, in that it does not add new lines, which
is neccessary where two solids intersect. I'll be working on
this for the next version.
■ Added support for an unlimited number of top-level objects,
instead of the current limit of 100.
■ Objects can now be added to and removed from groups and CSG
objects in place (i.e. where they are).
■ Added a button to display the color of pointlights,
spotlights and arealights.
■ Heightfields can now read in TGA files and display the
wireframe mesh. This also takes water level into account and
only displays that part of the heightfield that is above
waterlevel. GIF files will not be read, due to the Unisys
patent on LZW de/encoding. Once PNG is supported by POV,
Moray will support it too (maybe sooner).
■ Each object can now have it's own link to a texture. This
link allows you to transform a texture for each object that
it's assigned to, separately. So, for example, the same
imagemap texture can be applied to various objects with
various different transformations.
6.3 Textures
■ Added Texture Editor. Clicking on TEXTURE now brings up a
complete texture editor for POV-Ray 2.2.
■ Many textures now have a wireframe representation. Textures
that use colormaps also have an arrow that show you where
the colormap starts and ends. This makes it a snap to
position textures.
■ Added the ability to export textures before or after the
object transformations. The Object Editing menus have a
button above the listbox of textures that allow you to
toggle the mode. 'Local' means that the texture is applied
in the objects local coordinate space, which is the way that
it's been up to now. 'Global' means the texture is applied
after the transformations.
Manual MORAY V2.0 Page 99
----------------------------------------------------------------------
6.4 Browser
■ Here, too when you click on an object, its editing menu is
immediately displayed and active.
■ The browser now has three zoom 'levels' (use '+' and '-' to
switch between them or use the ZOOM IN and ZOOM OUT menu
buttons).
- At the outermost level, there are no labels on the
buttons, to give you a rough overview of the layout of the
scene.
- At the middle level, you are presented with the same
display that the old Moray had.
- At the innermost level, each object is shown with it's
type, name, bounding box and texture. You can change the
texture by clicking on the texture in the objects box,
just like you can do with the name. Each object is
separately collapsible.
■ The browser also has a menu that allows you to select
different fonts and to collapse and expand all or individual
objects.
6.5 Miscellaneous
■ Added UNDO function for major scene manipulations.
- Transformation of objects.
- Deleting objects.
- Creating objects.
- Copying objects.
- Adding an object to a Group.
- Removing an object from a Group.
■ Improved the COPY function
- Separated the TRANS OFFSET and TRANS ORBIT functions.
You can now orbit an object and translate it at the same
time. This allows you to make things like a winding
staircase.
- Made two buttons out of the OFFSET/FACTOR mode buttons
for scaling and rotation.
- The values you enter are persistent, so that next time
you copy an object the settings that you used last time
are still there.
- When you use ORBIT, the value is automatically copied to
the corresponding rotation entry.
- Added a status bar to show how the copying is
progressing.
Manual MORAY V2.0 Page 100
----------------------------------------------------------------------
6.6 Rendering
■ Added support for setting the resolution of the render from
the OPTIONS dialog. Also various other parameters for the
raytracer, such as antialiasing, display, continue, verbose
and interruptible.
■ The RENDER function in the FILES menu can be made to call
POV-Ray and Polyray directly, instead of quitting back to a
batch file (for machines with enough memory).
■ Completely changed the file handling. The old Files Menu no
longer has any drives or files visible, only buttons.
Pressing LOAD or SAVE then pops up a File Selector, which
has a couple of neat features.
■ Added F2 Hotkey for saving a file and F3 for loading a file.
6.7 Exporting
■ Completely changed the exporting of objects. Primitives are
exported directly to groups (and CSGs), the others are
declared/defined.
■ Added Polyray support. All primitives and textures are
exported to Polyray.
■ Sweeps and triangle meshes are written to their own include
files.
Manual MORAY V2.0 Page 101
----------------------------------------------------------------------
7 Configuration
7.1 MORAY.INI Settings
7.1.1 The [CONFIG] section
7.1.1.1 MemoryUse
The two numbers behind this variable determine how much memory
in KB MORAY should set aside for the Vertex and Edge list.
These two lists are needed to display the wireframe in the
views.
To determine how much you need to set this to, keep a watch on
the the two buttons in the lower right corner of the screen.
One contains an 'V:' and the other a 'E:'. Neither of these
numbers should exceed 95%. If they do, the wireframe will
start dropping lines and it will no longer be an accurate
representation of your scene. You need to increase these
numbers if your lists are approaching 90%.
If you have little memory in your machine and your the two
buttons never show more than 30% or 40% you can safely
decrease these two numbers in the INI and thus free more
memory for actual objects.
7.1.1.2 ModelPath
This specifies the path where MORAY should save its MDL files.
The name must be enclosed in single quotes. By default this is
the MDL subdirectory.
7.1.1.3 PrintPathPOV
This specifies the path where MORAY should export POV-Ray
files to. The name must be enclosed in single quotes. By
default this is the POVSCN subdirectory. It is from this
directory that POV-Ray will be called.
7.1.1.4 PrintPathPolyray
This specifies the path where MORAY should export Polyray
files to. The name must be enclosed in single quotes. By
default this is the POLYSCN subdirectory. It is from this
directory that Polyray will be called.
7.1.1.5 IncludeFilePOV
This specifies the name of the include file that MORAY exports
to every scene that is written for POV-Ray. The name must be
enclosed in single quotes. You can include objects in this
file you want every scene to have.
Manual MORAY V2.0 Page 102
----------------------------------------------------------------------
7.1.1.6 IncludeFilePolyray
This specifies the name of the include file that MORAY exports
to every scene that is written for POV-Ray. The name must be
enclosed in single quotes. You can include objects in this
file you want every scene to have.
7.1.1.7 TextureList
This specifies the name of the file that contains color
definitions that the Texture Editor knows about, defaults for
new textures and IOR values. The name must be enclosed in
single quotes.
When you use the GET button in the pigment area of the Texture
Editor, MORAY will search the file specified here for a
[COLORS] section and will then read the definitions of colors
and will display these in a list for you to choose from.
When you create a new texture, MORAY will read the default
settings from the [DEFAULTS] section from this file. All new
textures use these settings.
When you click on the GET button next to the IOR slider, MORAY
will search for a [IOR Values] section and will read the IOR
values it finds and display these in a list for you to choose
from.
The sections [POVDEFAULTS] and [POLYRAYDEFAULTS] contain the
defaults that the raytracers use for certain variables. You
should NOT change the values here, since this may lead to
MORAY not exporting certain variables since it thinks that
they are the default setting.
7.1.1.8 PreDefTextures
This specifies the name of the file that contains the
definitions of predefined textures that the Texture Editor
knows about. The name must be enclosed in single quotes.
When you use the GET TEXTURE button in the Texture Editor, you
are presented with a list of textures that come from this
file. Choosing one, copies its definition into the current
scene and you can then further enhance or change the texture.
7.1.1.9 StartupScene
This specifies the name of the MDL file that MORAY should load
on startup if no file is given on the command-line. The name
must be enclosed in single quotes.
7.1.1.10 ColorDefinition
This file specifies the name of the file containing the
definition of the colors that MORAY uses for its interface.
The name must be enclosed in single quotes.
Manual MORAY V2.0 Page 103
----------------------------------------------------------------------
7.1.1.11 CheckTextures
This setting specifies whether MORAY should check the scene
for objects have no textures assigned to them before
exporting the scene.
If this is set to NO, MORAY will simply export the scene when
asked to do so.
If set to YES, MORAY will not export the scene until all
objects have textures.
7.1.1.12 AskOnExport
This setting determines whether MORAY should ask your
permission when exporting to a file that already exists in the
scene directory. If you are editing the exported POV or PI
files, you may want to set this variable to YES.
If set to NO, MORAY will simply overwrite any existing POV or
PI file with the current scene name.
If set to YES, MORAY will ask you whether it is OK to
overwrite an existing POV or PI scene file with this scene.
7.1.1.13 RenderWithShell
This setting determines how MORAY calls the raytracer.
If set to YES, MORAY will call the raytracer directly and will
not exit. This means that MORAY and the scene stays in memory
while the raytracer is running, and can be immediately
restored when the raytracer is done. This setting is
recommended for systems with 16MB or more. With less memory,
the raytracer may not be able to run.
If set to NO, MORAY will exit with an exit code of 17 if
POV-Ray is the current raytracer and 16 if Polyray is the
current raytracer. This setting should be used in conjunction
with the CALLMRAY.BAT file and if you have 8MB or less in your
machine.
7.1.1.14 GraphicsMode
This specifies the resolution that MORAY should run in. Valid
modes are 640x480x256, 800x600x256, 1024x768x256,
1280x1024x256, 1600x1200x256 or a VESA mode number in
hexadecimal format, for example 0x0103. The command-line
parameter -G (see page 92) overrides this setting. Note that
MORAY V2.0 cannot use 16-color modes.
7.1.1.15 UseLinearFrameBuffer
This setting specifies whether MORAY should ignore a linear
framebuffer even if available.
If set to NO, MORAY will not use a linear framebuffer.
Manual MORAY V2.0 Page 104
----------------------------------------------------------------------
If set to YES, MORAY will use a linear framebuffer if
available.
7.1.1.16 WireFrameDivs
These settings specify how many subdivisions the primitives
sphere, cylinder, cone, torus, spotlight and disc should have,
respectively. This number must be even and larger or equal to
8.
The higher the number, the finer (and more exact) the
wireframe will be, but also the more memory it will use and
the longer it will take to redraw. A setting of 12 is
recommended for most primitives.
7.1.1.17 KeyboardDelay
If a keypress occurs within the number of seconds specified by
this variable, MORAY increases the distance that the cursor
moves.
7.1.1.18 ViewLines
This variable defines the number of lines to draw for each
time slice that a view gets for drawing lines.
If your redraw response is sluggish, lower this number, if
it's snappy and could take a bit more, increase it.
1000 should be fine for 486 systems, Pentiums can probably
increase to 1500 or 2000. This also very much depends on the
performance of the graphics card.
7.1.1.19 SkipDrives
This variable defines the drive letters of drives to skip
processing. Place the drive letters behind each other (no
spaces) and do not surround them with quotes. MORAY will not
attempt to read the drives specified. You should place the
letter of your CD-ROM drive here.
7.1.1.20 Use3DText
This switch determines whether MORAY should use an embossed
look for text displayed on its interface. Using an embossed
look slows down text drawing, so if your screen response is
slow, set this to NO.
7.1.1.21 UserCommandX
Up to three user commands can be added here. MORAY will call
these when you press Alt-F1 to Alt-F3 and replace the
following strings:
%f is replaced by the current filename without extension, no
path
%r is replaced by the exported filename with extension, with
path
%q is replaced by the exported filename without extension,
with path
Manual MORAY V2.0 Page 105
----------------------------------------------------------------------
%pn is replaced by a filename that the user can select at
runtime. The n is the extension to use (see the ExtX
settings below). A fully qualified filename is returned.
Note that you will need to edit the MORAY.MNU file to change
the text on the buttons in the Files Submenu. In the section
[FILES MENU], look for the lines starting with 'Text 71'. At
the end of the line you will see single quotes that contain
the text that is displayed in MORAY. You can change this text
to suit your needs.
For example, to setup Thomas Baier shareware RAW to UDO
conversion as the third utility, you could use the following
command:
UserCommand3 'utils\3Dto3D.EXE -e20 -v -s60 %p8'
Then change the line in the [FILES MENU] section in MORAY.MNU
to read:
Text 73 +(0,6) '3DTO3D Alt-F3'
Whenever you press Alt-F3, MORAY will request the name of a
RAW file while expanding the '%p8' and will then call the
utility with the specified parameters.
The third user button in the Files Submenu will also show the
correct text.
7.1.1.22 IgnoreErrorLevel No
If your POV-Ray compile does not return the correct errorlevel
to DOS, you can set this flag to Yes to make MORAY ignore the
return value of POV-Ray.
The official ICB compile of POV-Ray 2.2 works correctly and if
you're using this compile you should set this flag to No.
If Polyray is your main raytracer this flag should be set to
No, since Polyray functions as expected.
7.1.2 The [FILEOPEN] section
This section stores information about the File Selector, such
as extensions, directories you last visited and associations
between extensions and directories.
You do NOT need to edit this section, it is maintained
automatically by MORAY.
7.1.2.1 The ExtN List
The ExtN settings determine what MORAY will display in the
file type dropdown combobox. The variable is followed by the
extension (maximum 3 letters) and the plain text that MORAY
displays in the listbox.
Manual MORAY V2.0 Page 106
----------------------------------------------------------------------
7.1.2.2 The HistN List
The HistN settings contain the names of the last 6 directories
that you loaded something from. These are displayed in the
Frequent directories listbox of the File Selector.
7.1.2.3 The ClassN List
The ClassN settings associate a class of file (imagemap,
bumpmap, RAW file, etc) with an extension (from the ExtN list)
and a directory.
When MORAY needs the name of a file, for example an imagemap,
it remembers the extension of the file you retrieved and the
directory you retrieved it from. The next time MORAY needs to
ask you for this same type of file (an imagemap in the
example), it knows what extension to use and what directory
you got the last one from and automatically places you there
to begin with.
7.1.3 The [TEXTURE EDITOR] section
7.1.3.1 POVTraceCall and PolyrayTraceCall
This variable defines the command-line to use when calling
POV-Ray or Polyray to create a preview image of the texture
being created in the Texture Editor.
The command-line must be placed in single quotes and contain
three special character sequences, one '%s' and two '%d'
sequences. The '%s' sequence must come before the '%d'
sequences. The '%s' sequence is replaced with the filename to
render (no extension). The first '%d' is replaced with the
width of the image to create and the second with the height.
7.1.3.2 ColMapGrey, ColMapColors and ColDisplayColors
These settings determine how many and which palette indexes
the Texture Editor can use for various things.
7.1.3.3 PreviewObject
This setting determines which object to use as a preview
object. It is the position in the list of objects in the
Texture Editor.
7.1.3.4 PreviewBackGnd
This setting determines what background objects to use in the
preview render.
7.1.4 The [OPTIONS] section
This section is maintained by MORAY. Most of these settings
come from the Options Submenu.
7.1.4.1 RayTracer
This setting determines the active raytracer.
Manual MORAY V2.0 Page 107
----------------------------------------------------------------------
7.1.4.2 Resolution
This setting determines at what resolution to raytrace at.
7.1.4.3 Antialias
This setting determines the antialiasing threshold. A value of
0.0 turns off antialiasing.
7.1.4.4 AntialiasMethod
This setting is used by Polyray only and determines the method
that should be used when antialiasing. See the Polyray
documentation for details.
7.1.4.5 JitterRays
This setting determines the amount of jitter and how many rays
to fire into the scene when antialiasing.
7.1.4.6 PauseAfter
This setting determines whether the raytracer should pause
when it is done before exiting.
7.1.4.7 Display
This setting determines whether the raytracer should display
the image on the screen as it is being raytraced.
7.1.4.8 Verbose
This settings determines whether (and how much) the raytracer
should output status messages while raytracing.
7.1.4.9 Continue
This setting determines whether the raytracer should continue
an already started trace.
7.1.4.10 Interruptable
This setting determines whether the raytracer can be
interrupted or not.
7.1.4.11 MaxTraceLevel
This setting determines the maximum level of recursion that a
ray can reach. If you are experiencing black areas while
tracing glass or other refractive materials, increase this
value.
7.1.4.12 Snap
This setting determines whether snap is on or off.
Manual MORAY V2.0 Page 108
----------------------------------------------------------------------
7.1.4.13 SnapScale
The three numbers determine the resolution that the snap works
at for scaling.
7.1.4.14 SnapRot
The three numbers determine the resolution that the snap works
at for rotation.
7.1.4.15 SnapTrans
The three numbers determine the resolution that the snap works
at for translation.
7.1.4.16 UndoBufferSize
This setting determines the number of Undo operations to to
buffer.
7.1.4.17 ScrambleViews
This setting determines whether the order in which the
wireframes are to be drawn in the views should be scrambled
(random) or ordered.
If you have a VESA 1.2 driver, and the redraws seems slow, it
is recommended that you set this to NO.
If you have a VESA 2.0 driver, you can set this to YES.
Although the version of the VESA driver will determine the
redraw rate of a scrambled view, you can enable it in either
mode.
7.1.4.18 PolyBias
This is a value that Polyray textures use to modify the
noise() function.
7.1.5 The [POV DEFFILE] section
This section contains those settings that should always be
passed to POV-Ray when tracing a scene.
You should specify things like the graphics mode for POV-Ray
and the path to include files here, if needed. MORAY does not
require any of the include files by default, since it exports
complete scenes.
7.1.6 The [POLYRAY INIFILE] section
This section contains those settings that should always be
passed to Polyray when tracing a scene.
You should specify things like the graphics mode for Polyray.
Manual MORAY V2.0 Page 109
----------------------------------------------------------------------
7.2 Objects in the Texture Editor Preview
The Texture Editor shells out to POV-Ray or Polyray to
raytrace a sample scene of an object with the texture that
you're currently editing applied to it.
This object can be any number of different objects and you can
adapt this list and add your own objects to use as preview
objects.
To do this follow the following steps:
1.
Use a text editor to edit the file MORAY.INI in your MORAY
directory. Find the section [PreviewObjects]. Here you will
find the list of objects that MORAY can use in the Texture
Editor. Add the name of the object you want to use to this
list, after the last entry (or at any other position).
2.
Use a text editor to edit the file PREVUSCN.POV in the
POVSCN directory. At the end of the file add a #declare'd
version of your object named 'Previewxxxxx' where the xxxxx
is the name of your object. Make sure that the declared
object uses a texture called 'PreviewTexture'.
3.
Repeat the above step with PREVUSCN.PI in the POLYSCN
directory.
The next time the Texture Editor is started you can set the
Preview object to your object.
7.3 The POV2MDL Utility
Thomas Baier has allowed me to include a shareware utility
with MORAY, the POV2MRY converter. This utility can read in an
existing POV V2.0 file and output an MDL file for MORAY to
read. This utility makes it possible to read in your old POV
files.
Please see the documentation in the UTILS directory for this
program.
7.4 VESA Drivers
The VESA specification is a protocol for software to
communicate with the graphics hardware through a uniform
interface.
The first VESA specification, V1.2 was targeted at real-mode
programs and had no special provisions for protected-mode
programs. Since MORAY is a protected-mode program, this
imposes some serious performance problems.
Manual MORAY V2.0 Page 110
----------------------------------------------------------------------
The newest VESA specification, V2.0 improved on the V1.2
specification while staying downward compatible (meaning
applications can be written to use V2.0, but still run on V1.2
VESA drivers). It offers a protected-mode interface and thus
MORAY runs much faster.
Furthermore VESA 2.0 offers a linear framebuffer on some
graphics cards. The framebuffer is the memory that contains
the screen image. This memory is on the graphics card and is
divided up into banks. Usually banks can be 'mapped' into a
small 64K window of the processors memory, so that an
application can write to the framebuffer. Each time a pixel
needs to be written to another 64K region, a bank switch needs
to be executed. This is also a performance brake. With a
linear framebuffer, the graphics memory is not mapped onto a
small 64K window, but rather is completely mapped into the
processors memory. Thus no bank switches are necessary and the
graphics are much faster.
See the About box in the Options menu (see page 61) for
current VESA status.
Manual MORAY V2.0 Page 111
----------------------------------------------------------------------
8 Appendix A: Hotkeys
The Files Submenu contain menu items (buttons) that, apart
from their descriptive text also have an associated hotkey
(e.g. F3 for LOAD). These menu items are available not only
from the Files Submenu but also from the Main Menu.
Many menu items have underscored letters in their text.
Pressing the underscored letter has the same effect as
clicking on it with the mouse. These keys are not listed here.
Only special non-obvious hotkeys are listed here.
8.1 Main Menu
ALT-n n=1-9, sets the global Visibility Level to n.
ALT-0 sets the global Visibility level to 10.
ALT-B selects the bounding box of the currently selected
object.
ALT-C Activates the Copy Submenu (see page 62).
ALT-D Deletes the currently selected object without
verification. Textures cannot be deleted in this
way, use the Texture Editor instead.
ALT-F Activates the Files Submenu (see page 55).
ALT-G Toggles the display of the grid lines in the view
that the cursor is over.
ALT-N Activates the Create Submenu (see page 53).
ALT-O Activates the Options Submenu (see page 59).
ALT-P Selects the parent object of the currently selected
object.
ALT-R Refreshes the screen.
SHIFT-ALT-R Reinitializes the graphics system. Switches to
text mode and then back to graphics mode.
ALT-S Activates the Object Browser (see page 91).
ALT-T selects the texture of the currently selected
object.
ALT-U deselects the currently selected object. No object
is selected after this hotkey is pressed.
ALT-V checks whether all objects have a texture assigned
to them. Selects the first object found that has no
texture.
ALT-X quits MORAY.
ALT-Z Zooms the current view in such a way that the
complete scene is visible.
'-' disables the view under the mouse cursor.
'+' enables the view under the mouse cursor.
'L' activates the transformation of the lookat point if
a camera is the currently selected object. No
effect otherwise.
'P' activates the transformation of the position of a
camera if the selected object is a camera. No
effect otherwise.
'X' Locks the X-axis. No transformations occur in the
X-axis.
'Y' Locks the Y-axis. No transformations occur in the
Y-axis.
Manual MORAY V2.0 Page 112
----------------------------------------------------------------------
'Z' Locks the Z-axis. No transformations occur in the
Z-axis.
Backspace Undo the last major scene operation (see page 49).
DEL Deletes the currently selected object.
ESC Leaves the currently active menu.
8.2 Files Submenu
All ALT-Hotkeys of the Main Menu are available here.
F2 Saves the current scene to disk.
F3 Opens the File Selector to load a new scene from
disk.
F9 Calls the raytracer to render the current scene, or
exits (see page 103, RenderWithShell).
F10 Quits MORAY.
CTRL-F9 Exports the current scene to the currently active
raytracer (see page 59).
ALT-F1 User command 1 (see page 57).
ALT-F2 User command 2 (see page 57).
ALT-F3 User command 3 (see page 57).
ALT-F5 Switch to the DOS-screen. Press any other key to
return.
ESC Leave the Files Submenu (cursor must be over Files
Submenu).
8.3 Object Browser
ALT-1 displays only top-level (root) objects.
ALT-n displays all objects up to a nesting level of n.
ALT-0 displays all objects.
TAB centers the display about the currently selected
object.
ALT-B selects the bounding box of the currently selected
object.
ALT-D deletes the currently selected object without
verification.
DEL deletes the currently selected object without
verification.
'D' deletes the currently selected object with
verification.
ALT-L allows you to enter the visibility level of the
currently selected object.
'L' allows you to enter the visibility level of the
currently selected object.
ALT-P selects the parent object of the currently selected
object.
ALT-T selected the texture of the currently selected
object.
'N' allows you to edit the name of the currently
selected object.
'T' pops up a list of textures and assigns the one you
click on to the currently selected object.
'-' makes the display of the objects smaller (see page
91).
'+' enlarges the display of the objects (see page 91).
Manual MORAY V2.0 Page 113
----------------------------------------------------------------------
ESC Leaves the Object Browser.
8.4 Edit Menu for Bezier Patches
'X' freezes the X-axis.
'Y' freezes the Y-axis.
'Z' freezes the Z-axis.
'-' disables the view under the mouse cursor.
'+' enables the view under the mouse cursor.
8.5 Texture Editor
F9 calls the currently active raytracer to render a
preview of the texture being edited.
ESC quits the Texture Editor.
ALT-R Redraws the screen and reloads the last preview.
SHIFT-ALT-R Reinitializes the graphics system, redraws the
screen and reloads the last preview.
Manual MORAY V2.0 Page 114
----------------------------------------------------------------------
9 Appendix B: Polyray
MORAY was written with POV-Ray in mind and there are a couple
of things that are different when using Polyray.
9.1 Texturing
Polyray does not use POV-Ray's Pigment/Normal/Finish model of
textures. Polyray has variables available in a texture that
allows you to handle these parameters in one texture
statement. This has consequences for MORAY when exporting
textures.
The way a texture is exported to Polyray is that the
transformation block of the pigment is applied to the whole
texture. This is fine until you start using a non-smooth
normal, for example Bumps. In POV-Ray the pigment and normal
transformations are independent of each other. However, since
the pigment transformation is applied to the whole texture
when exporting to Polyray, the pigment transformations also
apply to the normal specifications.
While designing a texture, it is best you set the pigment
transformations first and then once they are in place, work on
the normal specification.
Only Bumps and Bumpmaps are exported as normal modifiers. All
other normal types are exported as Bumps.
Only the scaling of the normal transformation block is
exported, so you cannot rotate or translate bumps.
The Mandel pigment is not available in Polyray, it is exported
as an onion texture.
Toroidal mapping modes are not supported for imagemaps and
bumpmaps.
9.2 Render Region
Polyray does not support a complete rendering window like POV-
Ray. Polyray allows the specification of the first line to
render. When you define a rendering window, the top edge is
passed to Polyray as the first line to render. Polyray will
always render the complete width of the image and will render
to the end of the image height.
Manual MORAY V2.0 Page 115
----------------------------------------------------------------------
10 Appendix C: Frequently Asked Questions
Q: Why is the just created texture not visible in the view, even
though the pigment type has a wireframe representation?
A: You need to assign the texture to an object first. There is no
reason to display the texture if it is not used by an object. Click
on the name of the texture in the listbox of textures in the
objects Editing Menu.
Q: I disabled a view in the View Popup using the DISABLE. Now I cannot
re-enable it with a right click.
A: Right-clicking does not work over disabled views. Use the '+'
hotkey instead.
Q: I cannot get a heightfield object to display the wireframe of the
image file. Why?
A: MORAY can only read TGA files, so using anything else (like GIF)
will not allow you to display the heightfield directly.
Q: MORAY exits to DOS after some time and writes the following message
to the file MORAY.ERR.
[INTEGRITY CHECK FAILED ... ABORTING]
A: This is usually caused by attempting to turn the program into a
registered version using an incorrect name/number pair. Only
name/number pairs that you receive from Lutz+Kretzschmar are valid.
To correct this situation, re-extract the MORAY.EXE file from the
ZIP archive. In rare cases, this can also be caused by compressed
harddrives (e.g. Stacker, DoubleSpace). Please install MORAY to a
uncompressed drive.
Q: When I render Bezier Patches, I get holes/gaps. My Bezier patches
look very coarse/faceted. Why?
A: This can occur with patches that are convoluted and complex. It can
usually be corrected by giving U_STEPS and V_STEPS a larger value,
and/or by making the value for FLATNESS smaller in the Editing Menu
for Bezier Patches.
Q: When I click on the TEXTURE menu item in the main menu to assign a
texture to an object, and create a texture in the Texture Editor,
MORAY still complains that the object does not have a texture.
A: The Texture Editor is there to edit existing or to create new
textures for use in your scene. It does not assign the texture to
any objects. This is done by clicking on the texture name in the
objects Editing Menu.
Q: I can't change the lookat/position of the camera.
A: You need to tell MORAY which coordinates of the camera you wish to
change. The camera has two positions and you can only translate one
at a time. To change the position of the lookat point press 'L' or
click on LOOKAT in the camera's Editing Menu. To change the
position of the camera itself, press 'P' or click on POSITION in
the Editing Menu.
Manual MORAY V2.0 Page 116
----------------------------------------------------------------------
Q: The image generated by the raytracer is completely different to
what was displayed in my 3D-view. Why?
A: MORAY uses the first camera in the global object list (the top most
one in the Object Browser) when exporting a scene, unless a camera
is the currently selected object. In this case the selected camera
is used.
Q: I created a texture with an ImageMap/BumpMap and the raytraced
image shows nothing/only parts of it. Why?
A: Provided the imagemap is not black, it has probably been
transformed incorrectly. If you're using the texture in GLOBAL mode
then check the TILING setting of the imagemap/bumpmap in the
Texture Editor and make sure it is set to TILED. You should be able
to see the wireframe proxy over your object.
Q: I create a blob using Blob Sculptor for DOS, saved it in BLB
format, but MORAY cannot read it. Why?
A: Please use a newer version of Blob Sculptor. The authors of Blob
Sculptor changed the file format between different versions.
Manual MORAY V2.0 Page 117
----------------------------------------------------------------------
11 Appendix D: Shareware
Shareware distribution gives users a chance to try software
before buying it. If you try a Shareware program and continue
using it, you are expected to register.
Copyright laws apply to both Shareware and commercial
software, and the copyright holder retains all rights, with a
few specific exceptions as stated below. Shareware authors are
accomplished programmers, just like commercial authors, and
the programs are of comparable quality. (In both cases, there
are good programs and bad ones!) The main difference is in the
method of distribution. The author specifically grants the
right to copy and distribute the software, either to all and
sundry or to a specific group. For example, some authors
require written permission before a commercial disk vendor may
copy their Shareware.
Shareware is a distribution method, not a type of software.
You should find software that suits your needs and pocketbook,
whether it's commercial or Shareware. The Shareware system
makes fitting your needs easier, because you can try before
you buy. And because the overhead is low, prices are low also.
Shareware has the ultimate money-back guarantee -- if you
don't use the product, you don't pay for it.
Manual MORAY V2.0 Page 118
----------------------------------------------------------------------
12 Appendix E: Index
A _______________________________ D _______________________________
About Box 61 Difference 75
Antialias 60 Directories 101
method 61 Disc 53,69
Arealight 55 Display Render 60
menu 73 DOS
Authors screen 57
contacting 3 shell 57
user programs 57
B _______________________________
Bezier Editor E _______________________________
Hotkeys 113 Evaluate
mark/unmark all 53 Blob 72
reference 86 CSG 75
Bezier patches Example scene
creating 54 tutorial 24
menu 69 Exit codes 105
tutorial 35
Blobs F _______________________________
importing 54 FAQ 115
menu 71 Feature Angle 71
tutorial 39 Features
Bounding new in V2.0 96
clear 67 File Selector 57
objects 67 INI settings 105
Files Submenu 55
C _______________________________ Frame buffer 103
Camera
creating 55 G _______________________________
menu 75 Graphics mode
spotlight 26 command line 93
CD-ROM drives 104 INI setting 103
Command-line options 92 VESA drivers 109
Compuserve 3 Grid
Cone 53,68 enabling 52
Configuration 101 locking 52
Continue Render 60 settings 59
Copying Objects 62 Grouping objects 31
tutorial 43 Groups
Creating Objects add object 31,74
menu 53 creating 55
CSG Menu 74
creating objects 55 remove object 74
grouping objects 31 tutorial 31
menu 75
tutorial 31 H _______________________________
Cube 53 Heightfields 34,54
Cylinder 53,68 menu 69
tutorial 34
Manual MORAY V2.0 Page 119
----------------------------------------------------------------------
Hotkeys 111 R _______________________________
RAW files 54
I _______________________________ converting to UDO 95
Imagemaps 23 importing 33
Import tutorial 33
Blob 72 Rays 61
RAW file 71 Raytracer 59
Internet 3 Reference Objects 65
Interruptable 60 tutorial 45
Intersection 75 Registering
instructions 3
J _______________________________ program 61
Jitter Rendering 57
antialiasing 61 configuration 103
arealights 74 display 60
setting options 60
L _______________________________ setting raytracer 59
Lights window 35,114
setting color 72 Resolution 60
Rotation mode 49
M _______________________________
Main Menu 48 S _______________________________
Max Level 61 Scaling mode 48
Memory Usage 101 Scenes
Merge 75 loading 14
rendering 28,57
O _______________________________ saving 17,56
Object Browser Shareware 117
Hotkeys 112 Snap
reference 91 enabling/disabling 51
tutorial 41 Sphere 53
Objects Spotlight 25,55
bounding 67 cameras 26
copying 62 menu 72
copying tutorial 43 tutorial 40
creating 19,53 Starting MORAY
editing 15 Tutorial 13
editing menu 65 Sweep Editor
no_shadow 67 delete node 52
reference 45,65 insert node 52
renaming 16 mark/unmark all 53
selecting 15 reference 88
transforming 16 Sweeps
tutorial 19 creating 54
visibility 67 editing 28
Options Submenu 57,59 menu 69
INI settings 106 spline types 29
Orbit copies 64 tutorial 28
P _______________________________ T _______________________________
Panning Texture
views 14 assign to object 26,66
Pause Render 60 creating 19,55
Plane 53 Polyray 114
Pointlight 55 predefined 102
menu 72 selecting 111
Polyray compatibility 114 space 66
POV-Ray tutorial 19
to MDL converter 109
Manual MORAY V2.0 Page 120
----------------------------------------------------------------------
Texture Editor tutorial 38
finishes 23
INI settings 106 V _______________________________
normals 23 Verbose Render 60
own preview objects 109 VESA Drivers 109
pigment 20 Views
preview 22 basics 13
reference 76 disabling/enabling 51
tutorial 19,23 grid 18,52
Torus 53,68 maximizing 18,51
Transformation mode panning 14,51
rotation 49 popup dialog 18,51
scaling 48 redrawing 52
translation 49 selecting objects 15,52
Translation mode 49 type 18,52
Triangles zooming 15,51
menu 70 Visibility
RAW files 33,54 setting global 59
tutorial 33 setting object 67
Tutorials
general 13 W _______________________________
Views 13 Waterlevel
setting heightfield 70
U _______________________________ Wireframe
Undo 49 detail 104
clear buffer 59
Union 75 Z _______________________________
User commands 104 Zooming
User-Defined Objects to Object 51
creating 54 to Scene 51
file format 93 views 15
importing RAW files 95