TRUESPACE Texturing tutorial .
-----------------------------------

Notes:
1. If there are things which are unclear , ask Skullar, Et1 or another texturer.
   ICQ :
   Skullar : 98707066
   Eternal One : 48501847
   You can ask whenever you want. This "hotline" is free :)  
2. Eventually you will read some things twice . Repetitio est mater studiorum.
   No problem then :)
3. There are people who know already more or less of TS, for them it will be quite 
   boring in the beginning , I hope that there are any interesting passages at all for
   these.
4. goto 1.

--- I. Terminology and Theory ---

At first some basic expressions you should know : 

model  : the model is the thing we wanna texture . 
vertex : a vertex is a point in the three dimensional space of Truespace.
edge   : the line from one vertex to another . 
face   : a face ( or polygon ) is made of 3-20 lines in Truespace. 
         a face made of 3 lines is a nice triangle for example . The whole surface
         of an object like a ship consists of several faces . The faces are the
         things the textures are applied to.
         all vertices of a face have to be in a plain. If a face consists of 3 vertices
         they are all automatically in a plain . we say : the poly is FLAT.
         if a face consists of several vertices and they are not all in a plain the
         poly is UNFLAT . This means it is not well defined and cannot have a texture 
         map. These unflat faces have to be fixed by our modelers.
map    : the bitmaps ( ore the pcx files in Freespace2 ) with the surface textures are
         called texture maps or simply maps . The maps have to have special traits. 
         This is for later.
normal : when you have a PLAIN , the normal is a vector ( call it a direction ) that 
         is perpendicular to the PLAIN . E.g. a human standing somewhere
         is a normal of earth's surface ( and the earth is flat . well , there were
         times human thought that. )
lod    : lod is short for Level of Detail. Ships in FS2 don't have ONE 3d-model , in 
         fact they have many ! 
         lod0 is a model of the ship showing all details . This model is shown when you
         are pretty close to the ship
         lod1 shows less details . But Freespace 2 only shows you lod1 when you are at
         a special distance , so you won't notice a difference on the screen.
         the other lods like lod2 and lod3 show even less deatails and lod 3 often 
         consists only of a few faces.
         The idea of lods is that for ships at a fair distance the Freespace engine
         does not need to take the fully detailed model to calculate what you see on
         the screen. If you see a starfury 20km away there is no need to use lod0 to
         calculate what you see , you won't see more than a few pixels at all. 
         So , the lods are used to speed up the game :) 
         Just too bad we have to texture 4 models instead of 1 , but we are Babylon fans
         and we all have to make sacrifices :)
         
PROJECTIONS :
--------------------------
You know these old slide projectors ? Where you put in a small transparent photo that is 
projected on a whitescreen ? They are perfect for telling you how texturing works in
theory. Well, first , the transparent photo itself is the PROJECTION PLAIN.
Then, lets think we have a special slide projector and the light rays emerging from 
the projector are all parallel . Then the picture it makes would be just as big as the
PROJECTION PLAIN ( the photo ) . Normally you project the picture on a whitescreen . But 
you could stand in the way of the light rays , and then the picture would be projected on 
your body . Like this you would have a texture map projected on a 3d object ( you )

PLANAR PROJECTION : Described above ! From the Projection plain parallel light rays emerge 
                    and fall on the 3d-object ( or to be precise : on the faces of it )

The problem of planar projection : Remember your slide projector : if you take a sheet of   
  paper and let the projector project the pic on that paper instead of on the wall , it 
  will look fine. but when you start to rotate the sheet slowly so it is finally 
  parallel to the bottom , you will notice that the picture on the sheet gets stretched
  ( and starts looking crap ) until you can't recognize it . That is the problem . 
  The solution ? Later :)

CUBIC POJECTION : Ist just like PLANAR projection , but from all 6 sides at once. From 
                  above , below , behind , the front and from the sides . so you have 6
                  projection plains instead of one. The clue is that for each face TS 
                  selects one of the 6 plains to apply to it , depending on what plain 
                  the NORMAL of the face points to at most.  CUBIC projection is mostly
                  used for bigger objects to be textured with generic textures , to avoid
                  the problem described above , or at least to reduce it. 

CYLINDRIC PROJCTION : you put the object in a cylinder . There is no PLAIN like in the
                      projection types above. the texture map is now on the surface of the
                      cylinder ( but not the TOP or botton ) and is projected towards the 
                      center line of the cylinder. You'll see . 

SPHERICAL PROJECTION : the texture map is attached to the surface of a SPHERE and is 
                       projected to the middle point of the sphere.

--- II. Preparing Truespace ---

Lets start . 
First we install all the tools we need . These EXTENSIONS are additional functions and
tools of Truespace that are not included in the original release. 
Just do the following :
- put the tsx-files unwrapper.tsx and trueview.tsx in the txs folder of your 
  Truespace directory. These are truespace extensions , additional tools we will
  use later. Actually it is not relevant where they are , but put them into THIS
  folder so you know where they are.
- open TS
  now look for the icon called "trueSpace xXtensions"
  click it. 
  a window opens . Now we install the extensions . Click in one of the empty boxes
  of the window. Now select the tsx file.  do the same with the other extension. 
  Now we have both extensions installed and you see the icons in the extensions window.


--- III. the program -------

OK , now let's get started.
- open TS
- now new scene
- goto menu and select FILE / SCENE / NEW

Lets have a look at the buttons. To the left , we have undo (takes back operations)
All the other icons you see there are menues ! So , you always see one icon of a whole
bunch. Click on an icon and hold down mouse button , and you will see that a whole menu
appears, showing several icons, as example look at the cube right to UNDO.
- Click on the cube and the whole PRIMITIVES menue will pop up . Now you see 
  all the primitives. That means always only one icon is visible out of many , unless
  you leftclick mouse button and hold it
- Select the cylindric object and draw it . 

So , you see a wireframe cylinder, yes ?

Next thing important is this wireframe object in the bottom right corner of the screen 
( not in the menu )  with 3 axis and plains between the axis . see it ? If you don't know 
what I mean , check the MOVER.JPG included in this package , it shows what I mean.

To be exact, this thing consists of 3 axis , 2 faces between the axis and a curved thing
where the 3 axis meet. 

This tool is used to move "yourself" through the 3d-space and to look in the different 
directions . You should use it !!!!!!!
Move your mouse over it , there are several regions ! pay attention to the help bar , the
following features are important :
LEFT BUTTON : move XY RIGHT BUTTON :move Z   lets you move through the 3d space and
ROTATE AROUND SELECTED OBJECT : lets you change the direction you are looking at .
Homeworld style . :)

