Tutorial 5

How to Create the 'Ocean' Scene

Fractal Bumps, Texture Velocity, Reflection, Refraction, Lighting and a bit of Trial and Error

First - Gather Your Thoughts

The picture entitled 'Ocean' on the Gallery page is actually a still from an animation file. The animation is based on a LightWave5 Scene which I created in a few minutes of trial and error. It's something anybody can do, even a LightWave starter or wannabe! However, version 3.5 only allows a single Surface attribute to be employed, whereas in mine the ocean's surface has two. The difference is small, so if you don't have LightWave4 or 5 don't assume you are left out of it! Just use the single attribute described below and your ocean will be just as wet as the one you see here!

I used to look at those fabulous LightWave images in Amiga magazines and marvel at the sheer competence of the people who made them. I was convinced that they had lots of 'inside information' about the manipulation of Lightwave 3D that I would never have. Well, after working with LightWave for a few years it has became pretty clear to me that actually, a great deal of trial and error is involved in getting those effects exactly right. In other words, anybody can do it, provided you are prepared to work at it. And it doesn't actually take that long to arrive at a pretty satisfactory result. Let me show you how.

The 'Ocean' scene is a typical case. I thought it would be interesting to attempt to simulate the infinitely varying spectacle of the sea using the tools available in Lightwave's arsenal. And after all, Lightwave comes with a multitude of pre-configured Surfaces like 'Underwater' and 'Wavy This' and 'Wavy That', so it should be easy to do something like this. Frankly, I'd forget 'em! You really should try to generate the various surface parameters from scratch, because you'll not only learn about LightWave Surfaces, you'll create something totally unique. After all, who wants to reproduce what someone else has already seen? I reckon creating unique and completely personal images is the key to LightWave's magnetism. But before you start a project like this, you should first get all the various parameters listed, mentally at least, by thinking about what's involved.

Things like the colour of the water, its transparency, and how the water shows you things below the surface. It's also reflective, so the surface you see is actually a mixture of reflected light and light seen refracted from below. You see areas of dark and light. Where the water's not too deep, you'll perceive sand at the very bottom, but also those strange darknesses under the surface. Banks of sea grass perhaps, or something more sinister? And it's all in motion. Its rippling skin, seemingly random in its complexity and yet all this movement is but part of a greater theme, typified by more regular undulations like waves and swells. So take yourself back to that fabulous beach, where the ocean danced and glistened under a setting sun. Remember how it was? Jusy dwell on it for a few moments..................OK, let's create an ocean.

Making the Parts

This Scene has only two LightWave Objects and they couldn't be much simpler. Just two large flat planes. One is used for the Ocean's surface and the other is for the sea bed. I thought we should have reasonably shallow water, so the sea bed will provide additional interest. To make the plane (for the second is merely a clone), pop into Modeler and use the Create/Box tool under the Objects menu. We don't actually require a three dimensional box as such, just a simple square or rectangle. Anyway, when you have the box icon as the mouse pointer, go into the Top view window and drag out a square/rectangle shape using the Left Mouse Button (LMB). A yellow guide frame will be created. Make it as big or as small as you fancy. We'll adjust the size of the thing when it's loaded into Layout. Since all we need is a flat plane, we don't need to give the 'box' any height, so don't drag it out in any other window. Just click the Make button to create the shape. Good, the Top view shows just four points joined together as a 'square'. The other two views show that this Object has no height, for you see just the edges view of the plane. It's a four-sided Polygon, almost the simplest shape LightWave understands.

Make 'em Triangles

You could Save the Object at this stage and it should be perfectly usable. However, you can never guarantee that Polygons with four or more sides are always flat. If any Point in the plane gets moved up or down by a minute fraction of a millimetre, it won't be flat (planar) any more and could result in rendering errors. LightWave always works best using flat Polygons and the only Polygons guaranteed flat are triangles. You can ensure all the Polygons in any Object are triangles by 'Tripling' them. So, my advice is to Triple this quadrilateral Polygon. The Triple tool will be found under the Polygon menu. Applying the Polygon/Triple routine will always give good renders. Regard this as a Rule of Thumb when creating LightWave Objects and you won't have a problem.

Name the Surfaces

