Main Page   Modules   Alphabetical List   Data Structures   Data Fields  

RwIm3d
[RtGenCPipe]


Functions

RxPipeline RwIm3DGetGenericTransformPipeline (void)
RxPipeline RwIm3DGetGenericRenderPipeline (RwPrimitiveType primType)
RwBool  RtGenCPipeCreateGenericIm3DTransformPipeline (void)
void  RtGenCPipeDestroyGenericIm3DTransformPipeline (void)
void  RtGenCPipeDestroyGenericIm3DRenderPipelines (void)
RwBool  RtGenCPipeCreateGenericIm3DRenderPipelines (void)

Detailed Description

Immediate mode pipes

Function Documentation

RwBool RtGenCPipeCreateGenericIm3DRenderPipelines void   
 

RtGenCPipeCreateGenericIm3DRenderPipelines

The render half of the RwIm3D pipeline is used by RwIm3DRender[Indexed]Primitive() and uses the cached vertices from the Im3DTransform pipeline, which is called from RwIm3DTransform (ok, so it doesn't really work this way on H/W T&L cards). This creates generic (that is C code nodes that'll run on all platforms) RwIm3D render pipelines (there are several, to handle the various supported primitive types) and stores pointers to them in RTGENCPIPEGLOBAL(genericIm3DRenderPipelines).

RwBool RtGenCPipeCreateGenericIm3DTransformPipeline void   
 

RtGenCPipeCreateGenericIm3DTransformPipeline

TODO!

void RtGenCPipeDestroyGenericIm3DRenderPipelines void   
 

RtGenCPipeDestroyGenericIm3DRenderPipelines

TODO!

void RtGenCPipeDestroyGenericIm3DTransformPipeline void   
 

RtGenCPipeDestroyGenericIm3DTransformPipeline

TODO!

RxPipeline* RwIm3DGetGenericRenderPipeline RwPrimitiveType    type
 

RwIm3DGetGenericRenderPipeline returns the default generic RwIm3D render pipeline associated with a given primitive type

Most generic RenderWare nodes only support triangle lists and line lists and so in RwIm3D pipelines constructed from generic nodes, triangle strips and fans and polylines are automatically expanded (into triangle lists and line lists respectively) in ImmMangleTriangleIndices.csl or ImmMangleLineIndices.csl. Similarly, unindexed primitives are not supported by most nodes, so RwIm3DRenderPrimitive() creates indices and renders indexed primitives. Hence there is only one RwIm3D triangle and one line render pipeline. These are both shown below. Platform-specific nodes and pipelines are available which can handle more cases.

The default RwIm3D transform pipeline is platform-specific, see RwIm3DGetRenderPipeline (platform-specific) for details.

Parameters:
type  An RwPrimitiveType equal to the primitive type.
Returns:
A pointer to the default generic RwIm3D render pipeline for the specified primitive type on success, otherwise NULL.
   The default generic RwIm3D triangle render pipeline:

     ImmRenderSetup.csl
      v
     ImmMangleTriangleIndices.csl
      v
     CullTriangle.csl
      v
     ClipTriangle.csl
      v
     SubmitTriangle.csl

   The default generic RwIm3D line render pipeline:

     ImmRenderSetup.csl
      v
     ImmMangleLineIndices.csl
      v
     ClipLine.csl
      v
     SubmitLine.csl
     
See also:
RwIm3DGetGenericTransformPipeline , RwIm3DEnd , RwIm3DRenderIndexedPrimitive , RwIm3DRenderLine , RwIm3DRenderPrimitive , RwIm3DRenderTriangle , RwIm3DTransform , RwIm3DGetRenderPipeline (platform-specific) , RwIm3DSetRenderPipeline , RwIm3DGetTransformPipeline , RwIm3DGetTransformPipeline (platform-specific) , RwIm3DSetTransformPipeline
RxPipeline* RwIm3DGetGenericTransformPipeline void   
 

RwIm3DGetGenericTransformPipeline returns the default generic RwIm3D transform pipeline.

Most generic RenderWare nodes only support triangle lists and line lists and so in RwIm3D pipelines constructed from generic nodes, triangle strips and fans and polylines are automatically expanded (into triangle lists and line lists respectively) in ImmMangleTriangleIndices.csl or ImmMangleLineIndices.csl. Similarly, unindexed primitives are not supported by most nodes, so RwIm3DRenderPrimitive() creates indices and renders indexed primitives. Hence there is only one triangle and one line render pipeline for RwIm3D. These are both shown below. Platform-specific nodes and pipelines are available which can handle more cases and which usually operate more efficiently, having been designed for a specific platform.

The default RwIm3D transform pipeline is platform-specific, see RwIm3DGetTransformPipeline (platform-specific) for details.

Returns:
A pointer to the default generic RwIm3D transform pipeline on success, otherwise NULL.
   The default generic RwIm3D transform pipeline:

     ImmInstance.csl
      v
     Transform.csl
      v
     ImmStash.csl
     
See also:
RwIm3DGetGenericRenderPipeline , RwIm3DEnd , RwIm3DEnd , RwIm3DRenderIndexedPrimitive , RwIm3DRenderLine , RwIm3DRenderPrimitive , RwIm3DRenderTriangle , RwIm3DTransform , RwIm3DGetRenderPipeline , RwIm3DGetRenderPipeline (platform-specific) , RwIm3DSetRenderPipeline , RwIm3DGetTransformPipeline (platform-specific) , RwIm3DSetTransformPipeline

Criterion Software © 1993-2003 Criterion Software Limited. All rights reserved. Built Tue Apr 22 12:46:55 2003. Send Feedback
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)