- Make yourself familiar with that tool. Rotate view and move around. 
- Note : Don't move the object itself around or even rotate it ! Well , you can , 
  but then you won't get it back the the precise position. So , move yourself , not
  the object. If you move around the Object in Truespace this could lead to the following:
  The coordinate point 0,0,0 is the centerof the object . It is the point of the object that 
  is vital for any calculations the FS2 Engine does , It is the point that is shown in the
  radar screen as well. So , perhaps you can imagine what happens when you move the model
  in TS : The Radar echo won't be where the ship is , and certain movements ( flying curves
  for example ) will lead to strange results in FS2. Pay attention to that and don't move
  around the ship.

OK , now we make the display settings.
- Ok , then click on FILE / DISPLAY OPTIONS

A window opens. So , the next ting is the following :
When you are texturing a vessel you will have to select individual faces during this 
process. 
But when the models are more complicated , it will be difficult to click on individual 
faces, for you will only see lines and you cant see where one face ends and the next
one starts , you do simply see lines that confuse you. This may be frustrating.

Therefor we let truespace draw the model not as a wireframe , but as a solid object. 
That means Truespace also shows the textures on the faces. 

But first , we have to activate the direct3d or opengl api in TS to enable this feature.
Otherwise you'll only have wireframe. This is done here :

- left click on the box above "API" in the display options window and hold mouse button,
  It is the small icon showing a wireframe-cube.
  
A menu pops up ( as usual , its again an icon representative for a set of icons )

- Select d3d or opengl ( I HAVE D3D )

REMINDER: 
--Right click always opens WINDOWS 
--left click opens icon menus ( or whatever you call it )

So. Directly right to the API is "ground"
Same thing , i suggest to select SET GRID TO WIREFRAME, or deactivate it completely.

So , there are two bars with icons . the one with undo is the 3d-bar , the other bar 
with the few icons is the 2d bar. In the 2d bar , look for    "DRAW OBJECT AS....."
This feature is now fully activated with OPENGL or DIRET3D.
Play around with it ! e.g. DRAW OBJECT AS SOLID or DRAW OBJECT AS SOLID OUTLINE

Rotate the view . it will stay solid. Like this you can easily have a look on your 
progress. A second word to all these windows....  : right click on icons opens windows, 
if you close one and wanna have it back... just keep that in mind

Now lets have a look at the OPTIONS DISPLAY window again:

You can set other options in the display option menu :
- you can deselect "make light visible" , makes texturing easier ( as I have heard )
- at "Txt res" you can select the resolution of the maps for the object drawn as solid
  if you select 512*512 the textures will be really sharp , but this may slow down 
  the process of rotating your view. Just try it out. This is the resolution SHOWN and 
  has nothing to do with the real resolution of the texture maps. Lower resolution might
  be recommendable for slower systems with old CPUs , like my Celeron400 ( grrrrrr )
  This setting only affects the resolution shown in TS for "drawn as solid" 
- and DETAIL : i suggest you "take ALL WIREFRAME", this draws your object as solid , but
  switches to wireframe when rotating it. Play around with the settings and take what
  you like best : notice the difference when you move around or rotate view.
  You can also select that the object is always drawn as solid , even when you rotate 
  view. 

When you are finished you may close the OPTIONS DISPLAY window.

Ok , now lets have a look at the 3d bar. The primitives are fine , but irrelevant now.
Next icon is camera . dont touch it . You won't need it.

Then comes object tool
- right click it

The OBJECT INFO window opens . This one is VITAL to the texturing process. You should 
always have it open. 

The other features of "object info" are not needed
Then comes OBJECT MOVE icon , with other things in the menu like OBJECT MOVE /
ROTATE / SCALE.      Scaling is funny , but not up to us . lets just try it for fun :
- select scaling , click on your primitive object and move mouse , click with 
  right mouse buton , left one , both , .... :)

Info : If you are interested : when you resize the object this doesnt affect the relative 
       positions of the textures. All textured will stay in perfect alignment, no matter
       to what degree you stretch the axis.   

You can take actions back with undo. 
The next button is MOVE UP / DOWN in hierachy , you don't need it , I'll 
explain later what's about the HIERACHY.

Then comes POINT EDIT , this has to do with the mesh . the object itself . 
Its a modeler's tool , not a texturers :) so don't bother
The same with the next 5 icons. irrelevant for us.

The 2 really important icons ( icon menues ) at all are PAINT OBJECT and UV PROJECTION
You see 'em ?

We use PAINT OBJECT and PAINT FACE
Paint object applies to ALL faces of the object
We use it when we start texturing a model . we apply a generic texture to 
ensure we won't have untextured faces in the end which we forgot, but that's all about it.

The main tool is PAINTFACE. Later on this.

Right to PAINT is UV projection
- click it and hold down button.

What we need is UV proj and UV proj per face
These tools set the uv space of the model

------------------------
what is UV-space ? 
------------------------
Remember the slice projector ? One picture projected on a 3d- object .
The object consists of several faces , so all the faces together show 
the picture, and each face shows its part of the texture map . Thats clear.
Each face has an UV-space , and the uv space is the "memory" of the face telling
it exactly what part of the whole texture map it is showing , the panning  , size ,
rotation of the texture part and so on. the UV-space of an object is the set of the UV-spaces of the faces. Nothing special , you see.
So , the UV-space is determined with the PROJECTION and in general the UV space
describes your work in truespace : the positions and sizes of the applied texture maps.

Back to the icons in the menu :
 With UV Projection and UV projection per face you change UV space.
 UV PROJ PER FACE applies only to the uv space of selected faces , 
 UV PROJ applies to the UV space of the object. ( and so of ALL faces )

So , if you use UV proj you "overwrite" everything you eventually have set up 
with UV PROJ PER FACE

You remember the OBJECT INFO window ? 
There you have LOCATION ( what it means ) ROTATION ( enter some values to test out ) 
and SIZE.
Play around with it . Enter values
Note that the numbers in there apply to the OBJECT selected.


--- Keep that in mind for later : ---
But when you select UV PROJ or UV PROJ PER FACE the object info window no longer 
applies to the object , now it applies to the PROJECTION PLAIN ( which is also 
considered as an object, from a certain point of view ) !
SO , when you NOW enter values  , you shift , move , resize , rotate 
the projection plane

This way you select how the texture is applied to the selected faces
from above , from the side , from behind , whatever .....

-----------------
  ! IMPORTANT !
There is something important to know about these rotation , size and position cells.
If you don't know this life will be much harder !
The cells do support formula calculations ! For example That means instead of the 
number 10 you can enter: 
4+6 or 5*2 or 2*(14-4). Keep that in mind ! This will be important later , especially
when we come to MULTITEXTURING PER FILE.
-----------------

