Main Page   Modules   Alphabetical List   Data Structures   Data Fields  

What's New in 3.6?
[3.6]

New File System

We have created a new filing system to improve data streaming and support asynchronous file loading. The RenderWare file system toolkit is composed of a file system manager, and a set of custom file systems for specific platforms. The file system manager is a high level interface, responsible for managing all file operations on a given platform. Each custom file system has a unique name from which it can be accessed via the file system manager.

The file system toolkit provides a common interface to all OS-specific file systems. It allows the definition of custom device names thereby providing a powerful way to switch between different registered file systems.

Collision Improvements

The RpCollis plugin data structures have been improved to allow more efficient collision queries, use less memory, and provide faster streaming. A new highly flexible approach to querying the collision data has been introduced that uses an iterator scheme to traverse the data structures rather than query functions with callbacks. This allows a clean separation between queries at the level of worlds, sectors/geometries, and individual triangles, so that these operations can be chained in different ways to suit the situation. We have also ensured that any part of the process can easily be overridden or customised.

The previous API is still available for compatibility, but the new API offers improved performance as a result of the changes.

Lightmaps

We now support the export of lightmap data generated in 3ds max & Maya. It uses an offline toolkit to reprocess the output of the 3ds max/Maya generation to be optimized for our current rendering pipelines and representation. We have also cloned and reworked the generation example into a parameterized PC based command line tool, so that it can be used in a build process.

DMorph Enhancements

Improvements to DMorph include its integration with instancing so that you can now morph directly into the instance data.

We have also developed platform specific optimized delta morph rendering pipelines. These platform pipelines support an arbitrary number of delta morph targets and take advantage of suitable platform hardware.

All the platforms make use of instance orphaning which allows the instance data to be dynamically updated whilst still being rendered. This allows the platforms to continue rendering asynchronously.

Improved Particle System

We have added support for z rotation to the RenderWare Graphics particle system provided in the art tools. We have also created the following set of game-style ptank examples, to show how ptank can be driven directly to obtain game-specific effects:

Memory Hinting

We have expanded the core API to provide extra information on all RenderWare run time memory allocations. This allows your applications to sensibly manage these allocations themselves.

The implementation approach we have taken uses a four 'scope' system, "Function, Frame, Event and Global". You will now be able to manage their core memory calls, this time with another RenderWare parameter which represents a 'memory hint'.

Containing useful information about Duration, ChunkID & Flags with respect to the request, use of memory hints will offer you a much greater opportunity for better memory handling within your applications than ever before.

Optimized Shadows

The ImShadow example has been extended to show an optimized projected texture path, for video cards supporting multi-texturing.

Build Tool Improvements

To make the build process even more reliable, we are making the build tool check the client's build environment and then provide more useful feedback and error messages accordingly. The associated white paper will also be updated to reflect the latest revisions made to the tool.

Alpha Tests Exposed in Render States

The RenderWare Graphics render states have been updated to expose alpha testing, to accept or reject a pixel according to its alpha value. The API allows you to specify the alpha test function through the RwRENDERSTATEALPHATESTFUNCTION render state, and the alpha test reference value through RwRENDERSTATEALPHATESTREF.

Named Groups

These provide a simple yet powerful method of naming groups of chunks within RenderWare streams. In 3.6, the exporters use them to store asset names and GUIDs. Named groups bracket top-level chunks in streams with 'start' and 'end' chunks. They layer a directory-like structure over the top of a stream, but can be ignored at your discretion.

New command-line tools

We are providing the following six new command-line tools with RenderWare Graphics 3.6, that come complete with source code.

Platform-independent texture dictionary editor This tool allows you to list, add, remove and rename textures within the platform-independent texture dictionaries. It can also be used in conjunction with the 'instance' utility to create platform-dependant texture dictionaries.

.rws stream editor This tool allows you to move chunks between and within named groups as well as listing the contents of the stream.

.rws file join utility This tool joins multiple .rws files together.

.rws file split utility This tool separates out individual chunks from an .rws file.

.rws touch utility This tool updates an .rws file to the current version of RenderWare.

rwltmap This tool generates lightmaps for RenderWare models.

Next...


Criterion Software © 1993-2004 Criterion Software Limited. All rights reserved. Built Thu Feb 12 13:46:56 2004. Send Feedback