The tripled plane now consists of two triangles. That's good enough. All we need to do now is give the Surface of this Object an appropriate name. Now with more complex LightWave Objects, you'll want to give different parts of the model's mesh different surface names, so different textures can be applied to them. You do this by selecting the required Polygons using the LMB in Polygon mode (the mode selectors are at the very bottom of the interface). This will highlight them in yellow. Now only yellow (selected) Polygons will receive whatever name you apply next. However, if NO Polygons are selected in this way, then LightWave assumes that ALL the Polygons present in the mesh are active (selected). So, under the Polygon menu, select the Surface button. This will pop up the Change Surface panel. Here, you'll see that the surface name is Default. This is the name LightWave applies to all the Polygons which haven't been named by you. Type in a suitable name. Let's use Ocean, because this plane will eventually become the surface of the sea. Now it should be saved to the hard disk.

Save 'em Now!--Louder!--Save 'em Now!

Regular saving of your Object designs will avoid a lot of grief and frustration! Even the best of programs crash (and LightWave IS the best!) so when you're working hard, just step back every fifteen mins or so and save your work. Give each update a new reference number, so all the precursors are kept as well. The file size for most meshes is pretty small and you'll be able to retrieve any earlier design stage as you want it. You'll rarely get what you want directly, so always leave your options open. The two Objects we have here are quick and easy to make, but others won't be.

So, under the Objects menu, click on Save As to pop up a filename requester. It should default to your standard LightWave Objects directory. If not, just select the path to where this Object should be saved. Call the file something like Ocean.lwo. Get into the habit of using appropriate extensions to filenames. It can help you when there are several aspects of the Object all bearing similar titles. For example, we'll be applying a procedural texture to its surface to simulate the water. This texture will be saved to the hard drive as Ocean.srf. That way, any time you need an ocean-like texture for another LightWave Object, you can apply this one.

Respray and Recycle

While we're still in Modeler, let's reuse this Object by saving it as the sea bed plane. Before doing so, however, go back to the Polygon/Surface pop-up panel and rename the Surface 'SeaBed'. OK, now use the Objects/Save As button and save the second Object to the drive as SeaBed.lwo. OK, the next step involves some graphics manipulation.

Some Graphics Manipulation

The third requirement for our Ocean scene is a suitable background image. Almost any 'sky' image will do, but if you can find one which has a high degree of perspective, so much the better. A setting sun is a bonus! The image I selected came from a CD of license-free images, many of which are quite superb. You see it below.

The original Image

In the Ocean scene, I felt the horizon ought to be somewhere near the top of the picture. Let's say about a quarter down from the top of the frame. The horizon in this image is much lower than I wanted, but it's a great shot! So, I loaded the pic into a processing package (Photogenics) and cropped it from the top to a nominal horizon line. I then pasted this part onto the top of a tall blue page and saved the whole lot as an IFF file called OceanBackground.iff. The colour of the blank area can be anything you like. It would make sense to save this in LightWave's Images directory. Here's what it looks like after processing.

The modified Image

When this new image is used as a Background in Layout, the image's horizon is located more or less where I wanted it, much nearer the top of the frame. Remember, that the Background Image is keyed to the very top and the very bottom of the scene's frame, irrespective of their sizes. The image will be stretched or flattened to fit. I just added some redundant space to fill out the lower three-quarters of the frame. The area 'below' the new horizon line will be covered by the ocean Object, so it doesn't need anything in the way of detail.

Before we get into the mechanics of setting up the Scene, there's another Image required to get maximum impact. This is a picture suitable for use as a Reflection Image on the ocean surface. I found the original sky picture was not blue enough and gave the water a dull tone. What's best is a simple 'blue sky' picture with some white clouds. Here's the one I used.

A 'Sky' Reflection Image

You could easily create a suitable image yourself using a paint package like Photogenics. I used a pd programme called 'Clouds' to make this one. The image was taken from an old DPaint anim I made poking a bit of fun at Windows95-cum-98. You may remember when Bill Gates made his high profile introductory presentation of Windows98, it crashed! In fact I think I'll upload my 'Silly Billy' animation to the Downloads page just for the hell of it!

Anyway, none of the cloud detail from this image will be seen, just patches of colour picked out by the undulating surface of the ocean. Whatever you use, call it something like SkyReflection.iff and save it in LightWave's Images directory. Although the images I've shown here are all the same width, you needn't worry about that for the ones you actually use. They can have different widths and heights. LightWave will make them fit the frame size exactly. This can lead to distortion if it has to do a lot of adjusting. Worth bearing in mind for other projects. OK, now we have all the bits, let's put 'em together.