And then , when you hit APPLY , the settings are "used", "saved".
- Make new scene
- Create a primitive . The sphere .

I now show you the UV PROJ PER FACE

- select UV PROJ PER FACE
- make sure PLANAR PROJECTION is activated. Should be by default.
- click on a face

left click : select face
right click : deselect face
Play around with it. Like this its easy to select a number of faces and deselect the ones you selected accidentally. 
OK , have a number of faces selected. You will see the PROJECTION PLAIN. 
This plain consists of 4 lines. 2 of them are green , 2 of them are orange. 

Notes : 
-------
1. When using planar collection the corner where the two orange lines meet is the
   LOWER LEFT corner of the texture map. 
2. In this corner there is also a small line ( barely visible from a distance ) perpen-
   dicular to the projection plain. This line must show in the intended direction of the
   projection. 
   Why ? Well , remember the slide projector. You have the transparent photos you put in 
   the projector. Normally the lower left corner of the photo has to be in the lower left
   corner of the slot the photo has to be inserted in. But : There are 2 ways you can 
   insert the photo into the projector so that the lower left corner of the photo is in the 
   right position. You understand that ? If you do it the wrong way the picture you see is 
   rotated 90 degrees and mirrored.  Therefore you have this additional line which shows 
   you the direction of the Projection. You should have understood this.
   Well, this problem is very RARE , but if you once have the problem your texture seems 
   to have rotated and mirrored ( mirrored is not noticable when textures are symmetrical )
   though the lower left corner is in the right position , you will know it is the wrong
   direction and you have to rotate the projection plain so the little line points in
   the right direction.
3. Whenever you select a face the projection plane rotates automatically 
   So its always parallel to the last selected face.
   Actually , this special feature gets disturbing later. 
4. A Truespace bug : when you select more faces the projection plain automatically changes     its position and size . But the values in the OBJECT INFO window are
   not updated ( may happen )
   and when you enter values in the OBJECT INFO window ( no matter what )
   it might happen you don't see changes in the 3d-space where there
   should be some. 
   Both bugs can be bypassed : simply rotate your view a bit and 
   Truespace will update the values in the object info window as well
   as the 3d-screen.

SO, select some faces as described above . Then enter the values 0  0  0  for ROTATION 
in the object info window , that means a 0  for  X , Y and Z 

You will see that the PROJECTION PLAIN is now lying parallel to the ground ( the grid )

This is to texture selected faces from above . from DIRECTLY above.

Now play around with the Rotation values.
Notes : 
1. Use mostly the values -90 , 0 , 90 , 180 
   and do this in the coordinates  x , y and z . 
   Just to make that clear ( some didnt understand that : )
   try to use -90 , 0 , 90 , 180 for x , 
   try to use -90 , 0 , 90 , 180 for y and
   try to use -90 , 0 , 90 , 180 for z.
   So , you can texture parts of the vessels diretly from above , behind , the side , 
   the front , below.
   Well , you can use other values , but personally I think this makes things confusing,
   especially when you have textures designed to apply from a certain angle.
2. Okay okay , sometimes you also have to select values
   like 45° or multiples of it , the thing is you use values that are obviously the best
   choice so you can recreate the whole UV-space in your mind. When you have to retexture
   certain areas of a ship ( for some unknown reasons like Matthew accidentally deleted
   your work on the FTP server ) you have to remember the exact values for rotation or
   otherwise the thing will look different in the end . that should be clear in your 
   mind , right ?

Every time you have finished entering new values, 
- hit apply so they are used. 
Note : I mean the APPLY that belongs to the UV projection , there is only one APPLY button.
This APPLY button has nothing to do with the OBJECT INFO window. There is no APPLY button
in the object info window . When you hit APPLY the following happens : Truespace now USES 
the new PROJECTION PLAIN you set up with the OBJECT INFO window and the the UV-Space
of the object gets changed. That should be clear enough.
- then select PAINT FACE

Directly after having selected it , TS will paint the faces
Oh, you dont see anything , right ?
Thats because we still have the default texture selected , and that one is already 
shown with "DRAWN AS SOLID". Now we will select a texture map. There should be a new 
windows called "SHADER ATTRIBUTES , MATERIALS ; SHADERS". If not , you can open them 
via right-clicking on PAINT-FACE

Now I explain these windows first :
1. SHADER ATTRIBUTES shows 12 little spheres , well , actually there are only 4 bars 
   where you can choose settings for ambient glow , diffusion , roughnesss , whatever ..
   You see the 4 bars , with 3 spheres each ? just put the mouse in there and click . 
   Move the horizontal thing in one of the bars up and down.
   This sets how the textures are shown in TRUESPACE when RENDERED and 
   how they are drawn as solid. It has no effect on how they look in Freespace2.
2. Next thing is material : this is an info window which shows which texture map is 
   selected .
   - left click to change view to quadratic and back to spheric ...
3. Next is SHADERS . 
   There are 3 little icons to the left and 4 bigger spheres
   faceted is how smooth textures are layd over several frames , I guess.... 
   not important . The rest is not important right now , except :

Important here is the big UPPER LEFT sphere of SHADERS
- LEFT CLICK , a new window opens named COLOR.

The entries are all materials . These are default textures with special and unique traits.
They are nice to set up scenes with Truespace , but FREESPACE doesnt know these materials.
Therefore we cannot use them . We exclusively use TEXTURE MAPS . So :
- click on TEXTURE MAP . Then texture maps is activated.
- Now right-click on the big upper left sphere. Now the TEXTURE MAP window opens.
  Remember ? Right-clicking always opens windows , left clicking opens menus.

Then in the TEXTURE MAP window you can select the texture maps themselves.

A word to the textures :
--------------------------
1. In TS you should use 16m color Bitmaps .
   During the texturing process you will edit the textures with a paint programm like 
   PaintShopPro7. Therefore let them be 16m to assure high quality.
   Later , when EVERYTHING is completed we convert them to PCX and reduce to 256 colors
   so that FREESPACE 2 can use the textures , but that's not for now.
2. The size of the texture map should be quadratic , like 32*32 , 64*64 , 128*128 ,
   256*256 , 512*512.
   This is because the maps are resized if they are not like that from the beginning on.

Now lets repeat the thing with the projection.
- select UV PROJECTION PER FACE
- select a few faces
- hit APPLY
- and now click on PAINT FACE

You will see that the selected textures are painted with the choosen texture map.
Well, perhaps you selected too few faces and you only see a small part of the texture map,
but it should work . If you still see bright white - I am always frightened when I see 
White :) - or deep black play around with the SHADER ATTRIBUTES and repeat the process.

Note : you can select paintface on its own, choose texture maps, set shaders and paint 
       faces on your own , but this is not very professional. It works but it is pure
       luck if it leads to satisfying results. 

