EMAIL: philip.chan@home.com
NAME: Philip Chan
TOPIC: Warfare
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
TITLE: The Assault
COUNTRY: Canada
WEBPAGE: none yet
RENDERER USED: POV-Ray for Windows v3.1g
TOOLS USED: Moray for Windows v3.2 (objects taken from my Hostile Airspace animation)
	    Adobe Photoshop v5.0 LE (coversion to JPG format)
RENDER TIME: 25 minutes, 12 seconds
HARDWARE USED: Pentium III 450 MHz
VIEWING RECOMMENDATIONS: don't look at it with your monitor set to something like 256 colours :)
IMAGE DESCRIPTION: A squadron of Terran fighters attacks an alien carrier in an intense battle.

DESCRIPTION OF HOW THIS ANIMATION WAS CREATED:

Having entered two animation rounds, this is my first stills entry.  I sketched a design for the human fighter out
on graph paper in early October, and when I checked the IRTC website on the 15th to see if the latest animation 
entries were ready for viewing, I noticed that the stills topic was warfare, so I decided to put this image 
together.  This is the result of about 35 hours of work, spread of 13 days in the middle of midterms.

The hulls for the alien ships and the fangs on the carrier were made using Moray about a year ago for my animation 
submission from October 2000.  The guns on the alien ships are blob objects mounted on to the ships by eye.  The 
alien ships were made for the Hostile Airspace animation, and were use here with one modification:  I made the 
fighter bigger.  This also mean widening the opening that the fangs made to accomodate the larger fighter.  
The camo paint on the fighters is a texture that my brother made way back in the days of POV 2.something.  The 
shots from the alien fighters were also made about a year ago, but never used in the animation because I didn't
have enough time to make the fighters shoot.  The rest of the scene is either created new for this image or
extensively modified.

I'll give a brief description of how each object was created:

The human fighter is implemented exclusively with CSG.  The fighter, excluding the engine glows, is created using
the intersection, union and difference operations, and 23 objects consisting of boxes, spheres, cylinders, and 
torii.  The engine glow is an adapatation of the blue engine glow for the alien fighters, with the colours changed
to give an orange glow.  The cockpit uses the same reflective texture as the cockpits for the alien fighters (I'm 
not good enough to model little pilots yet).

The lasers were a source of much frustration.  I tried to use a gradient y pattern to create a laser that would 
fade as you moved further away from the centre of the beam.  However, all hell broke loose when I tried to rotate
the pattern to match the rotation of the cylinder that contained it.  I finally gave up and set the pattern to wood 
and decided that it looked cool so I kept it.  When I was browsing through the help files today, I discovered the 
cylindrical pattern, which was probably what I wanted in the first place, but I didn't change it because I think
the wood pattern gives a nice effect.

The nebula was created using media effects.  The blending of the red and blue is created by specifying a density_map 
with two components.  Each component is a colour_map, with one being predominately red, the other blue.  This causes 
the colours to add where the two components over lap (creating the purple and white areas).  Where one colour_map is 
black, the other is allowed to show through (the red and blue areas).  A second density statement in the media is 
used to "contain" the media so you can't readily see the object that holds the media.  A spherical pattern
(spherical object) scaled to the same dimensions of the object, with the colour being black at the edges, and white
near the centre causes the media to fade to black instead of abruptly being cut off by the object holding it.  This
is because in the second density statment, the colour vectors are multiplied on a component by component basis.  
Finally, a black cylinder was added behind the nebula to block out stars behind the central parts of the nebula.

This brings us to the starfield.  The small point stars are a modified version of the starfield used in the Hostile
Airspace animation.  The starfield was made smaller (and thus looks more dense), and more turbulence was added.  The 
larger brighter stars are media objects.  The stars are created from the merge of a sphere and six cones (the 
sparkle or twinkle effect at the edges).  The entire merge object is assigned a media which is predominately white.  
The sphere in the middle is then assigned a second media to cause the first media to fade as described above for the 
nebula.  The cones "fade" because the thickness of the object decreases as you move away from the centre.  Since the 
object isn't as thick, it doesn't contain as much media, and thus looks dimmer.  The objects were then made into a 
macro, which allowed the objects location, rotation in the z-axis, and tint to be specified.  They were then placed 
using the #while...#end directives in POV to place 40 stars (you can't see them all) at random locations, with 
random rotations about the z-axis, and random tints.  (The tints are predefined in the macro, and are "selected" 
by the value of a random number, specified when calling the macro.)

Finally there is the exploding fighter, which contains a few components:

The explosion itself is an adaptation of the one at the end of the Hostile Airspace animation.  I had to freeze the 
explosion at a suitable instant in time to give a sorta fighter shaped fire.  I then had to make the explosion about 
3 times larger to make it about the size of one of the human fighters.  This required some work on the colour_maps 
used, since the density of the media effects its "brightness," as I mentioned before.

The "nose cone" and the end of the wing were created from the fighter by and placed to fit with the explosion.  The 
wings are "cut" from the object with the jagged edges using randomly placed and rotated boxes.  Each side is done 
separately so they don't look identical.  I also created a texture for scorch marks, and layered it on top of the 
camo paint to make it look more realistic.  The placement of the scorch marks was done by randomly punching in 
numbers for the translation of the texture until I came up with something that I thought I could work with.  I then 
tweaked the numbers until I thought it looked good.

Lastly the debris in the middle are randomly placed and sized I-beam shaped object (using a while loop, of course). 
They are there to give some "substance" to the explosion, so that the wings and nose isn't the only debris visible 
in the explosion.

And now a few miscellaneous notes:

The placement and rotation of objects took a bit of work, since everything had to point at exactly the right spot.  
For the most part, I used POVs atan2 function to calculate angles.  I also used the vrotate funtion to calculate a 
few of my translation vectors.  Getting the first object to point to the right spot was tough, but after that, it 
was easier since a had a template to work from.  If you look closely enough, you can see that I made it so that the 
shots coming from the alien fighter in the distance don't follow a straight line (you're not going to hit anything 
if you keep shooting at the same spot).

If you look at my code, theres a lot of cases where I multiply a colour vector with something in media objects.  
This allows me to easily change the "brightness" of the object when I scale it.

I have including the "ship_parts.inc" file from the Hostile Airspace project.  A lot of the stuff in there isn't
used in this image, but the stuff I extraced and modified from that file are still somewhat dependant on the stuff 
in that file.