Setting the Scene - Load the Images

Go into Layout and without altering any of the default settings, click on the Images button at the top of the interface. This opens up the Images panel. Click on the Load Image button to pop up a file requester, which usually defaults to LightWave's Images directory. Select the background image (OceanBackground.iff) you saved earlier. A greyscale thumbnail of this will appear on the panel. Next, repeat the Load Image routine and load the SkyReflection.iff. You can use this panel to load as many Images as you require, up to a thousand, depending on your available RAM. This step simply lets LightWave know what Images you'd like to use. You next have to define how they will be applied. So, close the Images panel and move along to the Effects button.

Setting the Scene - Make an Effect

You define how Images are to be used in the Scene by clicking the Effects button to gain access to the Effects Panel. The panel offers various options, depending on the version of LightWave in use. We need to set the OceanBackground.iff as the Background Image. In later versions, this facility is under the Compositing tab. In early versions, just click on the Background Image button. Either way, you'll be presented with a list of the loaded Images. Just select the appropriate one and this sets up the background. OK, close the Effects Panel and return to Layout.

Setting the Scene - Your Option

To help with the positioning of the sea surface and sea bed Objects, you can have a low resolution greyscale version of the Background Image projected behind the LightWave 'stage'. This will enable you to position the far edge of the planes in line with the new horizon line. To get the background in place, click the Options button. This opens up the Options Panel in which various aspects of the Layout screen can be tailored to your liking. Here, we want to show the background image. Early versions have a button called Show background Image, so activate that. Later versions have this button under the Layout tab. Either way, close the panel and return to Layout.

A Bit of Background

Providing you're using the camera's viewpoint (View group, Camera button) the background image will appear on the stage, with the horizon line nicely towards the top of the frame. Now this is a very useful thing to have available. Not only can we now position the planes exactly right, a projected image allows you to do all sorts of cool manipulations using LightWave's Alpha Channel system. For example, the 'Thistledown' image seen on the Gallery page made heavy use of it. A six Alpha layer composite can be seen as an animation of the same name, but you'll have to download it via the Downloads page. For now though, we'll concentrate on getting the Ocean right.

Relative Size Matters - Check out the Grid

OK, the background image is visible in the Camera view and you should be able to see the Layout reference Grid edge on. We won't really require the reference grid in this excercise, but it's useful to have around as a datum. It's especially useful for judging relative size and scale of the objects you place on the stage and the things you do with their surfaces. If you use the View/Top button, the grid will be more easily seen. The squares are a fixed number of metres in size, no matter how close or distant you are from them. You can see the grid size in the small window, bottom right of the interface. You can alter this size and the number of squares involved via the Options Panel visited earlier. The default unit is the metre/meter, though this can be changed if you prefer something else like inches or yards. If you wish, you can also remove the grid entirely by selecting the appropriate switch. You may be surprised at how small the 'Ocean' is actually go nna be as far as LightWave 'sees' it. No worries, it's all relative. Big ocean, big seabed, big waves or small ocean, small seabed, small waves. Both look the same as long as the Camera is at the right distance. The default 'size' of a LightWave Object is determined by its size relative to the background grid when saved in Modeler.

Setting the Scene - Bring on the Actors

OK, I think I understood that, so let's now load the two Objects which make up the Ocean scene. Click on the Objects button to pop up the Objects Panel. Here, click the Load Object button to pop up a file requester. It should default to the Objects directory, but if not just pick your way to the location of the stored planes, which you saved as Ocean.lwo and SeaBed.lwo. Load both Objects and close the panel.

Setting the Scene - Fill 'er Up

In the Camera view you will see the Objects edge on and coincident with the reference grid. Activate one or other by clicking on the Object button under the Edit group. The Object you loaded last will be highlighted yellow. It will appear to be a short, yellow horizontal line. That's because you are seeing it edge on in the size it was saved. We need it to fill the entire field of view, or it will render as a simple rectangle, which is not what we want. To make the two planes fill the frame, you should resize each one in turn using the Edit/Objects - Mouse/Size controls. The Mouse tools appear when you select Objects as the edit item. The Size tool lets you resize the X,Y,Z dimensions of the slected Object using the mouse. There is a Numeric option as well. Since these two planes have no Y dimension, it's a simple task to increase their X and Y sizes. So, we'll simply increase the size of each plane by dragging the mouse. You'll see it happening in real time. Make sure each plane extends well beyond the left and right edges of the frame. When it's all stretched out nicely, make this a Keyframe.

