General Features of PlayStation 2 RenderWare Graphics
[Features]
In this section we describe the features of PlayStation2 RenderWare
Graphics.
The PS2All pipeline construction kit. This is available to help
you construct flexible and efficient PlayStation 2-specific
rendering pipelines See RxNodeDefinitionGetPS2All and the User
Guide chapter PS2All Overview for further details. The
PS2All example demonstrates the construction of PS2All
pipelines and their optimization on the basis of
application-specific knowledge.
The VU1 vector unit is available for use (with help from the
PS2All pipeline construction kit) with custom vector code. For
further details on this see the vclpipes white paper.
Native instance data is supported on PlayStation 2 by the
functions RpAtomicInstance and RpWorldInstance (see the docs
for these functions for further information). These allow you to
generate platform-specific instance data for your renderable
objects and stream it to disk such that in future you may load the
platform-specific data directly, bypassing the need for
platform-independent data (you might be able to resize your
resources arena to zero size) and run-time instancing.
Note:
Currently, the use of native instance data is only fully
supported for vanilla object data (morphing atomics, for instance,
are unsupported), though skinned atomics are
supported.
Bézier patches are well supported on PlayStation 2, making full
use of the power of VU1. RpPatch on PlayStation 2 supports all
RenderWare Graphics light types, skinning and RpMatFX multipass
effects. The patch example demonstrates the
(multi-platform) use of RpPatch. For further information, see the
User Guide chapter BézierPatches.
The Scratchpad is available for use by the application (bearing
in mind the restriction listed in Restrictions). This is a small
amount of very fast on-chip RAM (it is integrated with the EE data
cache), which may be used when performing memory-intensive
processing. A typical methodology is: stream in a block of data
from main memory using the DMA engine, operate on all of it and
then DMA it back out to main memory (remembering to flush cache on
the destination data). Further details can be found in the Sony
PlayStation 2 reference manuals.
Framebuffers are available in 8888 and 5551 formats.
Z-buffers are available in 16-bit and 32-bit depths.
Texture rasters are available in 8888, 888 and 5551 formats.
Textures of any of these formats may be palettized with 4-bit (16
entry) or 8-bit (256-entry) palettes.
4-bit and 8-bit palettized texture formats are available. These
take up considerably less GS RAM than 16-bit or 32-bit textures and
in many cases they may be indistinguishable. Reducing the size of
your textures will reduce the number of texture uploads performed
during rendering. It will also improve fill-rate (larger textures
cause more page breaks in GS RAM during rasterization).
The alpha-blending modes available to the GS rasterization chip
are non-standard, hence novel blending modes such as subtractive
blending may be performed. See PlayStation 2 alpha-blending modes
for further details.
Access to the back-buffer is possible on PlayStation 2 (effects
such as refraction or heat haze may be performed using this
capability). The backbuff example demonstrates how this
may be done.
Motion blur is easily achieved on PlayStation 2. The
mblur example demonstrates this facility. The basic
technique is to blend the back buffer with the front front buffer
before switching them. Further details may be found in the
readme.txt file for this example.