

                     PANARD VISION REALTIME 3D ENGINE
                          	SDK 0.98b
                        (C) 1998, Olivier Brunet

                              17/07/1998

				
                             RELEASE NOTES
                             =============

        (see history.txt to see changes since last official release)
               (see LICENSE file before using these libs)

0/ Compilers supported
----------------------
        - Visual C/C++ 5.0 for win32 
	- Borland compilers
	- Should work with all win32 compilers (tested with CodeWarrior)
	  If you manage to use PV with other compilers, tell me.
        - Watcom C/C++ 10 for dos
        - GNU gcc for Unices.

0.5/ Users of 0.98 and 0.98a SDK: READ THIS
-------------------------------------------
  Some type names changed in this release, see history.txt. To be able to compile your old
code with the new header files, include the compat.h file at the begining of your
sources. It will map old names, to new names. Your are highly advised to use the new names
for now.
  Additionnaly all struct members and functions that were using Vertexes in their name
can now be accessed using the more correct Vertices in place of Vertexes. The old
names are still available, but you are highly advised to move to new ones.

VERY IMPORTANT: You should recompile ALL your apps working with PV. The 0.98b libs are not 
binary compatible with 0.98(a).

IMPORTANT TOO: You must now use PV_MeshSetupPos() to change the position of
a mesh instead of directly accessing his Pos member. Same with
PV_MeshSetMatrixDirect and the Matrix member.

LAST BUT NOT LEAST: If you use PV with something else than VC under windows
read the memory management paragraph in the doc.

I/ CONTENT
----------
        DOC\
                Contains documention for this release in html, and pdf format.
        SRC\
                Contains released sources of the engine.
        QKREAD\
                Contains sources for the Quake I level driver.
        INCLUDE\
                Contains include files to use PV.
        LIB\
                Contains the linkable libraries (.lib or .a (for linux)) and
                the dynamic libraries  (for Win32 and Linux , as .dll and .so).
	LIB\BORLAND\
		Contains import libraries for Borland compilers.
		(win32 only)
	LIB\FASTLIBS\
		PVISION runtime that may be faster. Not very well tested.
		I'm interested by your experiences. (see note below)
		(win32 only)
        DXKIT\
                Simple and efficient DirectDraw wrapper used by samples.
                (win32 only)
        PVUT\
                Sources of the Panard Vision Utilities Library.
        VIEWER\
                Binary and sample files of the Panard Viewer.
        VIEWERSRC\
                Sources of the Panard Viewer.
        SAMPLES\
                Some samples to demonstrates PV use. See SAMPLES\README.TXT
                for more infos.
	SAMPLES\README.TXT
		READ IT !!!! List of tutorials and what they do.
        PV3DFX\
                Sources of the 3DFX glide driver, if released.
        PVD3D\
                Sources of the Direct3D driver, if released.
                (win32 only)
        GLDRIVER\
                Sources of the OpenGL driver, if released.
                (except dos)
	BIN\	
		Some more or less useful utilities
	3DS2DEF\
		.def file skeleton generator sources. Generates a .def file
		from material definitions contained in a .3ds

II/ INSTALLATION
----------------

 a/ Win32 Users
 --------------

   You will need the DirectX 5 SDK and runtime installed in order
to compile and run the samples (especially when using the Direct3D
generic driver).

   All the makefiles and project files have been generated with VC5.

NOTE: The setup program installs the Visual C runtime and the MFC runtime (MSVCRT.DLL and
      MFC42.DLL) in your WINDOWS\SYSTEM directory, but only if those included with PV are
      more recent.
      The setup program installs all the PV runtime in WINDOWS\SYSTEM.


 b/ Linux/SunOS Users
 --------------
   LINUX: This is an elf-i386 release.
   
   IMPORTANT: The header files use a C's union construction that gcc/pgcc 
   doesn't support in C mode. I compiled all these stuff in c++ mode, that
   is with the -x c++ flag on the command line. 
   You MUST compile the .c files that includes PV headers, the same way or
   you will get errors.
   Files are not C++, but the c++ parser is able to support such unions 
   (without name). The name mangling generated for functions is not the same
   than for C mode, hence the need to compile in C++ where PV functions are
   used.

   If you want to use the dynamic libraries copy the *.so files from LIB\
to a directory containing the dynamic libraries on your system
(/usr/local/lib by example).
Run ldconfig as root to record the newly installed libs.

   Or setup the LD_LIBRARY_PATH environment variable to point where the
libs are:
   (with bash) export LD_LIBRARY_PATH='/home/Login/pvision/lib'
   Other shells will have something like setenv instead of export.

   You will need the X-Window windowing system in order to run the samples.

   The current demo is dynamically linked with MESA-GL 2.5 library. Change
to another GL implementation if you want.

	DON'T FORGET TO EDIT THE Make-config FILE IN THE BASE DIRECTORY TO MATCH
YOUR SYSTEM. This is required if you want to recompile the binaries 
(pre-compiled binaries are in viewer/ and samples/bin/)

   Makefiles are GNU Makefiles.

   You may need to be root to use the 3DFX libs. And remember that the