Keyframing's the Key

Whenever you alter any aspect of a Lightwave Scene, remember to lock things in that state by resetting the first frame (Frame 0) as a Keyframe. LightWave manuals will tell you that Frame 0 is always a keyframe and so it is, but its settings will be the default settings that existed when you first entered Layout and loaded in the Objects. So, unless you alter them specifically to your scene's current situation, everything will spring back to defaults as soon as you try to render or animate your work. Remember that Frame 0 is the starting point for an animation or the only frame that will usually be rendered if you wish to create a single image. LightWave defaults its 'blank' stage settings to prepare for a thirty frame animation. You may use but one, all thirty, or add thousands more. The important thing is to use Frame 0 as the starting point for the epic you're about to create. If Frame 0 isn't right, you'll get into all sorts of difficulty.

So, go down to the bottom of the interface and press the Create Key button. This pops up a panel into which you can add a new Frame number, or key the currently selected item, or keyframe all the items in the Scene. If you've adjusted several items as we have here, click the All Items button, then OK to leave. The use of Keyframes is the clue to making good animations in LightWave, but you don't necessarily need dozens. In fact the 'Ocean' scene/animation has only the one Frame 0 as a keyframe. The reason is that none of the 'actors' in the Scene will move position. Only their Surface textures will be animated. It's all gonna be an illusion!

Setting the Scene - Get 'em into Position

We now need to orientate each plane so they appear to coincide at the horizon as defined by the background image. This involves rotating them in the Pitch orientation. To do this, click the Rotate tool in the Mouse group. Using the left and/or right mouse buttons, you will readily get the feel of this manipulation. The planes will have to tilt upwards towards the back of the stage so their rear edges coincide with the horizon line. The Ocean.lwo plane should be at a slightly smaller angle than the SeaBed.lwo, so they are reasonably wide apart near the Camera. You can adjust them by switching to the View-Side and adjusting each plane with the mouse in the Rotate mode. Just ensure they are perfectly horizontal when viewed with the Camers and they meet at the horizon, otherwise you'll get the seabed rising above the waves!

A Dab of Paint, some Lights and Ready to Roll?

Hokey Dokey, the scene is more or less set. All that's left is to apply some suitable Surface textures to the two objects and to add a light or two to help with surface reflections. You may also fancy adding a flare to the sunset if there is one in your Background Image. Optical flaring is handled very nicely by LightWave, even to the extent of creating some great camera lens abberations, should such a thing take your fancy. For now, though, we'll stick to a simple star flare. You ain't Steven Spielberg! Not yet anyway!

Setting the Scene - Surfacing

At the top of the interface, click on the Surfaces button. This pops up the Surfaces Panel with which you define the characteristics of all the named surfaces in the Scene. Remember, you name an object's Surface in Modeler and add colour/texture to it in Layout. A list of all the named surfaces will be presented under the scroll bar at the top of the panel. The one which sits on this bar is the Current Surface. The attributes of the Current Surface are those presented in the various fields on the panel. Scroll the bar to another Surface and the displayed attributes change with it. The panel allows you to load predefined attributes, which are stored in LightWave's Surfaces directory. Or you can rename the current surface, change its basic colour and assign all manner of optical qualities like reflectivity, luminosity, refractive index, transparency, etc., etc. There are literally thousands of attributes you can build into any Surface . Indeed later versions of LightWave allow you to pile layer upon layer of different ones. Some of the attributes allow 'motion' to be built into them, so a surface may literally change before your eyes.

The SeaBed Surface

Let's start with the SeaBed.lwo first because it's the easier of the two to set up. You'll remember that the surface we need is called SeaBed, so ensure this name stands on the scroll bar as the Current Surface. Next, decide what basic colour you'd like it to have. A sandy colour perhaps, or a dark green to suggest a bank of seaweed. You allocate a colour using the Surface Color button alongside of which are the RGB values of the current setting. In later versions the button and other areas of the panel are given that colour. Clicking the button pops up a colour mixing panel in which the RGB values can be adjusted to taste. For my own render, I opted for a dark green base colour, but the results will be good using almost anything. The interesting bit comes with adding a texture.

