home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Learn 3D Graphics Programming on the PC
/
Learn_3D_Graphics_Programming_on_the_PC_Ferraro.iso
/
rwwin
/
rwvb.tx_
/
rwvb.bin
Wrap
Text File
|
1995-11-14
|
9KB
|
228 lines
RenderWare v1.4 (FCS) Visual Basic Prototype Library Interface
==============================================================
Alpha Version
-------------
Release Notes
-------------
----------------------------------------------------------------------
This software is copyright Criterion Software Limited 1994, 1995.
All Rights Reserved.
This software is furnished under a license agreement or a
non-disclosure agreement. The software may be used or copied only in
accordance with the terms of the agreement. It is against the law to
copy the software on any medium except as specifically allowed in the
license or non-disclosure agreement.
RenderWare is a trademark of Canon Inc.
----------------------------------------------------------------------
----------------------------------------------------------------------
Introduction
----------------------------------------------------------------------
Welcome to the prototype RenderWare Visual Basic API. The BASIC files
included in this distribution implement a sub-set of the RenderWare
API and are intended as a technology demonstration and, importantly,
a way of getting your feedback on what you want from a Visual Basic
interactive 3D graphics library. So if you have any comments on this
alpha release please get in touch with us via one of the mechanisms
listed at the end of this file.
DISCLAIMER
----------
This release of the RenderWare library for Visual Basic is still
considered an Alpha release. Due to the timescales involved,
Criterion Software cannot guarantee to have checked all the calls
contained in this release. If any problems are encountered, let us
know as soon as possible. Fixes are likely to be simple changes to
text files which can be forwarded to you either by e-mail, fax or
snail mail.
----------------------------------------------------------------------
Visual Basic and the RenderWare v1.4 (FCS) DLLs
----------------------------------------------------------------------
As the Visual Basic interface is based on the RenderWare DLL
technology included in the v1.4 (FCS) the restrictions of that
release also apply to the Visual Basic interface. Namely, only a
single RenderWare application (C or Visual Basic) may connect to
the DLL at any one time.
As the Visual Basic interface makes use of the RenderWare v1.4 (FCS)
DLLs these DLLs ("RWX.DLL" and "RWL.DLL") must be located somewhere
on the MS Windows DLL search path. The Visual Basic API may also
make use of the debugging versions of the RenderWare library. For
information on how to use the debugging DLLs see the file "README.TXT"
in the "LIB" sub-directory of the v1.4 (FCS) distribution.
----------------------------------------------------------------------
The Interface
----------------------------------------------------------------------
The RenderWare VB interface consists of 3 .BAS files.
RW.BAS - common defines and procedures for both libraries
RWX.BAS - interface to the fixed point RenderWare DLL
RWL.BAS - interface to the floating point RenderWare DLL
The C data type RwReal is replaced by the VB type Single for both the
fixed point and the floating point interfaces. This is a further
simplification of the previous version. This has a number of benefits;
1) The caller no longer need worry about the format of the data passed
to the DLL.
2) The RenderWare maths functions need no longer be used for
portability between fixed and floating point DLLs.
The main drawback of this approach is that all parameters to the fixed
point DLL have first to be converted from floating point. To minimize
the impact of this, DLL functions that take RwReal's as parameters still
take a Variant in the VB interface. For the fixed point library it will
be quicker to convert from Long or Integer values if no FPU is present.
For the majority of functions, the VB calling convention is very similar to
the C calling convention. Functions that have had their calling convention
modified are listed later.
The main change between the C and VB interfaces is that the following types
are treated as Long handles in VB.
RwCamera *
RwClump *
RwLight *
RwMaterial *
RwMatrix4d *
RwPolgon3d *
RwRaster *
RwScene *
RwSpline *
RwTexture *
A couple of defines had similar names to functions. VB couldn't handle this
so they have been changed as follows;
rwVERTEX => rwSMOOTHSHADE
rwPICKCLUMP => rwPICKEDCLUMP
rwPICKVERTEX => rwPICKEDVERTEX (for compatability with above)
Modified Functions
------------------
The following function has had it's calling convention modified to
simplify calling from VB;
Function ShowCameraImage( Cam, hDC, hWnd ) As Long
ByVal Cam As Long
ByVal hDC As Integer
ByVal hWnd As Integer
The following functions have a parameter of variable type. In each case
this has been declared as type String. Where this is not appropriate it is
up to the user to convert the characters in the string to the required
format. An example of this can be found in the sample program.
RwDeviceControl()
RwGetDeviceInfo()
RwGetSystemInfo()
Functions NOT Supported
-----------------------
The following functions are not supported in this release;
All UserDraw functions.
RwFindClump()
RwFindClumpInt()
RwFindClumpLong()
RwFindClumpPointer()
RwFindClumpReal()
RwForAllClumpsInHierarchy()
RwForAllClumpsInHierarchyInt()
RwForAllClumpsInHierarchyLong()
RwForAllClumpsInHierarchyPointer()
RwForAllClumpsInHierarchyReal()
RwForAllClumpsInScene()
RwForAllClumpsInSceneInt()
RwForAllClumpsInSceneLong()
RwForAllClumpsInScenePointer()
RwForAllClumpsInSceneReal()
RwForAllLightsInScene()
RwForAllLightsInSceneInt()
RwForAllLightsInSceneLong()
RwForAllLightsInScenePointer()
RwForAllLightsInSceneReal()
RwForAllNamedTextures()
RwForAllNamedTexturesInt()
RwForAllNamedTexturesLong()
RwForAllNamedTexturesPointer()
RwForAllNamedTexturesReal()
RwForAllPolygonsInClump()
RwForAllPolygonsInClumpInt()
RwForAllPolygonsInClumpLong()
RwForAllPolygonsInClumpPointer()
RwForAllPolygonsInClumpReal()
RwSetDebugStream()
Samples
-------
As an aid to writing Visual Basic RenderWare applications, a simple viewer
program is included as an example. The files for this are as follows;
RWVBVIEW.MAK
RWVBVIEW.FRM
RWVBVIEW.FRX
RWVBINFO.FRM
RWVBINFO.FRX
The makefile may require editing to change the locations it looks for the
RenderWare .BAS files on your system.
Optimization
------------
All files in this release are stored in text format. Developers may find
that resaving them in binary format speeds up development time.
Final code size can be greatly reduced by taking local copies of the BAS
files and stripping out all unused calls. This can either be done by hand
or by using a tool such as VBCOMPRESS.
----------------------------------------------------------------------
Changes from previous release with 1.35 DLL (DEA)
----------------------------------------------------------------------
The main change that will affect the modification of programs written
with the previous release of the VB Interface is that many of the
parameters and return values to and from the DLL have changed from
Integers to Long values. Also all conversions macros have now
disappeared, along with the RenderWare maths functions. Callers should
now use floating point maths. The VB Interface now uses Single rather
than Variant for many return values, though Variant is still supported
for parameters to the library functions. Callers may wish to change to
using Single for these parameters, though Variants will still continue
to work.
----------------------------------------------------------------------
Technical Support
----------------------------------------------------------------------
In case of any problems or difficulties, please contact:
RenderWare Technical Support
Criterion Software Ltd.
email: rw-support@criterion.canon.co.uk
phone: +44 483 448822
fax: +44 483 448811
----------------------------------------------------------------------
Acknowledgments
----------------------------------------------------------------------
RenderWare is a trademark of Canon Inc.