Main Page   Modules   Alphabetical List   Data Structures   Data Fields  

RwIm3d
[RtGenCPipe]


Functions

RxPipelineRwIm3DGetGenericTransformPipeline (void)
RxPipelineRwIm3DGetGenericRenderPipeline (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

Internal Use

void RtGenCPipeDestroyGenericIm3DRenderPipelines void   
 

RtGenCPipeDestroyGenericIm3DRenderPipelines

Internal Use

void RtGenCPipeDestroyGenericIm3DTransformPipeline void   
 

RtGenCPipeDestroyGenericIm3DTransformPipeline

Internal Use

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-2004 Criterion Software Limited. All rights reserved. Built Thu Feb 12 13:47:10 2004. Send Feedback