PHOENIX OBJECT RENDERER V2.00 DEMO This program is a disabled demo of Lexicor's Phoenix Object Renderer V2.00. The animation features of the program have been disabled, and any rendered images will be created with numerous blank horizontal bands through the image. Please see the included file PHNX_PR.TXT for an overview of Phoenix's features and ordering information. The following text is an excerpt from the Tutorial chapter of the Phoenix manual, and should help you explore through the demo many of the features Phoenix has to offer. Thank You for your interest. 4-4 Tutorials This Chapter contains several tutorials which will demonstrate some of the most important features of Phoenix. Tutorial One - Configuration and Loading Objects In this first tutorial we will configure the graphics settings of Phoenix, and load and render a sample object. Configuration Run the Phoenix program so that Phoenix's Main Window is displayed and select the Configure item under the File menu. The Configuration Dialog allows you to change the graphics settings for your computer. Since different computer models have different graphics resolutions we must tell Phoenix how we want to view our image. We will only be concerned with two sections of the Configuration Dialog for now, Image Resolution and Preview Resolution. See Figure 4-1. Image Resolution The Image Resolution controls allow you to set the pixel resolution and number of colors for any images you render. You may pick from several default resolutions, or create images using customized settings. Right now we want to create an image we can view from within Phoenix so we will use one of the defaults. To select an Image Resolution you must click the mouse on the popup button immediately below the title Image Resolution. A popup menu will appear with several different default resolution settings. To select a resolution move the mouse over the resolution you wish to select (that line will be highlighted) and click the left mouse button. The newly selected resolution will be displayed in the popup button with the new settings displayed below. If you have a ST or STe you should select Spectrum 512 resolution. This creates images in the 512 color .SPC format. (NOTE: on Mega STe's your speed must be set to 8mhz to view Spectrum images. Spectrum images may not be viewable on machines with some accelerator boards.) If you have a TT030 you should select TT Low 320x480x256. This will create a 256 color GIF file. If you have a Falcon030 you should select one of the Falcon modes. If you are using your Falcon with a TV or SC1224/1435 monitor then select Falcon TV 320x200xTC. If you are using your Falcon with a VGA monitor then select Falcon VGA 320x240xTC. These selections will create a low resolution true color TGA file. If you are using an add-on graphics card then you should select Current. This will create an image using the same resolution and number of colors as the resolution your card is currently using. This will create a GIF or a TGA file, depending on the number of colors the card can simultaneously display. Preview Resolution The Preview Resolution setting determines how the image will be displayed by Phoenix as it is rendering. Clicking on the popup button will display a popup menu to select the Preview Resolution. Note that only the resolutions available on your computer may be selected. Select the Preview Resolution that corresponds to the Image Resolution you selected - i.e., if you choose Spectrum 512 then you should select Spectrum for the Preview Resolution. If you selected Current for the Image Resolution then select None. (The image will automatically be displayed in a window using the Current Resolution settings.) Click on the Exit button when you have finished setting the options. To finish the configuration select the Save CFG item under the File menu. This will save your configuration settings to disk so that you don't have to reset them every time you run Phoenix. Loading an Object We are now ready to load an object. We'll use Lex, a simple stick figure, for our examples. Select the Load RD1 item from the File menu and load the LEXMAN.RD1 file from the Graphics disk. This file contains several objects which make up Lex. As each object loads its name and status will be displayed. When the file has finished loading it will be displayed in the Camera View. Lex doesn't look like much, does he? We need to change our camera's position to get a better look at him. Phoenix defaults to the Orbital camera which always looks at the center of the 3D world. You can reposition the camera by rotating it around the 3D world using the Horizontal and Vert slider bars. Click twice on the left half of the Horizontal slider to change the Horizontal angle to -20ø. The UPDATE indicator becomes highlighted to show that we've changed our camera position, but our view won't redraw yet - allowing us to make more changes. Increase the Vertical angle by clicking on the top half of the Vert slider so that it is at 50ø. We'll also decrease the zoom (magnification) of our camera in the same manner so that the zoom is set to 140. When you've finished changing the settings click in the Camera View to redraw the objects from the new camera position. Now we can see the whole figure with the camera looking down from the top left as shown in Figure 4-2. Rendering the Scene Now its time to render Lex so we can see what he looks like in color. Select the Polygon shading from the Shading Choices popup in the Main Window. (The popup button is located on the right half of the window and will default to Phong.) Polygon shading is the fastest shading mode in Phoenix. Click on the Render Scene button to display the file selector for you to choose the name to save the image as. You may use any name you wish and Phoenix will automatically add on the extender for the type of image it will create: SPC, GIF or TGA. The Status Window will appear to show you how the rendering is progressing, and an approximation of the image will be displayed in the Image Window as it renders. When the image has finished rendering it will be saved and the Main Window will be displayed again. To view your image in the Preview Resolution you selected earlier click on the Preview Image button in the Main Window. Press the to return to the Main Window. Tutorial 2 - Lights, Cameras and Smooth Shading Lets examine the image we just rendered in Tutorial One. Notice how the front and right side of Lex is alot brighter than the left. (Our left, not his!) This is because when we loaded Lex we also loaded a lightsource from the file. This is a Solar light located in the Top Right of the 3D world. Solar lights always shine towards the center of the 3D world. Scene Outline View We can look at the Scene Outline View in the upper right of the Main Window to see where this light is. This view gives us a overview of the entire 3D world and shows the location of the objects, lights and camera in the scene. Initially the TOP icon will be selected and the view is looking down from the Top of the 3D world. Any objects in the scene are displayed as red boxes. The camera's position is displayed as a black box and the black line shows the direction the camera is aimed. The black asterisk shows the position of our light. You can click on the FRONT or LEFT icon to view the world from different sides. Notice where our light is located and why Lex was illuminated the way he was. Clicking on the Camera icon will display the scene using bounding boxes from the current camera position. You can use this icon to confirm that the camera is positioned properly before updating the camera view. Adding Lights Lets add a Spotlight and focus it on Lex's head. Select the Lights item from the Attributes menu to enter the Lights Dialog (Figure 4-3). On the left is listed all the lights in our scene. Notice that there are actually two other Point lights in our scene besides our Solar light. These lights have been set to off though and thus aren't visible and don't cast any light in our scene. Lets turn our Solar light off also by clicking on the word on in the list. The light's setting will switch to off. The Solar lights position is shown on the right half of the dialog. Solar lights are positioned by angles just like the Orbital Camera from Tutorial One. To add our new light click on the ADD button and select Spotlight from the list of choices. The new light will be added at the top of the list and it will become selected (its name highlighted). Change the name of this light by clicking in the Name: text field and type in MY_SPOT. Next we'll set the position of this light. Spotlights can be placed anywhere in the 3D world and their position is described by a set of three coordinates. Enter the values in the position fields to place the light in the upper left corner of the 3D world. The next entrys are the Spotlight Angles. The Cone Angle controls how broad a radius of light the Spotlight casts. Change this setting to 10ø for a tightly focused light. Change the Dropoff Angle to 2ø to cause the spotlight to fade out slightly at the edges. Spotlights also have a direction which is defined by directional Heading and Pitch angles. Because we know we want it to point at Lex's head we can use a shortcut though. Click on the OBJ CENTER button next to the Heading entry. A list of all the objects in the scene will appear. Double click on the object head to aim the spotlight at that object. We'll also set the intensity for our spotlight. The intensity controls how bright the light is. We want to dim our light slightly, so click on the intensity value for our spotlight and enter a new value of 70. Before we leave the Light Dialog we also need to set the intensity of the Ambient light. This is a fill light which casts light evenly throughout the 3D world and will prevent the unlit portions of Lex from being completely black. Click on the Ambient Intensity value and enter a new value of 20. Then click on the EXIT button to return to the Main Window. Notice that MY_SPOT is shown as a black diamond in the Scene Outline View with a black line showing its direction. The Universal Camera Lets use one of the other Camera types now. Select the Cameras item from the Attributes menu to enter the Camera Viewpoint Dialog (Figure 4-4). This dialog shows the settings for each of Phoenix's Cameras. Click on the Universal Camera button to select it as our active camera. We could position the camera here just as we did with our spotlight, but we'll use the Main Window for that instead so just click on the OK button. The Universal Camera can be positioned and aimed anywhere in the 3D world so the Horizontal and Vert slider controls are missing from the Main Window now. This camera is positioned using the cursor keys and the Scene Outline View. Use the , , and cursor keys to move the camera's box around in the Scene Outline View. You can use the different View Icons to move the camera in all three dimensions. Position the camera so that it is in the Top Front Right of the 3D world. You can set the point the camera is looking at by holding the key down while using the cursor keys. Position the focus point so that the camera is looking at Lex's neck. Don't forget to click the mouse in the Camera View to update the screen display to the camera's new position. Finally adjust the zoom setting up so your scene looks something like the one in Figure 4-5. Remember the first image we rendered of Lex? Objects like his head and chest looked like they were made up of many flat surfaces, giving them a faceted look. Change the Shading setting to Phong and render our new scene. If you are impatient to see the final results you can press the while rendering to view the image in progress in the Preview Resolution. Press the again to resume rendering. When the image finishes rendering view the image. Notice how his head and chest are now shaded so they look like curved surfaces. If you look closely at his head you'll also see a white area where the reflection of the light created a highlight. Also observe how the spotlight caused his head to be more brightly lit than the lower portions of his body. Lets save this scene so we can return to it later if we wish. Select the Save RD1 entry from the File menu and and enter the filename MYLEX.RD1 to save the object as. Your current lighting and camera settings will be saved in the file along with the objects. Tutorial 3 - Textures If you've exited Phoenix or made other changes to your object since the last tutorial then reload MYLEX.RD1. This time we'll add some more color to Lex using one of Phoenix's more powerful features: Texture mapping. Select the Objects item from the Attributes menu to enter the Objects Dialog (Figure 4-6). All objects in the 3D world are displayed on the left half of the dialog. The object parameters for the currently selected object (highlighted in the list) are displayed on the right side of the dialog. Wood Texture First we'll apply a wood texture to Lex's shoulders. If the shoulder object is not already highlighted then select it by clicking on its name in the list. Next click on the Color Texture popup button to apply a texture to the selected object. (The popup button is initially labeled none indicating there is no texture applied to the object.) Select Wood from the popup menu to enter the Wood Grain Solid Texturing Editor (Figure 4-7). The shoulder object will appear in the Texture Alignment View along with several brown concentric circles. These circles represent the rings of wood grain and you should think of them as extending into the screen - as if you were looking down onto the center of a tree. The position of our shoulder object shows how the wood grain will eventually be placed on the object. Although we could use this texture as is, lets make a few changes to it. The first thing we'll do is increase the spacing between the rings. Increase the Scale to 220% by clicking on the double right arrow button in the S (scale) control. (The double arrow buttons increase and decrease a setting by 10 units while the single arrow buttons change a setting by 1 unit.) Notice that the Update button has been highlighted, indicating that the view needs to be updated. Click on this button to redraw the Texture Alignment View with the new setting. We can also change the orientation of the object within the wood. Using the HORIZ and VERT controls set the Horizontal angle to about 20ø and the Vertical angle to around 60ø, and update the Texture Alignment View. Note that this time we rotated the object instead of the wood grain. The object will still be in the same place when we go back to the main screen, but we've changed how the texture will be placed on the object. As a last step lets move the center of the grain rings. Press and hold the mouse button down on the small asterisk in the center of the rings. A small dotted box will appear which you can drag around in the view which shows where the new center of the grain rings will be. Drag it down to the lower left an inch or so. The rings will now redraw in their new location. Click on the EXIT button to return to the Objects Dialog. Note that the Color Texture popup button is now labeled Wood - indicating that the texture has been applied to that object. Marble Texture Now lets apply a marble texture to the Lbicep object. Select the object, click on the Color Texture popup button, and select Marble texture. The Marble Solid Texturing Editor (Figure 4-8) is very similar to the one for wood grain, however here the position of the veins of marble are indicated by vertical lines. The marble veins are much further apart than the rings of wood grain so we'll want to decrease the Scale to around 40% and increase the Horizontal angle to 50ø. You can also view the positioning of the texture from the left side of the texture by clicking on the View popup button and selecting the side entry from the menu. In this case can't tell very much about the texture however because the marble veins lie in the same surface as the screen. One advantage of the Side view though is that you can use the VERT scroll arrows to spin the object. Increase the Side Vertical angle to 45ø and then return to the Front view. Notice how this changed the orientation of the object. Click on the EXIT button to return to the Objects Dialog. Lets apply marble to the Rbicep object also, but we'll do things a little differently this time. Enter the Marble Solid Texturing Editor for this object and from the Front view set the Scale to 60% and the Vertical angle to 30ø. Enter the Side view and set its Vertical angle to 17ø. Now click the mouse in the white bar titled BASE on the right side of the screen. This lets you change the base (lightest) color of the marble by setting the individual red, green and blue values. Change the color so that red is 60, and both green and blue are at 100. Click on OK to return to the texture editor. Our marble will now be made up of shades of this color. We have two more settings to change before we're done: the Color and Grain Turbulence values. These settings determine how turbulent (varied) the changes in color and grain are. Lets set the Color value to 0.60 and the Grain value to 13.0, then exit back to the Objects Dialog. Image Mapping You can also wrap any image around an object. Lets "draw" a face onto Lex using an image created in Prism Paint. Select the head object and select Image Mapping for the Color Texture to enter the Image Mapping Editor (Figure 4-9). Notice that there are several mapping options which allow us to change how the image is mapped onto the object. Since Lex's head closely resembles a sphere we will pick the SPHERE option under S MAP and select S MAP NORMAL under O MAP. The Texture Alignment View contains a red circle which shows the position and size of the sphere we will fit the image onto. The left edge of the image will be placed against the dotted line on the front of the sphere and wrapped around (counterclockwise if viewed from the top) until the right side of the image touches its left side. The image will be shrunk at the top and bottom of the sphere so that it completely covers its surface. When the texture is applied using the options we have picked you can think of it as the surface of the sphere shrinking in until it wraps onto the surface of the object. You should check the scale value to make sure that the red circle totally encloses the head object (it doesn't hurt anything for the circle to be bigger). Our only problem now is that the edge where the left and right sides of the image meet is in the front of Lex's face. Increasing the Horizontal angle to 180ø will reposition the texture so that the seam is on the back of Lex's head where we want it. The last step is to pick the image we want to use for his face. Click on the Filename button to display the Texture Directory which contains a list of all image maps in memory. Since we haven't loaded anything yet the list will be empty. Click on the LOAD button and select GIF image. The file we wish to use is called HEAD.GIF and is in the TEXTURES folder on the Graphics disk. Once the image has loaded its file name will be displayed in the Texture Directory. Double click on this name to use the texture. The filename will appear in the Filename button. Click on EXIT to return to the Objects Dialog. Before we go on we need to change the reflection values for the head as we don't want it to look shiny like a Christmas tree ball. We can do this by setting the Specular Percentage to 0%. This will prevent the lights from creating any reflections on the object. Color Spline Texture The final texture that Phoenix features isn't really a pre-defined texture at all, but rather a collection of several textures which may be modified and combined to create custom texture styles. It is beyond the scope of this tutorial to fully explore the use of the Color Spline Editor and the building of custom textures, but we will apply a previously defined texture included with Phoenix to Lex's body to give it a hollow mesh look. From the Objects Dialog select the body object and select Color Spline for the Color Texture to enter the Color Spline Texture Editor (Figure 4-10) To load a previously defined texture click on the Load Texture button and select the file PEEL.PTX from the TEXTURES\MISC folder on the Graphics disk. This file combines a Gradient texture with transparency to create an orange-peel type of effect on the object. We now need to scale the texture down so that it fits better on the object. Notice that there are several alignment controls in the bottom portion of the screen. Since Color Spline Textures can consist of several different texture layers these controls allow the allignment of the individual layers. In this instance however we want to align the entire texture so we should use the S (scale) control in the Texture Alignment View just like with the previous textures. Decrease the scale to 10%, then increase the Horizontal and Vertical angles to 20ø each. After you've set the Texture scale and angles click on the EXIT button to return to the Objects Dialog. Since this Color Spline texture includes transparent areas where we'd like the back of the object to show through we need to set the object so that the back sides of its faces are also visible. Click on the popup button labeled One Sided Faces and select Two Sided Faces from the popup menu. Click on EXIT to return to the Main Window and render your scene. Make sure that the PHONG Shading Choice is selected as textures will only work in the Phong and Phong w/ Shadows modes. The different textures certainly make our object more interesting, don't they? You should save your object as an RD1 file now and then experiment some more by changing the texture values and positions and seeing what effect they have. Reload the object we textured when you're ready to go to the next tutorial. Tutorial 4 - Positioning Lex still looks awfully stiff and lifeless. We can help him out alot by posing him in a more realistic position. Select the Positioning item from the Attributes menu to enter the Positioning Screen which allows you to graphically reposition and resize objects, lights and cameras. See Figure 4-11. The screen is divided into two halves: the Positioning View on the left and the Toolbox on the right. The Positioning View is initially set to display the entire 3D world from the Front view. Click on the ZOOM tool to enter zoom mode. When the mouse is moved into the Positioning View it will change shape into a magnifying glass. Drag a box around Lex to zoom in for a closer look at him. You can now use the scroll bars to pan around the 3D world. If you zoomed in too close you can click on the + or FULL VIEW buttons to expand the scene. To reposition an object you must first select it. This is done by dragging a box over the object while holding the key down. The selected objects will be re-drawn in red. -dragging a new box will deselect the current objects and select a new set. Holding the key down while -dragging will leave the previous objects selected when selecting a new group. -drag can be used to deselect only a few objects out of a group. You can also select individual objects by name using the OBJECT button in the Select section of the Toolbox. To pose Lex first select the ROTATE tool to rotate objects. Then select the POINTER button under the Rotate/Scale Center options. This lets you rotate the objects around any position you select with the mouse. Now select all three objects in his right arm by -dragging a box around them. Make sure only these three objects are selected. Move the mouse pointer so its center is over the joint between the upper arm and his shoulder. This is the point we will rotate the arm about. Holding the mouse button down will cause a dotted box to be drawn around the selected objects. Moving the mouse right or left will rotate the outline to show where the new position of the objects will be. Rotate the arm so it is angled outward and then release the mouse button. The objects will be drawn in their new positions. Now select just the hand and forearm and do the same rotation around the elbow. Select the hand only and repeat the rotation around the wrist. We've now moved his arm so it looks like he is reaching outward. To make him reach forward also select all three objects in the arm again. Now switch to the Top view and rotate about the shoulder again so the arm is reaching forward. Repeat the process of selecting the other parts of the arm and rotating them. Use this method to re-position the rest of his body in a realistic position. Although we don't need them right now, notice that along with ROTATE there are also tools for resizing and dragging objects. You are also not limited to just positioning objects. Clicking on the SHOW CAMERAS and SHOW LIGHTS buttons will display their positions also. These may be selected and positioned just like an object. When you've finished positioning Lex click on EXIT to return to the main screen. Tutorial 5 - Bump Textures and Shadows In this tutorial we'll give Lex some special powers - like casting his own shadow, and the ability to walk on water! Merging Objects Lets add an additional object to our scene using the mrge file option. Select the Merge RD1 item under the File menu and load the file BOARD.RD1 from the Graphics disk. Return to the Positioning Screen and use the V-DRAG tool to move the board object up or down so Lex's feet are just touching it. (Or you could select all the objects in Lex and move him instead.) Surface Textures Now we'll turn our board object into water using one of Phoenix's Surface Textures. Surface Textures adjust the way light hits an object - making it appear as if it has an uneven surface. Enter the Objects Dialog and select the board object. Click on the Surface Texture popup button and select Ripples to enter the Ripples Texture Editor. (Figure 4-12) Because our board object is so large we'll need to increase the scale of the texture. Increase the scale control to 1000%. (The easiest way to do this is to click on the scale value in the center of the control - a text entry box will popup to enter the new value in.) Adjusting the scale control affects the width of the texture - how close together each feature on the texture is. To adjust the simulated hight of the texture you must use the Surface Magnitude value. Type in a new value of 300 for this field, then return to the Main Window. Rendering With Shadows In the last step of this tutorial we'll create an image with shadows. It won't be anything you'd want to put on your Christmas cards next year, but it will demonstrate the process well enough. Go back to the Lights Dialog and turn our Solar light back on. To get a good effect you'll want to turn its intensity down to 60. You should also increase the Vertical angle of the light to 50ø. Return to the Main Window. Now we want to reposition our Universal Camera using cursor keys so it is in the far Top Front Left corner of the 3D space. Next center the focus point on the hip object using the cursor keys or the OBJ CENTER option in the Cameras Dialog. Adjust the zoom setting so that Lex is completely visible in the Camera View. Select the Phong w/ Shadows Shading mode and render the scene. After you have selected the image's filename Phoenix will begin a shadow pre- processing phase where it examines the scene to determine which object faces can cast and receive shadows. The pre-processing will be performed once for every light in the scene (six times for each Point light). In our case it will pre-process our Solar light and our Spotlight. When the pre-processing phase has completed rendering will begin as in the other Shading modes. This concludes our set of introductory tutorials. You should now understand enough of Phoenix to start creating and rendering your own scenes. You really should read the rest of this manual however as there are many other features that we did not have room to cover here.