A word to the TEXTURE MAP window :
------------------------------------
There , you do not only select the texture map , you also select REPTS and OFFSET.
REPTS : The REPTS default setting of U und V is 1 , that means that the texture map just
        fits in the projection plain.
        The higher the setting , the more often the map is repeated to texture the faces.
OFFSET: Offset simply means a shift of the texture on the surface. 

We will try out both :
- goto FILES and make a NEW SCENE
- make a primitive : a cube
- do the steps described above to select TEXTURE MAP , and then pick a texture map you
  want, I suggest you take the TESTPIC.BMP
- click UV PROJ 
- select CUBIC UV PROJ and hit apply 
- now set U Repts and V Repts to 1 , offset to 0 in the texture map window ( default )
- click PAINTFACE and click a face of the cube.

You will see the applied texture map.
- now we set U Repts to 2 . Click on the number , delete it with BACKSPACE and enter the 
  new number, the 2 . This is easiest way . 
- click the face again.
- now set V Repts to 2 . 
- click the face again . 
- Play around with other values . 

Now Offset . Set different offset values from -1 to 1 and click the face again .
Play around with it . You'll see what's the deal with OFFSET . Offset only shifts textures.

Note : 
You may be willing to use REPTS < 1   together with OFFSET to zoom in on certain areas
of a texture map. Don't do this !   It works in Truespace but it doesn't get converted 
to Freespace 2 correctly . That's because we have a bad cob-to-pof converter.
The grafics will be messed up. So , never use REPTS < 1 . 
Later , you will learn how to bypass this problem.
Currently there is a new cob2pof converter under construction that supports REPTS<1.
Therefore I will mention this method as well, but I don't know if it will be ready soon.

OK. Now we will see how paintface works together with uv-proj per face.
- make new scene
- make a sphere
- rightclick paintface 
- and now select a texture map. You now the procedure . 
  Remember : texture map has to be choosen in the upper left sphere of shaders !
- now pick UV proj per face and select some faces
- hit apply .
- now click PAINTFACE 

You will see that Truespace automatically paints all previously selected faces and you 
don't have to do that on your own. 

Very well, now we will test out the other projection types. 
- Make new scene 
- create a cube
- Select UV PROJECTION 
So we texture all faces and don't have to select them one by one.
- Now we select CYLINRIC PROJECTION in the UV MAP window. 
- Click APPLY and PAINTOBJECT.
- Well , play around with other Projection types ( and settings in the OBJECT INFO window )
  and you will surely notice there is not much to say about these things. :)

----------------------------------------------------------------------------------------
You already know pretty much . But before you can REALLY start texturing , we have to 
look at other applications , too . 

Make a new scene and load one of the models that have to be textured . Take the cob-file
included in this tutorial pack , it is the atmospheric shuttle of the EA.
We have a textured AtmosphericShuttle , so this one is just to try things out . 

Reminder : 
----------------
File formats :
- scn : A truespace scene .
In general a scene is a complete setting with several objects and other stuff. A scene can
be a complete setting with several objects , even with motions and animations. So , a scene
could even be a complete cutscene and can contain lots of animations.
- cob : A truespace object . cob is short for Caligari OBject.
An object is just ONE object, like a ship. 
However, this "object" can contain several lods and the things like turrets and so on. 
- POF : The format the 3d-models in Freespace2 have
It is pretty irrelevant if you save your models either als COB or as SCN , the converter
that makes them POF-files is capable of recognizing both formats. So , if you are not sure
always save as COB to be sure. 

So : 
- load the atmospheric shuttle.

Let TS draw the object as solid.
looks weird , hmm ? That's because you see all lods at once. The shuttle has 4 lods that 
are all in the same place. Stay cool , that is no problem.

Don't bother , we do this step by step.
now click on the "truespace eXtensions" icon.
now click on TRUEVIEW HIERACHY EDITOR.

A small window opens. Its the TRUEVIEW window.
- click somewhere in the window ( to update it - A truespace bug. )

A few words to TRUEVIEW and the HIERACHY :

WHAT IS THE HIERACHY ?
Well, lets assume we have a human as a 3d object and the bones are all small
3d-objects. 
These 3d-objects are standing in a hierachy. 
In a hierachy the objects are equal to others , above or below them.
In general : If you change the properties of an object this also affects the
objects that are lower in the hierachy . If you move your left arm this also changes
the position of your left hand. But you can move your hand without
moving your arm.  Understood ? So , your left hand "belongs" to your left arm.
In Truespace the vessel also consists of several objects that are in a hierachy.
Actually you may still be confused about this HIERACHY thing but that doesn't matter.
There is only few to know about it and this will be explained.

Take a look at the Trueview window : 
There is a globe with the word "Scene".
Then there is a "+" sign with "DETAIL0"
This is the shuttle with all its lods and whatever . 
We call this a "group" , for there are several objects in there.
Then we have 4 lights . Lights are not important for us , so never touch them !
 - click on the "+" sign and you will see the details.

Now you will see the following : 
- a grey cube which is called "body" . This is lod0 of the shuttle . 
- debris01 , ... , debris05 . That are 5 little objects serving as wreckage when the
  shuttle gets destroyed.
- detail1 , detail2 , detail3 . These are the other lods of the shuttle.

Now do the following : Instead of DRAW OBJECT AS SOLID select DRAW OBJECT AS WIREFRAME .
Now you will clearly see the lods and the debris as wireframe . Well, more or less clearly.
now click on "body" in the trueview window . a simple leftclick . 
Now click on debris01 , then debris02 and so on .
You will see that Truespace automatically selects the clicked object and draws it WHITE , 
while the other objects are shown with ORANGE lines. As well TS updates the values in
the OBJECT INFO window ( I hope you have it open ! Remember ? Open it via rightclicking
on OBJECT TOOL Icon )

Well, a few things you have to know about trueview :
1. When are working on a lod ( for example ) you have to take it out of the hierachy.     
   Otherwise nothing will work . So , lets say we wanna texture lod0. click on "body" ,
   hold down mouse button and move it to the globe with "SCENE" behind it.
   This puts the lod 0 out of the group. When you have finished texturing it you can put
   it back.