Alongside the RGB window is a 'T ' button. There are several of these on the panel and they give you access to various Texture Map routines which are built into LightWave's system. You can see what's on offer by pressing the button. Some options allow you to apply images as textures, much like wallpapering an object. Others are procedural textures, generated mathematically. The one we need here is Fractal Noise, arguably the most useful of LightWave's procedural routines. So, select Fractal Noise from the list, to pop up a control panel with which you alter the characteristics of the texture. Three aspects are relevant here, the Size, the Color and the Contrast values. The colour is easy, just set one up using the mixer panel. I decided on black, to give a bit of drama to the seabed. So when the texture's applied, you get the base green textured in black. The Contrast setting is akin to the texture's transparency. Small values gi ve hints of texture, high values make the texture colour more dense. A range of 0-5 is more than adequate. The Size of the texture determines how large my black areas are compared with the green surface as a whole. LightWave sets defaults for these various parameters and it does a reasonable job of getting an evenly distributed texture. You'll see the Size pop up panel has X, Y, Z parameters, which correspond to the three LightWave axes. The numbers you place here are in the same units as the Grid discussed earlier. The default Size setting is 1.0, which means every 'metre' of the surface will get about equal share of base and texture colour. This is where the Trial and Error element of LightWave makes its appearance, because you really can't predict what you'll get until you try a few different settings. It's also fun and after a few trial renders, you get a feel for how the texture behaves. This is particularly true of the Ocean surface. Here's my SeaBed object without the Ocean above it. It gives you a feel for what to aim for.

The SeaBed without the Ocean

The Ocean Surface

Having plumped for some settings for the SeaBed surface, let's move on to the nitty-gritty of getting the Ocean to look something like, well, the ocean. There's plenty of elements to play with here! The first is, of course, the basic colour. Easy. Just mix a nice blue-green ocean colour. OK, next up is its reflectivity. Water is pretty reflective, especially when light strikes it at a low angle. I set mine at around 60%. Just type this into the Reflectivity window or use the drag gadget to increase/decrease the value.

You'll notice another ' T ' for Texture alongside and a Reflection Options button as well. The texture button allows you to apply most of the mapping routines to the reflectivity aspect of the surface as it does for colour. I reckon a seawater surface has completely even reflectivity, so leave this button alone. Click the Reflection Options button and a panel pops up in which you can select from a range of possibilities as to how and what will be reflected off the surface if light strikes it at an appropriate angle. LightWave uses accurate physical calculation to determine what you see in the final render. If Natural laws say the surface will reflect light into the Camera at some point, then LightWave will replicate it. The optimum choice for this option is Spherical Reflection Image. The Ray Tracing options give the most mathematically accurate renders, but they take a lot longer to calculate and some would say, they aren't as pleasing.

Are my Seams Straight?

What the Spherical Reflection Image option does is place an image into the three-dimensional space around the LightWave stage. It effectively applies this image to the inside surface of a gigantic sphere that marks the outer limits of LightWave's universe. Hmm...creepy! And because the image has a left and right edge, the wrapping process makes a 'seam' where the two edges meet. If your image is of the non-repeating variety, then you can decide where the seam will be. It's normally at the 'back' of the sphere (zero degrees), so you don't often see it reflected. However, some renders may reflect the seam as a distinct line, so it needs to be changed. This is the function of the Seam Angle field. OK, here's where the SkyReflection.iff image comes in. Just put this into the Reflection Options using the scroll bar. Leave everything else at default and close the options panel.

Transparent and Glossy - just what I like!

Next up, you should click on the High button alongside the Glossiness setting. This controls how dispersed is the light at the point of reflection. A Low setting gives a broad reflection band, while Maximum makes the reflection small and intense. I reckon water is High but you may want to experiment with it. The Specular Level controls the percentage of incident light reflected. It's an intensity setting basically and I reckon it should be set fairly high for this scene. Around 50% would seem appropriate. Now let's think about Transparency.

Sea water is pretty transparent isn't it? At least I hope the places you swim are! I reckon this should be set very high, say 70-80%. That way, we'll see more of the underwater stuff generated by the SeaBed surface. The Color Filter button activates colour filtering, amazing! What this does is let the colours below the transparent layer combine with those of the layer itself to create a truer visual result. What's next?