rendering window MUST have focus under X, otherwise you will not be able
to control the samples and be forced to to a blind reboot. So be quick to
focus the render window when she pop up, or connect a second screen to your
3dfx :)

NOTE: I got some trouble with the GL Driver and Mesa. Everything works great
if I run through the 3dfx-in-a-window trick of Mesa. But if I run in pure
software (only the mesa libs) then nothing is rendered... I don't know if
it's a mesa bug or my gldriver wich is in fault.

 c/ Dos Users
 ------------
   Makefiles are WMAKE makefiles. You will need the Scitech SVGA Kit 6.x from
Scitech Software (it's free) in order to recompile the Panard Viewer and
samples. See the Panard Vision home page.


 d/ All Users
 ------------
   Set up your compiler to look for include files in INCLUDE\ and library in
LIB\ (or LIB\BORLAND\ for borland users).
Look the samples in VIEWERSRC\ and SAMPLES\ to see how the beast works.

   You will need glide 2.4x properly installed to use the native
3dfx driver, and the corresponding SDK to compile it.


III/ NOTES
-----------
  Portals does not support space wrapping a this time (ie the transformations matrices are
NOT modified when going 'into' the portal), but this may come.

WIN32 Users: You should link your applications with the C runtime as a DLL, see
             the doc for more explanations.

III.A/ Direct3D Driver
----------------------
  The Direct3D driver is at beta stage, that's why it generates a pvd3d.log
file each time. If you got any trouble with it *please* contact me describing
the more precisely possible your problem, your hardware config and don't forget
to send me the corresponding pvd3d.log file.
  You can disable the generation of the pvd3d.log, by setting the environnement variable
PVD3D to QUIET (case sensitive).
eg: set PVD3D=QUIET

III.B/ OpenGL Driver
----------------------
  The OpenGL Driver needs a fully compliant GL implementation, It works with
the GL shipped with 95 OSR2, as well as the 3Dfx's GL Beta2.1 and SGI's CosmoGL.

III.C/ 3Dfx Driver
----------------------
  The 3dfx driver has been tested with Voodoo (1&2&Rush) with Glide 2.4x.

RUSH USERS: There is a support for windowed rendering in pv3dfx.dll. Just set the PV3DFX 
	    environnement variable to WINDOWED (case sensitive), either in your shell
	    or in your program (before InitHardware()) like this:
		putenv("PV3DFX=WINDOWED");
	    This feature has not been tested, please report any problems you find.

III.D/ Quake I Driver
---------------------
    There is no level packed with the SDK, so to test it you'll have to extract a .bsp
from a .pak file or create a .bsp with a quake editor.
    The win32 and dos version of PV have an utility named XPAK which is able to extract
files from .pak archives.
    When viewing a Quake level, don't walk 'outside' the level (use collision detection 
feature if you want), or the PVS will become useless and the frame rate will drop.

III.E/ Faster Runtime
---------------------
   There is in lib/fastlibs, a runtime that may be faster. To use it copy the DLL to
your windows\system directory, or to the directory where your app resides.
I'm interested by your experiences about how this runtime is faster (or slower) in 
some parts of the engine.

III.F/ Samples
--------------
   The samples shortcuts for the Panard Viewer are targeted for a resoltuion of 320*200 or
640*480. If your video card doesn't support these modes, the samples will not work. To
correct this, edit the shortcuts/batchfile and use a resolution supported by your hardware.


IV/ Known bugs/issues
---------------------
Some problems occurs with resampled textures in quake levels.
The software rendering of polygons (not triangles) is quite slow. The currently used 
routines are simply too generic. This may be addressed in future releases.
Some problems on some ATI hardware (seems pretty rare) prevents the DirectDraw code 
implemented in DirectDrawEasy to run in full screen 8 bit. If you experience this 
problem, or if you have an idea on how to fix it, please contact me.

V/ Help me
----------

I'm not an artist. So, I'm looking for some cool 3D scene to demonstrates some nice 
features of PV. So if you have some nice 3ds near you, contact me.

I'm also looking for a cool editor to fully support, in order to have an
homogenous framework as a base for future advanced features.
The current software which seems interesting are 3dsmax2 (via a dedicated
plugin) and maybe MultiGen's editors (via OpenFlight).
If you know good editors (if they are free and portable that's over cool)
tell me.

VI/ Thanks
---------
Thanks for this release go to:
	Frank W. Fulton Jr. for advises help and test with the borland compilers
	Defee Pawel (aka Armitage) for ATI testing 
	Matt Witherspoon for a great ATI history ;) and a lot of tests
	Arrakis for many DirectDrawEasy test on NT	
        Sanx Giving for the new PV Splash Screen
        Brian Robinson for the San Diego mirror site


CONTACT
-------

You can reach me at: olivier.brunet@capway.com

If you have comments, ideas, found bugs, don't hesistate to mail me.

Panard Vision Home Page: http://www.inforoute.capway.com/brunet3/
(license informations available)



                                                              Oli
