home *** CD-ROM | disk | FTP | other *** search
- 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.
-