It's so Smooooth and Double-Sided!

Activate the Smoothing and Double Sided buttons. The first applies Phong Shading to the textures and makes for a better result. This is especially important when you have lots of polygons in the objects. It won't make much difference with the two flat planes in this scene, but what the hell, I like smoothing! You can learn a little more about this and the Maximum Smoothing Angle by working through Tutorial 1. The second button effectively makes all the Polygons in all the objects double-sided. Sometimes, polygons face the wrong way and render as 'holes' in the object. This button will guarantee success! The most interesting bit is next. The Bump Map texturing.

I Like it a Little Rough!

If you've stuck with me so far, you'll be glad to learn we're almost through! The last task, perhaps the most complex, is to set up a bump map routine which will look and animate like the real ocean. Click the Bump Map button to pop up the control panel. Here, the scroll bar will provide several options to be used as bump maps. The one we need here is Fractal Bumps because it's a very random routine, just like the surface of the ocean. Leave the Intensity setting at 100% but set the Amplitude high, say 500-700%. This should really rough it up! And set the Frequencies around 5. This determines how many different sub-routines are mingled together. The ocean is very very mingled!

Next is the Size which I found by trial and error, should be pretty small. My settings were 0.02, 0.1, 0.03 for X,Y and Z respectively. As for the Texture Center, I placed it away from the centre of the Layout grid by using -0.9, 1.0,1.0. This prevents us getting the effect all happening in one place on the screen. The center is where the bump mapping emanates from. The only other factor I have used is Texture Velocity which is only relevant if you want to create an animation. The velocity sets the speed at which the texture (which is itself three-dimensional) passes 'through' the scene. This is what generates the surafce 'motion' when animated. I have found the most satisfactory method is to move the texture vertically. Now this may seem counter-intuitive, but unless you want the surface to look like a fast flowing stream, vertical is best! This means setting the Y value to some appropriate number. The setting equates to metres per frame, so it should be fairly small or it will be total chaos. I've used -0.02 or -0.01 for the Y value and left the others at zero. This causes the texture to drift downwards through the scene. It may actually work better the other direction. Try it and see!

And Ripples too!

Users of the later editions of LightWave can add more textures to the first one, adding extra realism. I used the Next Texture button to add a Ripples texture of fairly long wavelength to simulate waves. This texture is again frought by trial and error but well worth the effort getting right. Again, a fairly large Amplitude was applied, with 2 or 3 Sources. The velocity in this case was made small in the -Z direction, to make the waves seem to move towards the Camera.

Save the Surface for a Rainy Day

Although Surface parameters are saved within the Scene file, you may want to use this Ocean Surface elsewhere in your artwork. To make this available quickly you can save the surface as a separate file. Just open up the Surfaces menu again and click on the Save Surface button on the panel. This pops up a file requester into which you should type a suitable name. As indicated at the start of this session, OceanSurface.srf would seem appropriate. OK this and the file will be saved to LightWave's default Surfaces directory. You will have spotted the Load Surface button also on the Surfaces panel. This is how you retrieve a saved Surface file to use at any time.

I'm Satisfied!

That seems to be it! All over before you know it! The only thing to do now is to add a few extra Lights to increase the chances of catching some reflections and place a dummy sun, a Point light type located where you think the setting sun should be. Add a simple Lens Flare effect to this light (or lens reflections if you must) and it should look pretty good. Finally, save the Scene under an appropriate name, 'Ocean.lws' perhaps? This should go automatically into LightWave's default Scenes directory. If you wish to animate the scene, first open the Scene menu at the top of the interface and change the number of frames to a hundred or more before saving the file. LightWave will gladly continue rendering the frames until it gets to the end. I'm thinking about five-hundred frames and a few seagulls in an Alpha layer. And if you want to know how to do that you'd better think about getting hold of the WaveGuide Manual!

Let me know how you get on! If you find any obvious errors in this Tutorial please email me and I'll fix them at once.

Here's the final result.


A larger version can be found here. Use your browser's 'Back' icon/button to get back to this Tutorial.

Go back to the top

Go to Tutorial 1
Tutorial 2
Tutorial 3
Tutorial 4
Tutorial 6
Go back to the Tutorials Page
Home Page
The Gallery
WaveGuide Manual
Other LightWave Sites
My Amiga