---------
IMPORTANT
---------

DO NOT USE WITHOUT ASKING.

CLICK ON LOGO. ;)


------------------
Using the program
------------------


How to use polygon morphing ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In Short: Draw two polygons and Click "play".

1) Draw two polygons on the screen and click on play button to morph.
2) Click on pause button to pause a morphing in progress.
3) Use the two sliders to increase or decrease the number of time steps or delay between steps.

How to draw a polygon ?
~~~~~~~~~~~~~~~~~~~~~~~

In short: Click - Click - Click - ... - Right click on drawing area.

1) Click anywhere on drawing screen :
	I) Creates a point if there are none
	II) Draws a line between current point and previous point.
2) Right click to end drawing polygon. This automatically completes the polygon by drawing a line between last point and first point.

How to switch to Model animation demo ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In short: Click on the "Logo".

The logo is at left top part of the screen on the polygon morphing screen. It is sort of convoluted to use logo to switch screens. Since the project grew hapazardly, we ran short of buttons. Going back to interface designing in photoshop was not an option ( too tedious ). That is why logo switches screens.

How to rotate models ?
~~~~~~~~~~~~~~~~~~~~~~

In short: Use the "joypad" controls: "up", "down", "right" and "left".

The rotation of models is not exactly up and down or left and right. It is with respect to model space rather than world space.

How to start or stop animation ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In short: Use the "joypad" controls: "play" and "pause".

When the animation is in progress, pause button is displayed and when animation is paused play button is displayed. Their functions are straight forward and will not be elaborated upon.

How to switch models ?
~~~~~~~~~~~~~~~~~~~~~~

In short: Use upper "pipe" buttons: "left" and "right".

Below the "joypad" controls are "pipe" controls. The first of these is model switcher. This can be used to switch between available models.

How to switch animations ?
~~~~~~~~~~~~~~~~~~~~~~~~~~

In short: Use lower "pipe" buttons: "left" and "right".

The second "pipe" control switches between animations. Each Quake 2 model typically stores a lot of different "actions", this control switches between them.

How to go back to polygon animation screen ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In Short: Use "back button" ( left bottom of screen )

The "back" button brings up the the polygon morphing screen. All the states are restored and you see the polygons that you were drawing.



----------------
Troubleshooting
----------------


The screen appears blank ( Some images wont show up )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In short: Take mouse out of screen and back in again.

Make sure that all the imgs/ and imgsmd2/ direcories are extracted. The program doesn't use java's "ImageObserver", hence the asynchronous image loads are not handled directly. So you need to generate a "repaint" message to get all the images on the screen.


I have xyz problem
~~~~~~~~~~~~~~~~~~

In short: You *might* get a reply from us.

Try mailing us at address list at the end ( in contact section ). We may ( 10% chance ? ) reply with a solution.


------------
Information
------------


I've found a bug, how do I report ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In Short: Report if you have a fix, don't otherwise.

We are not maintaining the project. Especially since the program structure is "screwed up". However, if you are a brave soul and fixed the problem, we do accept and appreciate your fixes.

What warrenties do you provide ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In Short: *NONE*

This program is made available in hope that it will be useful. We are in no way responsible if you harm anything/anyone by use of this software. This software comes with no warrenties, not even implied ones ( depending on where you stay ).

I want to use the software for [Put your purpose here]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In short: Ask us

Commercial use of the software is forbidden without explicit written consent from the developers ( see contact section ). Educational and personal use is permitted, but you are required to ask the authors. An e-mail will do. The e-mail ids you can contact are rajesh at rajeshgoli dot com or haridhd at rajeshgoli dot com. ( take care of "at" and "dot" )

The source code seems totally screwed up, I am clueless
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In Short: So are we ;), don't ask us.

The program followed an evolutionary approach to software development. Requirements and features were added as and when they passed developers' minds. Development was done at all odd times ( 1 in the night, after a theory class in college .. etc ). So the source is unstructured ( to say the very least ). If you have any problems with that, *DONT ASK US*.

What software did you use ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~

In short:
	Java Development Kit (JDK 1.3 and 1.4.2 )
	JCreator Evaluation Version ( IDE for Java )
	Photoshop ( Interface design )

Rajesh had JDK 1.4.2 Jcreator 2.5 evaluation Version. Harish used JDK 1.3 and JCreator 3.0 evaluation version. Rajesh ( almost exclusively ) used Photoshop 7 to create the interfaces.

Can I get better/more models ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In short: Buy Quake 2 or go to www.planetquake.com

All quake 2 models are copyrighted. So buy Quake 2 If you want official modes. If you can do with unofficial models, try planetquake.com .

Or you can download a few free models from http://www.rajeshgoli.com/prj/MorphAllModels.exe .Be sure to read each readmes. Each may have different policies. All the models are free for non-commercial use.

What is the software about ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In Short: Read accompanying report.

Polygon morphing uses linear interpolation to smoothly morph one polygon into another. This method is frequently used and is the actual method used in Quake to to produce smooth animations between keyframes.

Model animation uses the same linear interpolation to morph between two keyframes smoothly. A key frame is a key posture of the model. It may have hand half way through, for example. These keyframes are stored in the model, we use this to animate the model.

For more details on md2 models and how to animate them, see http://tfc.duke.free.fr/us/tutorials/models/md2.htm 

Why cant I use the md2 model directly ? What is a jmdl/jaux file ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In short: Java isn't directly compatible with md2 files.

1) Java is big endian, models are little endian. There is a need to convert between the two. We wrote a C++ program to convert models to big endian.

2) Java does not have unsigned types, but the model uses unsigned types. In order to overcome this the unsigned types need to be artificially extended with leading zeroes. The C++ program that we wrote does this.

The models are applied these transformations and stored as jmdl file. The jaux file contains a few extra details such. These include the action information among other things.

Where can I get the md2 to jmdl convert program ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In short: ask us

It is a C++ program and needs to be compiled in VC++ 6.0 . You can write to us in case you need that file.


--------
Contact
--------

Who made this [ put your praise here ex: awesome, cool...] software
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In Short:

	Rajesh Goli  rajesh at rajeshgoli dot com
	Harish D     harishd at rajeshgoli dot com

	www: http://www.rajeshgoli.com

Polygon morphing was basically Harish's idea. Model morphing was brainchild of Rajesh. Coding and testing was done by Rajesh (40%) and Harish (60%). Interface design by Rajesh with Photoshop 7.

