This file is intended to be downloaded and perhaps printed.
This is why no links or other html code is used in the rest of this page.
Tips and Tricks for Animation ---------------------------------------------------------------------------- * What is the difference between above and below for add trf level? * How to create a helix type of animation for an object or camera. * How to create a COI track for the camera. * How to have the animation camera following an object (COI) * How to have the animation camera following a track while the COI of the camera is following the same track ---------------------------------------------------------------------------- What is the difference between above and below for add trf level When set to above and then click on add trf level, a transformation level will be added above the active node and the transformation level will be the active node with no tag name yet assigned to it. When set to below and then click on add trf level, a transformation level will be added above the active node but the same node will still be active. The existing tag name of the same node will be moved to the transformation level. In both ways, the transformation level will be added above, the only difference is the position of the tag name and which level is the current active node. ----------------------------------------------------------------------- How to create a helix type of animation for an object or camera. To show how to create a helix animation for an object or camera, please follow the steps below. 1. In the animation menu, select new track and then track points. Switch on keyboard and show camera. 2. To create the first point for the track: Select add point and type in for frame:0, for x:0, for y:10 and for z:10. In the next step you will add a new point which will be rotated and moved around the y-axis. This step will then be repeated to create a circular track: 3. Switch on rec action (action taken from now on will be recorded and can then be repeated).Select add point and type in for frame:10, for x:0, for y:-1 and for z:0. Select rotate and type in for x:0, for y:60 and for x:0. 4. Switch of rec action. Type in: 12 in the repeat input box. Click on repeat. The last step of adding a point will now be repeated for 12 times. The track is now ready. You may have to change the camera views to display the complete track in the windows. 5. The object or camera can now be connected to the track. To do so: Select confirm, you will now be to another menu. In this menu select obj to track or cam to track and press 'y' (you can also select track to obj or track to cam, the track will then moved to the position of the object/camera instead of vice-verca). Select confirm and select play. You will now see the object/camera moving on the track. In case of an camera, you will also see the camera is not looking at the center. To do so, a new track has to be created which can then be linked to the COI of the camera. 6. Creating a track for the COI of the camera: Select new track and then track points. Make sure keyboard is active. To create the first point for the COI: Select add point and type in for frame:0, for x:0, for y:10 and for z:0. Now create the last point for the COI: Select add point and type in for frame:130, for x:0, for y:-10 and for z:0. The COI of the camera can now be connected to the track. To do so: Select confirm, you will now be moved to another menu. In this menu select coi to track. 7. Select confirm and select play. You will now see the camera moving on the helix track while looking at the track of the coi. Note: It is also possible to use tracks of an object for the cameras position or coi. To do so, save a track of an object in the edit track menu, then select new track. Read in the track of the object using get track and link it to the camera's position using cam to track or to the cam coi using coi to track. ----------------------------------------------------------------------- How to create a COI track for the camera. The following steps show you how to create a new track for the ani-cam: 1. Go to animation menu. 2. Select new track. 3. Select track points, and create a track for the COI of the ani-cam. Select confirm. 4. Select COI to track. The new track will now be copied to the coi of the ani-cam. ----------------------------------------------------------------------- How to have the animation camera following an object (COI) The following steps show you how to copy a track of an object to the COI of the ani-cam: 1. Go to animation menu. 2. Select edit track from the object. 3. Select save track and give the track a name. 4. Select confirm. 5. Select new track. 6. Select get track and select the track you saved before (the track of the object's position). 7. Select COI to track. ----------------------------------------------------------------------- How to have the animation camera following a track while the COI of the camera is following the same track. 1. Go to animation menu. Select new track. Select track points, and create a track for the position of the ani-cam. Select confirm. 2. Select cam to track. The new track will now be copied to the position of the ani-cam. If you select play, the camera will move along the track but it will not rotate, to do so, see following steps: 3. Select save track, and give the track a name. Select confirm. Select new track. Select get track and select the track you saved before (the track of the ani-cam's position). Select COI to track. Now the COI is on the exact same position as the position of the ani-cam, but you want the coi just a little bit ahead of the ani cam's position, to do so you will have to change the timing of the super sequence of the coi, see steps below: 4. Select confirm. Change the timing of COI by moving the COI super sequence a little bit to the right with move, or select edit sequence and select the super sequence of COI and change the start and end frame numbers. Tips and Tricks for Attributes ---------------------------------------------------------------------------- * Photoshop and Tiled Tiff * How to create mattes for transparent objects * What color names can be used in the Attributes menu * What is the difference between glass and transparency? * How to use an image in the background * Shadows to use with background mapping * How to position a map on an object * Error: To many TIFF files * How to create nice glass * How to scale a bump map * How to scale a map independent of the object. * Transparency Mapping ---------------------------------------------------------------------------- Photoshop and Tiled Tiff Tiff file maps in GIG have to be of the tiled tiff format. This can be accomplished by converting a tiff file to tiled tiff with the GIG converter. However these filemaps can be adjusted in photoshop on a mac and photoshop can read the tiled tiff filemaps, but can't write these files as tiled tiff. So it is possible that your filemaps in the intmap directory of your (current) project are not of the tiled tiff format, but instead of the normal tiff format. If this happens then GIG will automatically convert these files from tiff to tiled tiff. The default tile sizes with this conversion are set to 64. If this is an inconvenient value then the tile-width and/or the tile-length can be set with the environment variables GIG_TILE_W and/or GIG_TILE_H. (For example: setenv GIG_TILE_W 128) If only the with or the height are set then the other tile-size (which is not set) will be automatically set to the same size. A tile size has to be a multiple of 16. If this is not the case, then the size will be automatically adjusted to the closest size below the given size. Every time you log in as a GIG user the environment variables have to be set again. If you are pretty sure you mostly want a different tile size then the default 64, then you can set the environment variables through the .cshrc file in the home directory of GIG. Add one or both of the following lines to the file .cshrc and replace 64 by the tile size of your choice: setenv GIG_TILE_W 64 setenv GIG_TILE_H 64 From now on these environment variables will be set automatically every time you log in as GIG user. ---------------------------------------------------------------------------- How to create mattes for transparent objects (grey-scale maps according to the transparency value of the model). The alpha channel will not contain values for transparencies, instead the matte image will have to be rendered separate, to do so follow the steps below: 1. After rendering the original animation or still, remove all attributes: Activate the complete model and select 'cancel all' in the attributes menu. 2. Add diffuse attribute to the complete model and select white color for both color and ambient. 3. Activate the model which is transparent in the original rendering and add diffuse and transparent attributes. Select the same intensity for both attributes as in the original model. Select white color for both color and ambient of diffuse. 4. Switch intensities for all lights to 0. 5. Save still or ani (use other name then original file). 6. Render still or animation. 7. Do not use the alpha channel but the standard 24 bit image as mattes. ---------------------------------------------------------------------------- What color names can be used in the Attributes menu. The following color names can be entered directly in the color data input boxes of all attributes. After the color name you will find the corresponding RGB value. Color name Red Green Blue Aquamarine 0.438 0.855 0.574 Black 0.000 0.000 0.000 Blue 0.000 0.000 0.996 Blueviolet 0.621 0.371 0.621 Cadetblue 0.371 0.621 0.621 Coral 0.996 0.496 0.000 Cornflowerblue 0.258 0.258 0.434 Cyan 0.000 0.996 0.996 Darkgreen 0.184 0.309 0.184 Darkolivegreen 0.309 0.309 0.184 Darkorchid 0.598 0.195 0.797 Darkslateblue 0.418 0.137 0.555 Darkslategreen 0.184 0.309 0.309 Darkturquoise 0.438 0.574 0.855 Dimgrey 0.328 0.328 0.328 Firebrick 0.555 0.137 0.137 Forestgreen 0.137 0.555 0.137 Gold 0.797 0.496 0.195 Goldenrod 0.855 0.855 0.438 Green 0.000 0.996 0.000 Greenyellow 0.574 0.855 0.438 Indianred 0.309 0.184 0.184 Khaki 0.621 0.621 0.371 Lightblue 0.746 0.844 0.844 Lightgrey 0.656 0.656 0.656 Lightsteelblue 0.559 0.559 0.734 Limegreen 0.195 0.797 0.195 Magenta 0.996 0.000 0.996 Maroon 0.555 0.137 0.418 Mediumaquamarine 0.195 0.797 0.598 Mediumblue 0.195 0.195 0.797 Mediumforestgreen 0.418 0.555 0.137 Mediumgoldenrod 0.914 0.914 0.676 Mediumorchid 0.574 0.438 0.855 Mediumseagreen 0.258 0.434 0.258 Mediumslateblue 0.496 0.000 0.996 Mediumspringgreen 0.496 0.996 0.000 Mediumturquoise 0.438 0.855 0.855 Mediumvioletred 0.855 0.438 0.574 Midnightblue 0.184 0.184 0.309 Navy 0.137 0.137 0.555 Navyblue 0.137 0.137 0.555 Orange 0.797 0.195 0.195 Orangered 0.996 0.000 0.496 Orchid 0.855 0.438 0.855 Palegreen 0.559 0.734 0.559 Pink 0.734 0.676 0.914 Plum 0.914 0.676 0.914 Red 0.996 0.000 0.000 Salmon 0.434 0.258 0.258 Seagreen 0.137 0.555 0.418 Sienna 0.555 0.418 0.137 Skyblue 0.195 0.598 0.797 Slateblue 0.000 0.496 0.996 Springgreen 0.000 0.996 0.542 Steelblue 0.137 0.418 0.555 Tan 0.855 0.574 0.438 Thistle 0.844 0.746 0.844 Turquoise 0.676 0.914 0.914 Violet 0.309 0.184 0.309 Violetred 0.797 0.195 0.598 Wheat 0.844 0.844 0.746 White 1.000 1.000 1.000 Yellow 0.996 0.996 0.000 Yellowgreen 0.598 0.797 0.195 ---------------------------------------------------------------------------- What is the difference between glass and transparency? The difference between add glass and add transp is that add glass will also raytrace internal reflections inside the glass object, therefore when using add glass the result will look even more realistic then when using transparency. Add glass will take more rendering time. Transparency takes less rendering time. It is not possible to change the intensity for glass (the intensity is always 1). ---------------------------------------------------------------------------- How to use an image in the background. For background mapping in stills, there are two options available: * Background color For putting an image in the back of your image you must have the image ready in the intmap directory of your current project. I suppose you know this, so I won't go into the converter and making maps from rendered images. The image can be put in the background by typing a "?" in the background option in the render-options submenu. * A map on an object in the background of your scene The easiest way to handle this is to first create a cube with the same ratio as the map you want to put on. For example, when a map is 750 X 500 pixels, it is simplest to create a cube with the size of 3 x 2 and size it manually (keyboard off) to its needed size. This skips the transformation of the map with transform map in the attributes menu To put the map on the object, assign a diffuse to the cube, type a "?" in the diffuse color-input box, then select the map needed. It is best to set the ambient color of the map to white to restore its original colors. Mapping a picture on an object to use as a background has the advantage that the renderer knows when to calculate the refractions and reflections. The renderer can only calculate the reflections and refractions of a background when he (or she ?) can use a distance. If you want a background to be refracted in a glass wall you have to use the second option. ---------------------------------------------------------------------------- Shadows to use with background mapping To understand this you should first read through the parts of the map manual concerning procedural maps. 1. First create a cube to practice this routine Go to attributes and assign a diffuse and a transparency to the cube. Make the diffuse color black. 2. In the diffuse intensity input box type: 1-mv() In the transparency input box type: mv() This will result in a cube which is non-transparent at its lower side and totally transparent at its top side. "mv()" is an intercol function which returns values between 0 and 1 depending on the position on the object. Try also mu() if you like. 3. This cube can be rotated and scaled to look like a fading shadow. Do not try to make a perspective shading, the cube should be rotated to be in the opposite direction, away from the lights. The renderer will take care of the perspective. Because the renderer has to calculate the map in the background through the cube, the background has to be put in your scene by mapping it on an object. ---------------------------------------------------------------------------- How to position a map on an object Advanced stuff mappos = "pars() < 1 ? return() : 0; map = %1; xp = pars() < 2 ? 0.0 : %2; yp = pars() < 3 ? 0.0 : %3; xs = pars() < 4 ? 1.0 : %4; ys = pars() < 5 ? 1.0 : %5; peephole(xp,yp,xs,ys)*shiftmap(map,xp,yp,xs,ys )"; ---------------------------------------------------------------------------- Error: To many TIFF files The maximum number of TIFF files that can be used for mapping is set in the file: ~gig/lib/intlib/confile To raise the number of TIFF files that can be used, change 48 into a higher number in the line: tiffiles 48 maximum number of tiff filemaps There is a limit in UNIX of how many files can be opened at once. Note: Map files that are used more than once in an image are only opened once. ---------------------------------------------------------------------------- How to create nice glass To create nice glass, try the following: Transparency: intensity: 0.9 refraction: 1.4 Diffuse: intensity: 0.05-0.1 Specular: intensity: 1-2 index: 50-100 Reflection: intensity: 0.05-0.1 You can also try to use glass instead of transp, in this case do not use refelction because includes already reflection. ---------------------------------------------------------------------------- How to scale a bump map 1. add a bump map in attributes 2. typing 10*x will increase the bumpiness by a factor of 10. i.e. x is the present value. If you then typed 0.5*x you would halve the bumpiness etc.. 3. clicking on transform map and the name box, then size by 2 will increase the amplitude by a factor of 2. ---------------------------------------------------------------------------- How to scale a map independent of the object. To scale objects independent from textures you will have to add a transformation level. To do so, activate the solid the click on "add trf levl" in the edit menu. A transformation level will be added above the solid. Assign a tag name to this trf level and put the attribute with the map on this trf level. Now when you go one step down in the tree (to activate the solid without the trf level), you can transform the solid without the map. If you want to scale the map without the solid, activate the trf level, scale the trf level, then activate the solid and apply the inverse scaling. The solid will now have the same size but the map will be scaled. ---------------------------------------------------------------------------- Transparency Mapping This is written down like a tutorial so you can reproduce this at your site. 1. Make a scene consisting of for example a simple character in a cubic window. (set page size to 500 x 500). 2. Set the diffuse and the ambient color of the object to white. 3. Set the camera to no perspective. Render the picture and convert it to a map using the converter. Press reset all in the general sub menu 4. Create a scene with some simple objects, e.g.. a few balls etc. 5. Create a cube and size it with keyboard to x=10, y=10 z=0.1 Move the cube to a front position in your scene. 6. Go to attributes and add a transparency to the cube, refraction index=1 7. Go to side attributes and type: 6 (so we will work on the front side of the cube only) Now we add transparency and diffuse to the sixth side of the cube. 8. In the diffuse intensity input box type: ? and read in the map we just created In the intensity input box type: 'map=x In the transparency input box type: 1-map Render the picture to see the result. Comment: By importing the map in the intensity input box, we defined it as a value map. Because the map has the value 1 (white) at the place of the character it will have a diffuse of 1 and a transparency of 0 (1-1) at this place. By selecting another color in the color input box, the map can be changed. This is very handy for positioning maps on large objects. The best way is to define a cube with the same ratio as the map you want to put on because both the map on the transparency as well as the map on the diffuse should be exactly in the same position. This cube can be positioned close to the object to give the idea the map is on the larger surface. ---------------------------------------------------------------------------- Tips and Tricks for Modeling ---------------------------------------------------------------------------- * How to use weight in NURBS * How to make a telephone cord. * How to build a spiral * How to build a dinosaur ---------------------------------------------------------------------------- How to use weight in NURBS Weight is depending on the weight of other control points, to create a sharper curve, the weight of that specific control point should be higher then the weight of the other control points. In order words if you raise the weight of all control points with the same amount, the shape of the curve will not change, however if you change the weight of specific points, the shape will change. ----------------------------------------------------------------------- How to make a telephone cord. A Telephone cord can be easily made with the Nurbs modeler. Select make sweep and create a small circle in the contour window (3 points is enough, close the circle with open/close in the primitive menu). Move the circle just a little bit of centre to the left or right. Now select edit twist in the primitive menu. Move the bottom point to the left and the top point to the right. You can use the x input box for exact positioning of the points. The further you move the points from the vertical line the more the model will be twisted. Now you have a telephone cord which you can bend and stretch by transforming the spine in the spine window (use fix event to animate the spine). You can switch all windows to update windows for real time updating of all windows when transforming points, spines etc. ----------------------------------------------------------------------- How to build a spiral 1. Go into the solid construct menu, select ffpatch 2. Go into the ff mode menu: In this menu turn the path button on. We are going to multiply this path while rotating so we can generate a spiral thru the multiplied path. 3. Go into the ff trans menu. Turn the keyboard button on. Turn multiply on. 4. Move the path 1 in the x direction and 0.3 up in the y direction. x: 1 y: 0.3 z: 0 5. Select rotate. Rotate the path 90 degrees around the y-axis: x: 0 y: 90 z: 0 Now we are going to multiply the path 16 times so you will have a spiral with 4 sections ( 4 X 90 degrees = 360 degrees = 1 section). 6. Select multiply again. We multiply the path 16 times: enter: 16 For multiply in (y/n), answer with n. After a few seconds you will see the spiral, the last thing we have to do is close the patch. 7. Go to the ff edit menu, close the net by pressing "close net row" The spiral is ready. To work quicker with the wire frames, you can set the facets to an lower resolution for example 1. You can find the facets button in the solid construct menu. ---------------------------------------------------------------------------- How to build a dinosaur 1. Go to general and press "exit" 2. At the prompt "are you sure? _" answer "y" 3. Go to a farm and buy a 2-pound chicken. 4. Transform the chicken with solid modeling-clay to a T-Rex If you want the dinosaur to be animated, be sure the clay doesn't dry to quickly. 5. Paint your favourite colours to make the dinosaur of your dreams. 6. Phone Steven Spielberg to tell him the costs. Tips and Tricks for Rendering ---------------------------------------------------------------------------- * How to render a patch as a solid object (not hollow) * How to save rendering time * How to render fields * Rendering to other image formats * Rendering in Targa mode * How to render still files on multiple processors * How to render animation files on multiple processors ---------------------------------------------------------------------------- How to render a patch as a solid object (not hollow) The net has to be closed in one direction with close net row or close net col, then select solid net. If you now render the free form, the open end of the free form will be rendered solid. ----------------------------------------------------------------------- How to save rendering time -using maps -using transparency -using refraction -using modeling -using background map o Keep reflection depth low (1 or 2). o Do not use a very high anti-aliasing level (use video, which gives already a very high quality, or less). o Maps on NURBS and transparent NURBS takes a long time to render. o Do not use the 'glass' but use the transparency attribute. o Do use as few points as possible in Free Forms and NURBS. o Soft Shadow and Depth of Field (Version 2.3.5 only) takes more time to render. ----------------------------------------------------------------------- How to render fields It is not possible to render single fields in GIG. Instead make the animation 2 times longer and render 1 frame for every field. Then record the frames as fields (I have never done this myself). We do not support single field rendering at this time because with the current raytracer, rendering of a field will take the same time as rendering of a frame. ----------------------------------------------------------------------- Rendering to other image formats Images are rendered in TIFF or Targa format, (to render in Targa format see Rendering in Targa mode. Images can not be rendered in other formats but can be converted to other formats automatically during rendering. To do so edit the script "conv_vst" in the "~gig/utils" directory. This script will be executed each time an image is finished rendering. By default the script is doing nothing, but if you add the following line it will convert all images to the sgi format after rendering. gig_conv -i tga -o sgi -r $1/$2.$3 -w $1/$2.sgi If you only want to keep the sgi images and automatically remove the TIFF image from disk after rendering, also include the next line: rm $1/$2.$3 The script "conv_vst" in the "~gig/utils" directory contains some more examples, (In V 2.4.1 most examples only work for Targa images), please have a look at it. ----------------------------------------------------------------------- Rendering in Targa mode GIG can still render in Targa format when starting GIG as follows: startgig -- -o format:2 For gig(ani)batch use: gig(ani)batch -o format:2 ----------------------------------------------------------------------- How to render still files on multiple processors The UNIX command for rendering a still file is 'gigbatch'. One of the options of gigbatch is to specify the part of an image to be rendered. Using this option it is possible to render different parts of one image on different processors. Example: still file: test page size: 1280x1024 Workstation: SGI Onyx with four processors To render this still file on the workstation it can be split up in four parts. The commands to render the four parts are: runon 0 gigbatch -r size:1280x1024:640x512+0x0 -o basename:test1 test runon 1 gigbatch -r size:1280x1024:640x512+640x0 -o basename:test2 test runon 2 gigbatch -r size:1280x1024:640x512+0x512 -o basename:test3 test runon 3 gigbatch -r size:1280x1024:640x512+640x512 -o basename:test4 test The result will be four images: test1.tiff: The lower left part of the total image. test2.tiff: The lower right part of the total image. test3.tiff: The top left part of the total image. test4.tiff: The top right part of the total image. These four images can now be combined with 'tifmerge' to create the finale image, to do so type in: tifmerge -s 1280x1024 -o test.tif test1.tif +640x0 test2.tif +0x512 test3.tif +640x512 test4.tif The finale image will be 'test.tif' Note: The SGI IRIX command 'runon' is used to specify the processor number of the Onyx. ----------------------------------------------------------------------- How to render animation files on multiple processors Rendering animation on multiple processors can easily be done by specifying which frames to be rendered on which processor. Example: animation file: test Start frame: 1 End frame: 200 Workstation: SGI Onyx with four processors To render this animation on the workstation it can be split up in four parts. The commands to render the four parts are: runon 0 giganibatch -r framestep:4 test 1 200 runon 1 giganibatch -r framestep:4 test 2 200 runon 2 giganibatch -r framestep:4 test 3 200 runon 3 giganibatch -r framestep:4 test 4 200 Note: The SGI IRIX command 'runon' is used to specify the processor number of the Onyx. Tips and Tricks for Miscellaneous ---------------------------------------------------------------------------- * Window Manager problems * /dev/null: cannot create * Not enough swap space * How to clear garbage on the screen. * How to import Postcript Outlines * SUN hardware considerations for using GIG * How to install GIG on one workstation for multiple users. * What fonts does GIG use and how can I install them? ---------------------------------------------------------------------------- Window Manager problems The type of window manager for the workstation is set in the file: /usr/lib/X11/xdm/Xsession It is also possible to select the window manager independent for each login account. This is done in the file .xsession in the home directory of the user. The window manager selected in this file will overrule the setting in the file: '/usr/lib/X11/xdm/Xsession'. I would suggest to select the window manager for the login account as I do not know what other applications you are running (maybe Pro/Engineer ?). To do so, copy the file: '/usr/lib/X11/xdm/Xsession' to .xsession in the home directory as follows: cp /usr/lib/X11/xdm/Xsession ~gig/.xsession In this file you will probably find the line: /usr/bin/X11/MWM >/dev/console 2>&1 & This line should be changed to the following lines: /usr/bin/X11/4Dwm >/dev/console 2>&1 & /usr/bin/X11/wait4wm If you now log out and log in as gig, it will start with the 4DWM window manager. ----------------------------------------------------------------------- /dev/null error The error: '/dev/null: cannot create', is a UNIX problem. and can be solved by following the steps below. Login as root and type in the following commands: cd /dev ./MAKEDEV After a few minutes, makedev is ready, logout and login as gig. ----------------------------------------------------------------------- Not enough swap space. Virtual swap space is not used by GIG. Extra swap space can be created by creating a special swap file on the system, this only works on IRIX 5.x. Below you will find an example on how to create such a file and then how to mount it. In this example, the swap space added is 60MB. Total swap space should be more than twice the amount of Internal RAM, but I suggest to have at least 100MB of swap space. mkfile -v 60m /usr/tmp/.additional-swap swap -a /usr/tmp/.additional-swap Add the following line to the file: /etc/fstab: /usr/tmp/.additional-swap swap swap pri=3 0 0 Note: For IRIX 4.0.x, you will have to reconfigure the hard disk or ad another hard disk to create more swap space. ----------------------------------------------------------------------- How to clear garbage on the screen. Press the space bar. ----------------------------------------------------------------------- How to import Postcript Outlines ? To convert a postscript file to a solid 3DGO model, it has to be saved as postscript on your Mac. Make sure that the file is saved with the "ungrouped" option. After transportation of the file to a SGI, it has to be placed in the intlib directory of your current project. Now it can be imported in 3DGO through the channels menu with get eps. One problem with importing a postscript file is that the substractions (e.g.. the substraction of the inner cylinder of an "O" from its outer cylinder) are not corrected. To correct this you have to edit the shape in the edit menu with view tree. In view tree you have to change the relation of the inner part of the shape with its outside by changing it from group to substraction. This will take some analyzing of your object. Finally the shapes which are substracted have to be sized, usually along the z-axis, to make the substraction visible. When two surfaces of an object are in the same position, the rendering will give strange results. A scaling of e.g.. 1.01 is enough. ----------------------------------------------------------------------- SUN hardware considerations for using GIG. GIG has two versions available for SUN sparc stations. One version which is based on the X protocol, and one version which uses the PEX functionality and SUN's XGL routines. The two versions will be marked as the X version and the PEX version. The PEX version gives great advantages when it comes to speed in drawing wireframe models in GIG. Especially when a hardware frame buffer is available on your machine. If that is the case then the PEX version will take advantage of the available graphics hardware on that framebuffer. The X version does not use any frame buffer hardware if it should be available. However the X version does work on any frame buffer. The following frame buffers are tested and supported by the PEX version: The SX and the ZX frame buffers. The GX plus frame buffer is not tested yet, but GIG should work on it. The criterium for the frame buffer for GIG (the PEX version) is that it has to support hardware double buffering. If you have one of those frame buffers on your computer and you want to use the PEX version of GIG, then you should also have running on your computer the operating system Solaris 2.3 and you should have installed on your machine the PEX 2.1 and the XGL 3.0.2 libraries. Those libraries are included in your Solaris 2.3 system. If you don't have such a fancy frame buffer on your machine then you should use the X version of GIG. You can do that by giving the command "startgig X". Or, if you are sure you only want to use the X version, you can rename the file "gig" in the bin directory of GIG, and copy gigX to gig. Then, if you give the command startgig, the X version will start. For the X version of GIG you need the operating system Solaris 2.0 or higher. If you have a dark GIG window or a GIG module appears to be very dark on your screen, and you are using a ZX frame buffer, then you can turn off the gamma correction on your computer. You can do that with the following command: /etc/opt/SUNWleo/bin/leoconfig -DEGAMMA8 off The gamma correction will stay turned off until you give the command: /etc/opt/SUNWleo/bin/leoconfig -DEGAMMA8 on Drawing wire frames using ZX will approximately be 3-5 times faster then on the same workstation without ZX. ----------------------------------------------------------------------- How to install GIG on one workstation for multiple users. Before installing GIG for multiple users, note the following: o To make the necessary changes, some knowledge of UNIX and the configuration of your workstation is required. o All users using GIG should be of the same group ID as GIG. o In the example below, the workstation has a standard GIG installation under the user name: 'gig'. Example: After the default installation of GIG, copy all the hidden files from the home directory of GIG to the home directory of the user (hidden files starts with a '.' e.g. '.cshrc'). After copying the files, the following should be changed in the file '.cshrc': # root directory of ElectroGig tree if (! $?GIG_D_ROOT) then setenv GIG_D_ROOT $HOME endif Into: # root directory of ElectroGig tree if (! $?GIG_D_ROOT) then setenv GIG_D_ROOT ~gig endif Change the following: #directory holding all projects if (! $?GIG_D_PROJECTS) then setenv GIG_D_PROJECTS $GIG_D_ROOT/projects endif Into: #directory holding all projects if (! $?GIG_D_PROJECTS) then setenv GIG_D_PROJECTS $HOME/projects endif Change the following: #file holding the current project name if (! $?GIG_F_CURPROJ) then setenv GIG_F_CURPROJ $GIG_D_PROJECTS/curproject endif Into: #file holding the current project name if (! $?GIG_F_CURPROJ) then setenv GIG_F_CURPROJ $HOME/curproject endif The following directory has to be created in the home directory of the user: projects Logout of the system and login as the user. You can now start GIG as usual (startgig). New projects created by the user will be installed in the projects directory of the user. The following error message may be printed on screen when starting GIG: Loading: Cannot change times on /usr/people/gig/bin/Particles_gt: Permission denied This error has no consequences for running GIG applications. ----------------------------------------------------------------------- What fonts does GIG use and how can I install them? GIG 3DGO provides access to Postcript type 1 fonts as supplied with the respective operating systems. Besides using Postcript fonts supplied with an operating system it is possible to install Postcript fonts from other systems. Depending on the system, Postcript type 1 fonts are stored in one of the following file formats: o PC o MAC o UNIX (same as: NEXT or SUN) To use Postcript fonts with GIG 3DGO, they have to be stored in the UNIX format. For example: Postcript fonts from the Macintosh can be converted to the UNIX format using programs like "Fontographer" or "Metamorphose" (select either: UNIX, NEXT or SUN when converting the font). Postcript fonts in UNIX file format consists of two files: A 'base' file and an 'afm' file. These files should be placed in the proper directory depending on the workstation. Note the following: o Silicon Graphics + The 'base' font files are placed in: '/usr/lib/DPS/outline/base' (do not use an extension). + The 'afm' font files are placed in: '/usr/lib/DPS/AFM'. o SUN, Solaris 1.X-2.2 (Openwin 3.1) + The 'base' font files are placed in: '/usr/openwin/lib/fonts' and should have the extension '.pfa'. + The 'afm' font files are placed in: '/usr/openwin/lib/fonts/afm'. o SUN, Solaris 2.3 (Openwin 3.2) + The 'base' font files are placed in: '/usr/openwin/lib/X11/fonts/Type1/outline' and should have the extension '.pfa'. + The 'afm' font files are placed in: '/usr/openwin/lib/X11/fonts/Type1/afm To access fonts in GIG 3DGO V2.3.5 form Solaris 2.3, the environment variable 'GIG_D_FONTS' needs to be changed. See the following steps: login as gig and make sure you are in the home directory edit the file '.cshrc' Change the following sentence: setenv GIG_D_FONTS /usr/openwin/lib/fonts into: setenv GIG_D_FONTS /usr/openwin/lib/X11/fonts/Type1/outline Save the file, log out and login as gig Note: o The name of the font file has to be the same as the name of the font. For example: A font file describing the font 'Times-Bold' (can be checked by reading the line: '/Fontname /Times-Bold def' inside the font file), should have the name: 'Times-Bold' (on SUN: 'Times-Bold.pfa'). o Fonts supplied with Solaris 2.2 may not always be stored with the correct name. o Solaris 1.X is standardly not supplied with Postcript type 1 fonts. GIG reference manual Release notes on GIG 3.2 ---------------------------------------------------------------------------- Introduction These release notes give an overview of the 3DGO and GIGVIZ 3.2 software release from ELECTROGIG Technology. This document contains the following chapters: 1. Improvements and new features 2. Platform specific release notes 3. Fixed bugs 4. Known bugs and workarounds 1. Improvements and new features 1.1 Linux port The 3DGO and GIGVIZ software is now available on Personal Computers running the Linux 2.0 operating system. This is exactly the same program as the 3.2 release for Unix (SGI, HP and Sun) workstations, so no additional training is necessary to use it. Models and files are fully exchangable, allowing you to distribute render jobs over a network of PCs. 1.2 Volume rendering With the 3.2 release of 3DGO and GIGVIZ it is now possible to do volume rendering. Volume rendering means that a solid has a transparancy value and color all through its interior, as compared to normal rendering where the colors are calculated only at the surface. Volume rendering allows you to create effects like swirling smoke and light beams through a dusty room. All you have to do is create a cube the size of your room, or a cone the size of the light beam, and add a volume attribute with the right map. Volume attributes can also be applied to particle systems, often with spectacular results. 1.3 3D RaySketcher A special 3D file format has been developed that is independent of solids or polygons, and that allows real-time interactive inspection of your textured, lighted model. The viewer tool for this file format, called the 3D RaySketcher, is started with the new show3d button in the render menu. A render3d button has been added to the render menu as well. This function will create a 3D RaySketch file for your model. 1.4 Improved animated texture maps Instead of a static image, it is possible to connect a sequence of images to a texture. This effectively sticks an animation as a texture map onto a solid. Up till now, there had to be one image for each frame in the animation. This is no longer necessary. It is now possible to define the behavior of animated texture maps. The options (start frame, end frame, continuus looping etc.) are explained in the attributes menu. 1.5 New facetter * A new facetting algorithm has been added to the program. Next to the old 'evaluate' buttons in the edit menu, a new polygonize function can be found in the edit poly submenu. The 'polygonize' function replaces the model with polygon sets that approximate the original model. It is more robust than the 'evaluate' algorithm, but the results are somewhat less smooth. The polygon sets are also written to an intermediate output file, comparable to the 'export active' function. * The 'evaluate' button in the edit menu remains unchanged. Evaluating a polygonized object will not change this object any further. * The 'export active' button now writes an intermediate .ivdat file that can be used by the output channels. It will ask you whether you want to write a .gog file as well: these files are necessary for the 'DXF out' channel, but require an (automatic) 'evaluate' action on your model. 1.6 Converters * New converters have been added to convert your model to VRML or Inventor format. To do this, either 'polygonize' your model or choose 'export active'. In both cases you have to give a file name that you can select when you start 'Inventor out' or 'VRML out' from the channels menu. Note that VRML requires polygonal models, whereas Inventor can handle all kinds of solid geometry. * The procedure to convert your model to DXF format has slightly changed. First, either 'polygonize' or 'evaluate' your model. Then, 'export active', give a file name and answer yes to the question whether you want an evaluated model. Choose 'DXF out' from the 'channels' menu and select the name you specified during 'export active'. * A converter has been added to read in VRML 1.0 files. * The IGES 5.2 converter has been certified in the HP Solid Designer CAP certification program, as the first of its kind. * The plug-in converters for SDRC's IDEAS package have been upgraded to support IDEAS release 4.0. * The plug-in converters for Varimetrix have been transferred from the GIG releases to the Varimetrix release 5.1 CD. * The OMF conversion tool has been upgraded to support release 2.0.1 of the OMF libraries. 1.7 Render job scripts The old RenderManager tool has been replaced with a simple set of command line scripts. With these you can distribute and control render jobs over a local network. 1.8 Color picker A graphical color picker tool has been added to the color selection menu. With this tool you can select a color from a HSV space by clicking on the color you want. 1.9 New animation features * auto coi: the center-of-interest follows the camera position track automatically, with a certain user-definable time offset. * local stretch: to locally change the timing of you animation sequences and/or timecurves. * play/rewind: playing does not auto-rewind anymore, there's a seperate button for rewind now. * no simulation: simulation can be ignored during playback in the animation menu. 1.10 Transparancy in matte/alpha A matte option has been added (in the render options submenu) to include transparancy and volume rendering information in the alpha channel. Without this option, the matte information is either opaque or completely transparent. 1.11 Online manuals in HTML format The GIG Online manuals have been modified to make them readable with your favorite Web browser. You can still use the Online tool, of course. If you decide to use a generic Web browser, it is useful to create bookmarks to: * The manual cover page: ~/lib/html/startonline.html * The manual contents page: ~/lib/html/manualContents/manualContents.html * The alphabetical index page: ~/lib/html/manualIndex/manualIndex.html 1.12 Miscellaneous * Texturemapping in flatshaded mode for some SGI workstations (see the SGI specific issues below). * A help screen has been added that pops up when GIG can not find a valid password, telling you how to obtain and install a password. * A command line script systemreport has been added that will extract all kind of hardware and software information from your workstation; this info will be asked for in the event that you encounter a bug. * The aniutil tool can now be used together with tiffmerge. 2. Platform specific release notes 2.1 SGI * This release runs under IRIX 5.2, 5.3, 6.2 and 6.3. Systems with r3000 CPU's or older are no longer supported. * SGI machines with an R8000 CPU are not supported, nor are SGI workstations running IRIX 6.4. * The default executable uses the GL libraries. An 'X' only implementation is no longer supported. * The Parallel Raytracer uses a maximum of 16 CPU's. * SGI workstations that support texture mapping in GL (either hardware or software), will show a representation of the diffuse and reflection attributes as a texture map in flat shaded mode. On workstations that do not have hardware supported texture mapping, this can slow down interaction in flat shaded mode considerably: you can turn it off by typing: setenv NOGIGTEXTUREMAPS 1 in your Unix shell before starting GIG. 2.2 HP * This release will run under HP-UX 9.0.5 and up. * The HP executable uses the PEX libraries. An 'X' only implementation is also supported. * HPs with 8 bit displays are no longer supported. * The 3.2 release for HP currently does not support flat-shading. * Machines with HP-UX 10.20 sometimes have a wrong link to one of the PEX libraries. If startgig aborts with the error message /usr/lib/dld.sl: Can't open shared library: /usr/lib/PEX5/cge_utilities/libPEXUt.sl then you will have to repair the link yourself. To do this, log in as root, and type: ln -s /opt/graphics/PEX5/lib/libPEXUt.sl /opt/graphics/PEX5/utilities/cge/libPEXUt.sl After this you will have to restart your window manager. * If you find that the 'text' solid does not work, then perform the steps described in workaround 4.6 of the 3.1 release notes. * See also the HP specific items in the 3.1 release notes. 2.3 Sun * This release runs under Solaris 2.4 (SunOS 5.4) and up. * On UltraSparc workstations, an executable will be installed that has been optimized for the Ultra. Users are advised to run GIG under the OpenWindows window manager. The CDE (Common Desktop Environment) window manager on Sun Ultra has been known to cause problems that are not specifically related to GIG products. * The default executable uses the PEX libraries. An 'X' only implementation is also supported. * The 3.2 release for Sun currently does not support flat-shading. * The Parallel Raytracer will use a maximum of 16 CPU's. * See also the Sun specific items in the 3.1 release notes. 2.4 Linux * This release runs under Linux 2.0.0 (ELF binaries) and up. You will also need X11R6 and a Linux-supported ethernet card. * Although not strictly necessary, it is highly recommended that you use a three-button mouse. * We recommend that you use the fvwm or twm window manager. The use of the fvwm95 window manager is discouraged. * 3DGO/GIGVIZ 3.2 for Linux has only been tested with Intel Pentium and Intel Pentium Pro processors. 3DGO/GIGVIZ 3.2 will not run on Linux systems with Dec Alpha processors, MIPS processors or Motorola processors. 3DGO/GIGVIZ 3.2 may or may not run on Cyrix, AMD or IBM processors. * NFS (Network File System) can be rather slow under Linux. Sometimes a rendering will appear to take a long time, while actually the delay is caused by the writing of the image file to disk. In this case, rendering to a local directory will speed things up. * If you find that you cannot choose a new font for your 'text' solid, then you will have to perform the steps described in workaround 4.6 of the 3.1 release notes for HP fonts. See also the text font manual page. * Installation of Linux on a PC is not supported by Electrogig Technology BV. 3. Fixed bugs 3.1 Solved bugs from the official bug report list * 1756: IRIX 6.3: problem with ISOLatin characters in 3rd party fonts * 1755: SGI High Impact: view points in edit poly does not work * 1748: Sun 'no-password warning' returns negative system ID * 1712: Online crashes under HP-UX 10.20 * 1705: shading input box in edit poly menu sometimes has wrong value * 1692: particle points invisible on SGI O2 workstation * 1679: Startupscreen hangs if GIG is started in demo mode * 1676: cut & paste, in 'view tree', does not work on groups * 1673: crash in main GIG when starting the Converter/Flipbook tool * 1672: Inventor out: torus not implemented * 1671: IGES in: problem reading Viewpoint IGES file * 1666: the wireframe flipbook in Particles & Organic crashes on 24 bit * 1661: startgig does not always start automatically after login * 1660: a '/usr/tmp/render_interp' file is left on the system * 1659: make Online better accessible * 1654: add 'single/double buffered' option to GL version of Flipbook tool * 1653: add 'show sgi/rgb' to Converter and ProjectManager tools (SGI only) * 1633: add solid based model-out channel * 1632: Flipbook tool hangs when selecting invalid project * 1630: port to IRIX 6.2 and 6.3 * 1629: GIG crashes when rendering a Nurbs surface from Alias 7.0 * 1626: an idle GIG interface no longer eats up CPU resources * 1624: crash in rendering animated SB cylinder * 1617: update OMF tools to release 2.01 * 1610: render bug with Particles in combination with an animated map * 1607: 'anicam' does not respond immediately in Organic/Particles * 1606: 'save ani' messes with transformation of active object * 1604: IGES in: solid/hollow flag cannot be changed * 1600: Flipbook tool: cannot abort loading files * 1598: 'copy' in View Tree doesn't copy side attributes * 1595: domain error when rendering with spherical lens on HP * 1591: Sun installation fails if 'whoami' command not in path * 1590: 'get intercol' will not read files with '.' in them * 1583: domain error when resetting the camera on HP * 1580: no outline of subwindow visible using PEX (Sun or HP) * 1573: Flipbook: the positioning of the animation in Flipbook is too high * 1560: error during HP installation (link command not found) * 1413: Texture Editor: no warning when overwriting textures or attributes * 1402: add 'end of install' warning * 1320: imported Illustrator eps files do not create a solid extrusion * 1300: the '1', '2' and '3' hotkeys have unpredictable results * 1271: add Inventor (resp. Keystone) in/out channels * 1266: ambient lights cannot be animated * 1134: singular transformation when scaling to zero in animation * 1039: ProjectManager: rename option on individual files * 1038: ProjectManager: back-up to tar file * 1025: save camera positions * 1015: add realistic particle effects such as smoke and fire 4. Known bugs and workarounds 4.1 Known bugs from the official bug list * 1821: The PEX version on HP workstations sometimes has its clipping planes set wrong. This causes parts of the wireframe display to become invisible. Resetting the camera ususally helps * 1802: The UNIX command provided to the aniutil utility should not end with a # or ? symbol * 1801: The Linux version of Organic sometimes has a line clipping problem when displaying spline-skin objects * 1800: The Linux versions of Particles and Organic sometimes display "\x04 " after the tag-names in the tag boxes - this is harmless * 1799: The playback window of the Linux Flipbook is not centered * 1742: The gigrs script has problems on multiprocessor Linux systems (probably a Linux bug) * 1731: The gig_omf tool cannot handle tiff files which contain alpha info * 1688: GIG returns bogus render times on multiprocessor Linux 2.0.0 (Linux 2.0.0 bug) * 1613: The Sun version of Flipbook displays only part of an image * 1587: Switching a lot between GIG modules on a Sun Ultra Sparcstation can result in an error message * 1585: Fix event of a HSV color with zero Saturation results in an undefined Hue * 1565: Input with the numeric keypad might not work on Sun Ultra workstations 4.2 Lack of swap space on SGI workstations (bug 1551) Because of a peculiarity of the SGI operating system, virtual swap space is not cleaned up from time to time. This can result in out of swap space or cannot fork child process error messages. Especially the configuration of swap space on SGI Indy workstations with 32 MB internal memory is known to cause problems. (At least 100 MB swap space is recommended to run 3DGO or GIGVIZ.) If out of swap space or cannot fork child process error messages appear on an SGI workstation, the first thing to do is to check whether virtual swap is switched on. As root, type: chkconfig If the chkconfig listing shows a line that says vswap off, type: chkconfig vswap on /etc/init.d/swap start If vswap was already on, you can increase your virtual swap space. As root, type: cd / mkdir /swap /usr/sbin/mkfile 1m /swap/swap1 Now you can do two things. First type: /sbin/swap -a -p 5 -v 204800 swap1 This will increase your virtual swap space with 100 mega-bytes. You'll have to do this each time after the machine is rebooted. If you want this to happen automatically after each reboot, add the following line to the /etc/fstab file: /swap/swap1 swap swap pri=5,vlength=204800 0 0 Reboot your machine. You'll have 100 Mbytes extra virtual swap space available. 4.3 Font file names on HP and Linux On HP workstations and Linux PCs it is possible that the default installation of GIG can not read the font files (as necessary for, e.g. get eps). The problem is caused by the distinction between the fontname and the fontfilename. The workaround: rename the Postscript fonts on your system. This can be done in the following way: * Become superuser. * Go to the fonts directory (known as $GIG_D_FONTS in your GIG account) on HP: cd /usr/lib/X11/fonts/type1.st/typefaces by default on Linux: cd /usr/X11R6/lib/fonts/Type1 If the fonts in your Linux installation are in some other directory, make sure that the GIG_D_FONTS environment variable is set correctly. E.g. if your fonts are in /usr/lib/my_fonts then do: setenv GIG_D_FONTS /usr/lib/my_fonts cd $GIG_D_FONTS * Execute: grep FontName *.pfa You should get a list like: UTBI____.pfa:/FontName /Utopia-BoldItalic def UTB_____.pfa:/FontName /Utopia-Bold def UTI_____.pfa:/FontName /Utopia-Italic def UTRG____.pfa:/FontName /Utopia-Regular def * Now, link the fontfiles to the proper fontfilenames like this: ln -s UTBI____.pfa Utopia-BoldItalic.pfa etc. Your fonts should now be available in GIG. 4.4 Colortable problems on Linux We recommend that you use enough video RAM to run GIG in 24 bits display, at a resolution of 1024x768: 2 Mb will work, 3 Mb is recommended, 5 Mb is better. Otherwise, GIG will start up in 8 bits mode, showing dithered images and using a colortable. Because the GIG tools also use color tables, it is sometimes not possible to run GIG and a tool at the same time, in 8 bits mode. In this case, save your model, leave GIG, and start the tool from the command line.