2. If you click on a (+) sign you can open / close the "folders" in the group. Well , if 
   you try to drag an object out of the scene which is in such a folder , like "BODY" in
   "detail2" you will see that the "detail2" folder parishs ! Uh , thats not good. Well,
   what can you do to prevent this ? For example , you can create a primitive ( a cube,
   a cylinder or whatever. This primitive will also appear in trueview ( but you have 
   to click somewhere in the TRUEVIEW window ). You can drag it
   in the folder where the object is you want to put out of the group for texturing. When
   you put the object back you can delete the primitive as if it has bever been there.
   Lets try it : 
   - new scene , load the shuttle again.
   - create a primitive . 
   - in TRUEVIEW drag and drop it in the detail2 folder.
   - now take the "body" in detail2 out of the group ( via moving it over the globe with
     scene ) The group "detail2" is still there ! Now , lets assume you have finished 
     texturing the thing , put the body back into "detail2"
   - now delete the primitive . click it in trueview and then click the red cross in the 
     top menu of the trueview window. That will delete the cube and everything is as it
     was before.
3. When you make any changes to the model like deleting objects , or if you load a new 
   scene you have to click somewhere in the empty space of the TrueView window to update 
   it. Otherwise the info shown there might not be actual. This bug I've mentioned before.

In fact , we use Trueview exclusively for these actions ! Take objects out of hierachy so
we can texture them and put them back where they were. But we also need the object info 
window. That was the general idea, this is the complete procedure :

- new scene : load the shuttle again
- make primitive , put it in the detail2 folder so the folder doesnt parish when we pull
  "body" out of detail2
- put the body in detail2 out of the hierachy. You know how.
Despite this action the other objetcs ( lods, debris ,.. ) are all at the same place 
so you can't see anything . To texture the object you just have taken out of the hierachy 
you have to move all the other shit away :
- click on the group ( "detail0" directly under the "body" we pulled out ) 
  now the group is selected and the OBJECT INFO window applies to it.
- in the object info window , click in the Y-cell of LOCATION , move the cursor at the end
  of the value and type "+2" , then hit RETURN or click another cell to apply the change.

You will see that the rest of the shuttle ( all except the lod we have taken out of the
hierachy in the last step ) has moved a distance. Good ! Lets move it further.
Add a "+18" to the same cell , this should move the rest of the shuttle away so 
it is out of sight. ( if you are at close zoom ) . So we have shifted the shuttle 2 , then 18 in y-direction. That means we have a total shift of +20. 
Actually you could have shifted it -20 as well , or in X direction. That doesnt matter.
The only thing that counts is that the group is out of sight so it doesnt disturb when
texturing the "body" we took out of deatil2 and we are able to put it back
in the EXACT location where it was. Anytime.

Now comes the whole texturing process. Lets assume we are ready with that and now we wanna
put everything back : 
- select the group in trueview 
- click on the y-location cell, move the cursor to the end of the value and add a "-20" 

Hit Return and the group should now be where it was at first, coz +2+18-20 = 0 

- now in TrueView move the lod we textured back in the group in the detail2 folder.
- the last thing is we select the cube and delete it. we dont need it anymore. Finished !

That's the way I do it. Actually , you can save the lods you wann texture into files,
texture them and then put them back where they are , but I find that is quite complictated.
Well , that was all you have to know about TrueView.

-------------------------------------------------------------------------------------

THE UNWRAPPER :
---------------
The UNWRAPPER is a tool that helps you to make texture maps with a paint program.
Let's assume we don't have any textures , but we wanna texture a certain vessel. For 
example the Sentri Fighter of the Centauri. The Sentri is a small vessel and you could 
texture the whole thing with one map from above. Well, most of the faces at least.
So this means you have to make a picture of the Sentri from above which you can use as 
texture map. But the problem is, You cannot know exactly WHERE the cockpit is , where the
wings start and end. And what is the EXACT shape the texture map has to have. Right ?
So, the Unwrapper helps you to make textures that are in PERFECT alignment with the shape
of your vessel. 
In the beginning we have installed the UNWRAPPER extension . You will now learn how to use
it. The idea of unwrapping is the following :
- You select UV PROJ PER FACE  
- you select the relevant faces and set the correct position for the PROJECTION PLAIN.
- Then hit apply.

NOTE : So far the procedure is exactly the same you use when you have a texture and want 
       to TEXTURE via the UV-PROJ-PER-FACE & PAINTFACE method you already know.

But instead of clicking PAINTFACE we click UNWRAPPER in the Truespace extension window.
If we had a texture map we would project the map from this specified angle perpendicular
to the projection plain onto the surface of the object, or to be precise onto the selected
faces. 
But the Unwrapper does the opposite thing :
We have no texture map. But the edges of the selected faces are projected perpendicular 
onto the PROJECTION PLAIN . Like this the Unwrapper creates a BMP ( you can select the
resolution ) This BMP consists of a white background and black lines which are the
projected edges. So, you can use this picture the unwrapper produces as a reference to
make the texture map. 
So , if you use this unwrapper-image ( we call it a UV-map ) as a texture map and project 
it on the same faces you took the UV-map from and from the same angle you will see that
the black lines are lying exactly on the edges of the faces. 

Well, we will now do this step by step. 
You now know the theory , but there are some other aspects .
- create a new scene.
- create a primitive. we will take the cylinder.
- Now make the following. Select UV PROJ PER FACE and delect the upper face of the 
  cylinder.
- now rotate the view a bit so the entries in the OBJECT INFO window are updated.
- set the x,y and z values of ROTATION to zero.
- now hit APPLY.
- And now click UNWRAPPER

Now the Unwrapper opens. Make sure "CROP AUTOMATICALLY" is activated ( otherwise you will
only receive shit ) and "GRADIENT COLORING" is deactivated ( otherwise the lines will also
have other colors. Useless and confusing ) In the right window you should now see a preview
of the unwrap image , roughly a circle.
Then you can set the Export Resolution. Normally you should set a high resolution ( you can
downsize with the paint program if you feel so ) like 512.
Then you can Export the Bitmap and save the pic somewhere.
The UNWRAP SELECTED button is used to get the new unwrap picture after you eventually 
changed the projection plain or selected other faces. UNWRAP SELECTED is automatically
executed when you open the unwrapper.

- Close the unwrapper. 
- Now hit cancel , then click
- UV-PROJ PER FACE again and select all the faces of the side(s)
 
Instead of using cancel and selecting UV Proj Per Face again you could have also deselected
the top-face via rightclicking it and then directly select the other faces.
- Use Unwrapper again.

What's that ? Well, this is a special "trait" of the Unwrapper. It is not a bug , but for
us it is as disturbing. You see new vertical lines , the edges of the cylinder we wanted to have the UV-map for. So far , so good , but the circle of the first unwrap image is still
there ! This effect always occurs when you have selected other faces for the unwrapper.
For example, If you just shift the projection plain and make another unwrap image the
old picture won't be there. 
Well, we wanna have our UV-maps on a white background with no leftover-shit. 
So we have to delete these rests somehow. 
We will do that now . This is what we call "to clear the UV-space"
OK , listen up : 
- select UV PROJECTION.    ( NOT uv-projection-per-face !!!!!!!!!!!!!!!!! )
- now set x,y and z value of ROTATION to ZERO.

The projection plain is now parallel to the grid. 
Now we move the plain away from the object , so that there is nothing in the way of the
plain.
- enter 1000 in the x or y cell of LOCATION. ( not z , that wouldnt work , of course )
- hit apply.

Well, you could have also entered 100 or 23785 , that's not important . the only thing 
that matters that there is NOTHING in the way of the plain , that means perpendicular
to the surface of the plain.
Now the UV-space is cleared. That means the next UV-map you make will have a nice blank
background of pure white.   :)
- Now take UV PROJ PER FACE , select some faces and make another unwrap image.

You will see that there are no longer any rests that mess up your UV-map. If this problem
occurs again ( when you wanna make another UV-map ) you will have to clear the UV-space 
again.

******************************
*    !  W A R N I N G  !     *
******************************
Eventually you will encounter this problem : You have textured half of your vessel when 
you notice that you have forgotten to make an UV-map of a certain region.
To do this you have to clear the uv-space so can make a proper UV-map. 
But when you clear the UV-Map you use   UV PROJECTION  !
This means EVERYTHING YOU HAVE DONE WITH UV-PROJ-PER-FACE earlier gets lost !
( I mentioned this in another chapter where I explained UV-SPACE )
You loose all your texturing work if you clear the UV-space !

So I suggest you make a copy of the mesh you texture .
One mesh gets textured and the other one is only used to make UV-maps .
Like this you are prepared for such an event. 

Lets try to make a REAL UV-Map for practice. 
- New scene 
- open the atmshuttle

Now lets assume we wanna texture lod0 of the shuttle , and lets us further assume we
wanna start with the left wing. So , what do we do at first ?
Right ! Open TrueView and pull "body" out of the group , It is the body in the main 
folder , so we don't have to create a primitive to hold a folder open. 
- After you out body out of the group select the group in Trueview and move it away via
  entering +30 ( for example ) in the x or y cell of location in the OBJECT INFO window.

So , now comes the part you have just learned. First, clear the UV-space. 
- Select UV-PROJ , move away the projection plain, ( again a +??? to location , now that
  the object info window applies to the plain ) and hit APPLY.

Ok, now take the unwrap-image :
- Select UV-PROJ per face
- select all the faces of left wing. The ones from above are sufficient now.
- set the x,y and z value in ROTATION to zero.
- Hit APPLY
- Select the unwrapper , select CROP AUTOMATICALLY , deselect GARDIENT COLORING, select
  the Export Resolution 256 and save it. The UV-MAP should look like the uvmap.bmp I 
  included in this tutorial package.
- Now comes the work with the paint program. In the end it should look like TEXTMAP1.bmp 
  This one is also included in this package. Note that the shapes of the UV-map and the
  texture map are identical , as it should be.

Now we will apply the texture map ( which we created with the UV-map as reference )
to the model. Are you ready ?

- Select UV-PROJECTION PER FACE , 
- select the same faces of the wing again , 
- enter 0 to x,y and z of ROTATION , so that the plain is in the exact same position it 
  was when we took the UV-Map. 
- Hit apply
- make sure the texture map TEXTMAP1.BMP is selected and that TEXTURE MAP is selected in
  the window you open with the big sphere in the upper left of the SHADERS menu. You 
  should remember that. So , when the texture map is selected ,
- hit PAINT FACE.

This should texture all the selected faces of the left wing of the shuttle. It should look
fine.

Now we have made everything from preparing the model in Trueview, taking the unwrap image 
and applying the texture in Truespace. So far so good. Now you could proceed on your own.
For example you could make an UV-map of the main hull.

But lets try something different. Now you should try to texture the other wing of the 
shuttle. You can use the texture as well. So , how do we texture THIS wing which is the
mirrored version of the left wing ? 
OK , 
- select UV PROJ PER FACE 
As usual , if there are still faces selected , then hit CANCEL and select UV PROJ PER FACE
again. 
- now select the faces of the other wing , the right wing this time.

The texture map was specificly designed for the left wing , so we cant use the old
0, 0, 0   for x,y and z values of rotation. The lower left of the texture map is the 
sharp end of the wing. You see it when you have a look at the texture map , the BMP-file.
So we have to rotate the projection plain that the organge-organge corner is also where 
the sharp end of the wing is.
So , if you rotate the Projection plain by 90 degrees this will be the fact.
So , let the rotation values be  0, 0, -90
- Hit apply and click PAINTFACE.

Well, something is still wrong. There is only a small part of the wing texture visible,
the rest ist black. The map seems to be rotated by 90 degrees though the lower left 
corner of the texture map is in the right position . How can this be ?
Well, the solution is that we are projecting in the wrong direction. You remember what
I told you about the small orange line perpendicular to the projection plain ? The one in
the corner where the 2 orange lines meet ?
Think of it ! We have to project the texture from BELOW ! At first it may be strange coz
we have selected the faces on the top side.
But actually it is irrelevant if you are projecting "through" solid matter. The only thing
that counts is the position of the plain and what faces are selected. In fact , if we come
back to our slide projector , the light rays that emerge from the projection plain go in
BOTH directions. not in one. But the orientation of the plain is relevant. 

Take a look at the small orange line in the orange-orange corner of the projection plain.
The little orange line perpendicular to it points downwards.

You can find out yourself , but the correct values for the projection plain are
180, 0, 180 for x,y and z in ROTATION.

- So, select UV PROJ PER FACE again , make sure the right faces are selected and enter
180,0,180 to x,y and z ROTATION.
- hit apply.

Note that the orange/orange corner of the projection plain is again in the same position, 
but the little orange line perpendicular to it now points UPWARDS !
That is a very delicate difference.
- Click PAINTFACE

Now the right wing should also look fine.

Actually , have you selected ALL faces of the wing when you textured it ?
If not , do it now and start over with the left wing. Texture it again but this time 
select ALL faces of the wing. Like that both sides of the wing are textured at once. 
Actually each light ray that emerges from the projection plain hits 2 faces. One face on
the upper side , one on the lower side of the wing. Works fine , indeed !

When you are finished lets have a look at your work .
There are 2 ways to inspect your texturing work.
1. Draw object as solid 
2. Render object on screen :
   Its the button directly right to DRAW OBJECT AS ....
   Hold it down and select RENDER CURRENT OBJECT . 

Actually I prefer method 1.
It is closer to the look you can expect in Freespace2 , it is faster ( rendering may take 
time ) and sometimes Truespace crashes when trying to render . Has something to do with 
where the object is standing in the hiearchy , don't know exactly.

BUT : DRAW OBJECT AS SOLID seems to malfunction when trying to show faces that use 
      REPTS < 1  , in some cases you have to use RENDER OBJECT to have a look at the
      textured vessel.


--------------------------------------------------------------------------------------
IV.  ADVANCED METHODS
--------------------------------------------------------------------------------------

Okay , now we will come to advanced methods.
Take a look at the TEXTMAP1.BMP , it is the texture map for the wing of the atmospheric
shuttle. The wing itself is not very broad , and all these black regions in the texture
map are waste of memory. They consume valuable memory but are completely useless. 
Therefore we use MULTITEXTURING per file. Instead of using a texture map for each texture,
we use as few maps as possible and put the textures together in single maps. Take a look
at TEXTMAP3.BMP . This is another texture map. It also contains the wing of the atmos-
pheric shuttle, but the black space in TEXTMAP1 is here used for other textures as well !
That is efficient ! These textures would require additional memory if they had their own
maps. 

So , how do we use MULTITEXTURING PER FILE ?
At first , you use a paint program to put the textures together in a map. Somehow. It is
irrelevant, just find a way to out as many textures as possible in a map so that there is
no memory wasted. 

Now , here comes the part that describes what you have to do in Truspace :

Method 1 : The REPTS<1 METHOD
-----------------------------
WARNING ! This Method is currently NOT supported by our cob2pof converter. Kazan is 
working on it and you should inform yourself about the progress of the converter.
I will describe the method now because it is the easiest method to perform multitexturing
per file. As soon as it is fully supported you should use it.
Lets test it.
The idea of this method is to zoom in on the relevant texture in the multitexture-map.
Lets try it.

- Create a new scene.
- Make a primitive , a cube
- now select the texture map "TESTPIC.BMP"
- you should see the texture map in the MATERIAL window.
- Now use REPTS and OFFSET in the TEXTURE MAP window to zoom in on TEST AREA I.
  Try yourself , the right values should be something like
    U Repts : 0.5       U Offset : -0.164
    V Repts : 0.35      V Offset : 0.134

HINT : Deactivate FLT in the TEXTURE MAP window. That deactivates this anti-aliasing and 
       makes it easier to zoom in on certain areas of the texture map. You should always
       deactivate FLT , coz this has no effect on how the textures look in Freespace2 and
       just makes the texturing process more complicated.

- then you can select UV PROJECTION PER FACE and select the face ontop of the cube
- hit apply and PAINTFACE.
- You should only see the TEST AREA 1. At least when you render it.

Method 2 : The stretched-projection-plain method
------------------------------------------------
This method is MUCH more complicated. In fact you need a calculator to make several 
calculations. 
The idea : We don't touch REPTS to avoid the bug.
OK , now we try the same , we try to texture one side of the cube with TESTPIC.BMP 
Well, to be precise we just wanna have the TEST AREA 1 on the cube. 
We don't want to use repts<1 , so we do the following :
The size of the projection plain is adapted automatically adapted by TS. In the repts<1 
method we just used offsets and repts to zoom in on the relevant part of the texture map.
Now , we use offset as well, but instead of using repts to zoom in on the map we use 
formula calculations in the object info window to enlarge the projection plain.

For example , it is irrelevant if you use U Repts 0.5 and V Repts 0.2 , or if you enlarge
the projection plain 2 times in x direction and 5 times in y direction. So , when you 
know the relative size of the texture in the whole multitex map ( here : 0.5 and 0.2 ) 
you can directly calculate the correct multiplicators for the size of the projection
plain. Here : 1/0.5 = 2    and    1/0.2 = 5
 
Did you understand that ? Lets try it out.
- open Ts
- make a cube
- texture the upper side of the cube via UV-PROJ-PER-FACE with the TESTPIC.BMP

Now we try to texture the upper side of the cube only with TEST AREA 1.
So 

Ok , now at first a little bit of theory : Even if you know the exact size of the 
projection plain you still have to move around the plain so that the relevant part
of the map is just exactly falls on the cube . So , moving around the plain can be a
pain in the ass. But things are MUCH easier if the relevant part of the texture map is
in one of its corners , right ? Therefore we use Offset to move the texture in the multi-
texture map in a corner.
Tu sum up : You have to use offset to move the texture you need in one of the corners of
the texture map , you have to know the correct multiplicator to enlarge the plain.

This is an elegant way to do this :
- deactivate FLT in TEXTURE MAP window and use REPTS and OFFSET to zoom in on the 
  TEST AREA in the MATERIAL window. 

Do you remember : The solution was 
    U Repts : 0.5       U Offset : -0.164
    V Repts : 0.35      V Offset : 0.134

So we have TEST AREA 1 . But we don't texture , we did this only to get the right values
for 0.5 and 0.35 . We see that these values are the correct zoom factors for THE texture
of the multitex map we wanna use. Keep them in mind. 

- Now Enter the original REPTS values 1 and 1 . We keep the offset value.

Now we have the original repts =1 but we already have the correct offset. We see that the
texture ( test area 1 ) is in the upper left corner of the map. So far so good.

- Now click UV PROJECTION PER FACE again and select the upper face of the cube.
- rotate the view so the values on the object info window are updated.
- Now , LOCATION is 0, 0, 2
  ROTATION is 0, 0, 0
  SIZE is 2, 2, 0.2

Note: ( this may confuse you that the plain has a Z size . Actually you are right , it 
hasn't , but the small orange line in the orange/orange corner perpendicular to the plain 
has a length of 0.2 which is indicated here . So ignore it )

- Now we enlarge the plain . We use formula calculations. Divide the values X-size and
  Y-size through the repts values : 
  in the OBJECT INFO window go into the X-SIZE cell , move the cursor behind 
  the 2.000 and write "/0.5" behind it. This changes X-SIZE of the plain.
  Then add a "/0.35" to the Y-SIZE cell to change Y-SIZE.

Now we have the correct size for the projection plain. Remember ? The texture we wanna 
have is TEST AREA 1 which is in the upper left corner or the texture map. That means now
we have to move the Projection plain so that the upper left corner of the plain is just
where the upper left corner of the face is.

You can do that manually : 
- rotate the view so that you are looking straight downwards on the plain and the cube.
- Now move the projection plain manually : simply click somewhere on the screen and hold
  mouse button, but be careful that the mouse is NOT in front of a face . So click in 
  empty space , hold mouse button and move the plain so the upper left corner of the
  projection plain is exactly where the upper left corner of the cube is.
- hit APPLY.
- then PAINTFACE . 

If you have done everything right you will see that TEST AREA 1 perfectly covers the top
face of the cube.
Lets sum up this method : 
- Set offset , 
- adjust REPTS so the texture fills out perfectly the MATERIAL window.
- Keep REPTS values in mind and set REPTS back to 1
- UV PROJ PER FACE
- Divide the relevant values of SIZE ( here : x and y ) though the repts values you had
  to remind.
- Move Projection plain so it is in the right position.
- texture .

Note : A word to the right position of the projection plain.
------------------------------------------------------------
Here it was easy to determine the right position of the projection plaine . We only had 
ONE face and that face was a flat rectangle. But what if we have selected several faces ?
What if these faces are not in a plain ? if they make up a complicated shape in the
3d-space ? 
1) Most likely there will be no upper left corner of the selected faces.
   In most cases you have to draw a box around all fases in your mind. the upper left 
   corner of the projection plain has to be where the upper left corner of that box is. 

2) Here is was the upper left corner , actually you can also use offset to move the 
   texture in another corner of the multitex-map and use that corner of the projection
   plain as well to complete your task. but for determining the REPTS value you have to
   move the texture in the upper left corner. So , why move it in another corner if we
   already have it in a corner ? So , always use the upper left corner , for the 
   projection plain as well for the imaginary box.

3) Then there is the problem when you have selected several faces ( as usually ) they
   make up a complicated shape. Now it may be difficult to find the right position of
   the projection plain. The problem is to find the right perspective so that you can
   easily move the projection plain in the right position.
   That is one reason why I urged you earlier to texture from directly above , the front 
   or the side.
   In the 2d-bar we have the DRAW OBEJCT AS .... icon.
   Directly right to it there is the RENDER botton and then comes
   PERSPECTIVE VIEW . Click it and hold down mouse button. Instead of the perspective view
   we are used to you can also select other perspectives .
   There are 
     PERSPECTIVE VIEW  ( the one we know )   
     TOP VIEW   ( from above )
     LEFT VIEW  ( from the side )
     FRONT VIEW ( from the front )

4) Unless the STRETCHED-PROJ-PLAIN method the REPTS<1 method also supports
   cylindric, spherical and cubic projection. Well , you should know why these can't be
   used with the stretched plain method.

   Notes : 
   - Top, left and front views don't support the "MOVER" . You cannot rotate view
     as in perspective view. But you will be able to position the projection plain without
     problems. 
   - Dont forget to have the right ROTATION values for your projection plain. 
     When you use top, left or front view you should use -90,0,90,180 for the x,y and z
     values of rotation.

-----------------------------------------------------------------
Now we had the REPTS<1 method and the stretched-proj-plain method.
Well , we are nearly finished.

Some comments :
-----------------

1) MIRRORED TEXTURING
------------------------
There is another method we call "mirrored texturing".
This "method" is nothing but a special way to perform multitexturing per file :
Lets assume we wanna texture a F16 fighter . It consists of a rougly cylindric middle part
and the two wings. 
Now the idea is the following : The common mutlitexturing method would mean to have 1
texture map with 2 textures : the wing texture ( for both wings, remember the atm shuttle )
and the middle part of the vessel.
MIRRORED TEXTURING only uses 1 map with one texture , but this texture shows the middle
part AND one of the wings. So , you texture both wings as you know it from the shuttle , 
but each time you texture the middle part as well. Actually the first texturing of the
middle part is irrelevant , the textures are "overwritten" , but in the end everything
will look fine . 

- What is the use of MIRRORED TEXTURING ?
Actually , you could use the common multitexturing per file , but for the reason the wing
and the middle part are ONE texture you can assure that there are no ugly transitions 
between each wing and the middle part. if the textures are not very good those transitions
can occur when you use the common multitexturing method.
However , this method requires that the area of the texture that stands for the middle 
part is SYMMETRICAL . At least at its borders. This should be logical.

2) A Truespace bug we encountered :
-----------------------------------
In the early stages of texturing Eternal One discovered a strange bug :
When using DIRECT3D some of the textures seem to be shifted to the right by 1 pixel, as if
you had used a small but inappropriate offset. In TS the thing looks fine , but in FS2
the bug is visible.
Whenever you encounter this problem you should texture the region again , if the problem 
persists you can compensate via using an additional negative offset. ( U Offset )
Note:
  1) This texture shift , if it occurs , is a shift of 1 pixel. So, if you have a 512*512
     texture the shift will be barely noticable, but if you use small textures like 32*32 
     you will see it clearly.
  2) A hint : when you make the texture maps there are always areas that
     are not supposed to be shown, the space between the textures. To safe memory these 
     areas should be small , the smaller these areas are , the more efficient is your
     multitexturing per file. But what about this unused space ? In theory you could
     leave these areas white , black , green , red or whatever , but when we have this
     texture shift bug there is also little of this "unused" space visible on the surface.
     So , I suggest that this "unused" space in the texture map should be DARK or have the
     color of the texture map near to it. You should assure that even IF this texture shift
     appears it is barely noticable. 

3) A word to creating texture maps
----------------------------------
Actually there is no way to write a tutorial how to create textures in a paint program.
At first , OUR way to make textures is that we take rendered pictures of the vessels.
We treat these pictures , cut out regions and use these regions as textures.
We also take generic textures and treat them to create complete texture maps from scratch.
Sometimes making textures is just like playing puzzle. You grab small pictures here , you
treat them , you insert them there. You use the tools the paint program offers and with
the time being your texture map gets better and better.

4) Antialiasing
----------------
Something you have to know . I encountered this with the stretched-projection-plain 
method : when you calculate the size of the projection plain you should make the plain
a LITTLE BIT bigger. The reason is that due to antialiasing the colors of the pixels at
the borders of the texture might be mixed with the colors of adjacent pixels . Pixels
that might have completely different colors. This could cause an unpleasant effect.
You have to see if that is the case.

5) THE CONVERSION PROCESS
-------------------------
Actually I don't know how to convert a vessel to Freespace 2 , how to add gun and missle
points and so on. I leave this work to the specialists. But I can tell you how you can
import your model FAST to Freespace 2 to have a look at it.

I will now describe how you can replace the cargo crate ( TC 2 ) so you can have a look.
1) convert all the 16m BMP textures you used for the vessel to PCX format with 256 colors.
   Put these PCX files in the \data\maps folder.
2) use the pof2cob converter provided in this package to convert your WIP-cob into the
   POF format Freespace2 uses. ( WIP = work in progress )
3) put the POF into the \data\models folder in your Freespace2 directory and rename it to
   CARGO02.POF
   
Well, in fact your model is ready by now , but to have a clear look at it I suggest you
use a mission without disturbing events or other vessels :
the mission TEXTURETEST.FS2 , also included in this package , allows you to have clear
look at your textured vessel. This FS2 file has to be in \data\missions. 
So,
4) Start Freespace 2 and play the mission. 

If you wanna be introduced to more advanced conversion techniques you have to ask
Eternal One , Kazan or other skilled TEAM MEMBERS.

