Main Page   Modules   Alphabetical List   Data Structures   Data Fields  

RpToonGeo
[RpToon]


Data Structures

struct   RpToonEdge

Typedefs

typedef const char *(  RpToonGeoForAllInkIDsCallBack )(const char *inkId, void *data)
typedef const char *(  RpToonGeoForAllPaintIDsCallBack )(const char *paintId, void *data)

Enumerations

enum   RpToonInkType { RPTOON_INKTYPE_SILHOUETTE = 0, RPTOON_INKTYPE_CREASE, RPTOON_INKTYPE_FORCEENUMSIZEINT = RWFORCEENUMSIZEINT }

Functions

RpToonInk RpToonGeoGetSilhouetteInk (const RpToonGeo *toonGeo)
void  RpToonGeoSetSilhouetteInk (RpToonGeo *toonGeo, RpToonInk *ink)
RpToonInk RpToonGeoGetCreaseInk (const RpToonGeo *toonGeo)
void  RpToonGeoSetCreaseInk (RpToonGeo *toonGeo, RpToonInk *ink)
void  RpToonGeoForAllInkIDs (const RpToonGeo *toonGeo, RpToonGeoForAllInkIDsCallBack *forAllInkIDsCallBack, void *data)
void  RpToonGeoApplyInksInInkDictionary (RpToonGeo *toonGeo, const RpToonInkDictionary *inkDictionary)
RwInt32  RpToonGeoGetNumEdges (const RpToonGeo *toonGeo)
void  RpToonGeoGetEdges (const RpToonGeo *toonGeo, RpToonEdge *edges)
RpToonPaint RpToonGeoGetPaint (RpToonGeo *toonGeo)
void  RpToonGeoSetPaint (RpToonGeo *toonGeo, RpToonPaint *paint)
void  RpToonGeoForAllPaintIDs (const RpToonGeo *toonGeo, RpToonGeoForAllPaintIDsCallBack *forAllPaintIDsCallBack, void *data)
void  RpToonGeoApplyPaintsInPaintDictionary (RpToonGeo *toonGeo, const RpToonPaintDictionary *paintDictionary)
void  RpToonGeoNotifyVertexPositionsDirty (RpToonGeo *toonGeo)
const RwReal RpToonGeoGetVertexThicknesses (RpToonGeo *toonGeo)
RwReal RpToonGeoLockVertexThicknesses (RpToonGeo *toonGeo)
void  RpToonGeoUnlockVertexThicknesses (RpToonGeo *toonGeo)
RpToonGeo RpToonGeometryCreateToonGeo (RpGeometry *geometry, RwBool generateCreaseEdgesFromSmoothingGroups)
RpToonGeo RpToonWorldSectorCreateToonGeo (RpWorldSector *sector, RwBool generateCreaseEdgesFromSmoothingGroups)
RpToonGeo RpToonGeometryGetToonGeo (RpGeometry *geometry)
RpToonGeo RpToonWorldSectorGetToonGeo (RpWorldSector *sector)

Typedef Documentation

typedef const char*( RpToonGeoForAllInkIDsCallBack)(const char *inkId, void *data)
 

RpToonGeoForAllInkIDsCallBack represents the function called from RpToonGeoForAllInkIDs for all ink IDs in a given RpToonGeo. This function should return the current ink ID to indicate success. The callback may return NULL to terminate further callbacks on the RpToonGeo.

Parameters:
inkId  The inks name.
data  User-defined data pointer.
Returns:
Pointer to the current inkId or NULL
See also:
RpToonGeoForAllInkIDs
typedef const char*( RpToonGeoForAllPaintIDsCallBack)(const char *paintId, void *data)
 

RpToonGeoForAllPaintIDs represents the function called from RpToonGeoForAllPaintIDs for all paint IDs in a given RpToonGeo. This function should return the current paint ID to indicate success. The callback may return NULL to terminate further callbacks on the RpToonGeo.

Parameters:
paintId  The paints name.
data  User-defined data pointer.
Returns:
Pointer to the current paintId or NULL
See also:
RpToonGeoForAllPaintIDs

Enumeration Type Documentation

enum RpToonInkType
 

RpToonInkType

Describes how an RpToonInk is interpreted by an RpToonEdge.

Enumeration values:
RPTOON_INKTYPE_SILHOUETTE  Edge will use this ink only when it is a silhouette edge
RPTOON_INKTYPE_CREASE  Edge will become a crease edge and use this ink

Function Documentation

void RpToonGeoApplyInksInInkDictionary RpToonGeo   toonGeo,
const RpToonInkDictionary   inkDictionary
 

RpToonGeoApplyInksInInkDictionary is used to link named inks in a RpToonInkDictionary to a RpToonGeo object. The RpToonGeo checks each ink ID it stores against the contents of the dictionary. If a RpToonInk s name matches, it's reference count is incremented and the RpToonGeo keeps a direct pointer to that ink. Next time the RpToonGeo is rendered, it will use that ink style. When the RpToonGeo is destroyed, it will destroy the RpToonInk too.

This is different to the way in which RwTexture's in a RwTexDictionary are applied to an object to allow you to quickly and easily change ink styles on a character without reloading it.

Parameters:
toonGeo  A pointer to toon geometry.
inkDictionary  A pointer to an ink dictionary.
Returns:
none.
void RpToonGeoApplyPaintsInPaintDictionary RpToonGeo   toonGeo,
const RpToonPaintDictionary   paintDictionary
 

RpToonGeoApplyPaintsInPaintDictionary is used to link named paints in a RpToonPaintDictionary to a RpToonGeo object. The RpToonGeo checks each paint ID it stores against the contents of the dictionary. If a RpToonPaint s name matches, it's reference count is incremented and the RpToonGeo keeps a direct pointer to that paint. Next time the RpToonGeo is rendered, it will use that paint style. When the RpToonGeo is destroyed, it will destroy the RpToonPaint too.

This is different to the way in which RwTexture's in a RwTexDictionary are applied to an object to allow you to quickly and easily change paint styles on a character without reloading it.

Parameters:
toonGeo  A pointer to toon geometry.
paintDictionary  A pointer to the paint dictionary.
Returns:
none.
void RpToonGeoForAllInkIDs const RpToonGeo   toonGeo,
RpToonGeoForAllInkIDsCallBack   enumerateInkIDsCallBack,
void *    data
 

RpToonGeoForAllInkIDs is used to iterate over ink names in a RpToonGeo object. The function enumerateInkIDsCallBack is called with each ink ID (name) the RpToonGeo stores. This is useful if you're writing an editor for toon inks, or are looking for a certain ink on an object that needs to be treated specially.

Parameters:
toonGeo  A pointer to toon geometry.
enumerateInkIDsCallBack  The callback function.
data  data passed on to the callback function.
See also:
RpToonGeoForAllInkIDsCallBack
Returns:
none.
void RpToonGeoForAllPaintIDs const RpToonGeo   toonGeo,
RpToonGeoForAllPaintIDsCallBack   forAllPaintIDsCallBack,
void *    data
 

RpToonGeoForAllPaintIDs is used to iterate over paint names referenced by a RpToonGeo object and any of its materials. The function forAllPaintIDsCallBack is called with each paint ID (name) the RpToonGeo stores. This is useful if you're writing an editor for toon paints, or are looking for a certain paint on an object that needs to be treated specially.

Parameters:
toonGeo  A pointer to toon geometry.
forAllPaintIDsCallBack  The callback function.
data  data passed on to the callback function.
Returns:
none.
See also:
RpToonGeoForAllPaintIDsCallBack
RpToonInk* RpToonGeoGetCreaseInk const RpToonGeo   toonGeo
 

RpToonGeoGetCreaseInk is used to retrieve the ink used as the default for rendering crease edges on an RpToonGeo.

Parameters:
toonGeo  A pointer to the toon geometry.
Returns:
A RpToonInk.
See also:
RpToonGeoSetCreaseInk
void RpToonGeoGetEdges const RpToonGeo   toonGeo,
RpToonEdge   edges
 

RpToonGeoGetEdges is used to retrieve a copy of the edges RpToon built from the source geometry

Parameters:
toonGeo  A pointer to toon geometry.
edges  A pointer to space to store the edge information.
Returns:
none.
RwInt32 RpToonGeoGetNumEdges const RpToonGeo   toonGeo
 

RpToonGeoGetNumEdges is used to retrieve the number of edges RpToon built from the source geometry.

Parameters:
toonGeo  A pointer to toon geometry.
Returns:
RwInt32 number of edges.
RpToonPaint* RpToonGeoGetPaint RpToonGeo   toonGeo
 

RpToonGeoGetPaint is used to retrieve the paint used as the default for rendering a RpToonGeo.

Parameters:
toonGeo  A pointer to the toon geometry.
Returns:
A RpToonPaint.
See also:
RpToonGeoSetPaint
RpToonInk* RpToonGeoGetSilhouetteInk const RpToonGeo   toonGeo
 

RpToonGeoGetSilhouetteInk is used to retrieve the ink used as the default for rendering silhouette edges on an RpToonGeo.

Parameters:
toonGeo  A pointer to the toon geometry.
Returns:
A RpToonInk.
See also:
RpToonGeoSetSilhouetteInk
const RwReal* RpToonGeoGetVertexThicknesses RpToonGeo   toonGeo
 

RpToonGeoGetVertexThicknesses is used to gain read only access to vertex thickness multipliers stored in a RpToonGeo.

Parameters:
toonGeo  A pointer to toon geometry.
Returns:
An array of RwReals.
See also:
RpToonGeoLockVertexThicknesses , RpToonGeoUnlockVertexThicknesses
RwReal* RpToonGeoLockVertexThicknesses RpToonGeo   toonGeo
 

RpToonGeoLockVertexThicknesses is used to begin read/write access to vertex thickness multipliers stored in a RpToonGeo.

Parameters:
toonGeo  A pointer to toon geometry.
Returns:
An array of RwReals.
See also:
RpToonGeoGetVertexThicknesses , RpToonGeoUnlockVertexThicknesses
RpToonGeo* RpToonGeometryCreateToonGeo RpGeometry   geometry,
RwBool    generateCreaseEdgesFromSmoothingGroups
 

RpToonGeometryCreateToonGeo creates an RpToonGeo with edge and connectivity information derived from the input RpGeometry, and stores it in geometry. Creating this information is an expensive memory intensive process which is best done at export time and then streamed for use on consoles. On non-PC platforms the connectivity information will not be created and attempts to use it will fail.

Parameters:
geometry  A pointer to the source geometry.
generateCreaseEdgesFromSmoothingGroups  Toon geometry will determine "crease" edges which are always drawn from the smoothing group boundaries on the source geometry. This parameter is ignored if the source geometry has no vertex normals defined.
Returns:
A pointer to toon geometry if sucessful, or NULL if a memory allocation failed.
See also:
RpToonWorldSectorCreateToonGeo
RpToonGeo* RpToonGeometryGetToonGeo RpGeometry   geometry
 

RpToonGeometryGetToonGeo gets the RpToonGeo associated with the RpGeometry.

Parameters:
geometry  A pointer to the source geometry.
Returns:
A pointer to RpToonGeo if one exists, or NULL.
See also:
RpToonGeometryCreateToonGeo
void RpToonGeoNotifyVertexPositionsDirty RpToonGeo   toonGeo
 

RpToonGeoNotifyVertexPositionsDirty is used to tell an RpToonGeo that vertex positions have been modified, and dependent information it stores will need to be updated. In general, this shouldn't be necessary, but on platforms that chain the render callback to do line rendering (PC, GameCube, Xbox), RpDMorph can update the information in a way in which the RpToonGeo can't reasonably figure out for itself. Additional chained custom render callbacks can have this effect too.

Parameters:
toonGeo  A pointer to toon geometry.
Returns:
none.
void RpToonGeoSetCreaseInk RpToonGeo   toonGeo,
RpToonInk   ink
 

RpToonGeoSetCreaseInk is used to set a RpToonInk as the default ink to use when rendering crease edges on the RpToonGeo. The RpToonGeo adds a reference to the ink and destroys it when it is destroyed. If it had a previous ink, that ink is destroyed.

Parameters:
toonGeo  A pointer to the toon geometry.
ink  A pointer to the toon ink.
Returns:
none.
See also:
RpToonGeoGetCreaseInk , RpToonInkAddRef , RpToonInkDestroy
void RpToonGeoSetPaint RpToonGeo   toonGeo,
RpToonPaint   paint
 

RpToonGeoSetPaint is used to set a RpToonPaint as the default paint to use when rendering the RpToonGeo. The RpToonGeo adds a reference to the paint and destroys it when it is destroyed. If it had a previous paint, that paint is destroyed.

Parameters:
toonGeo  A pointer to the toon geometry.
paint  A pointer to the toon paint.
Returns:
none.
See also:
RpToonGeoGetPaint , RpToonPaintAddRef , RpToonPaintDestroy
void RpToonGeoSetSilhouetteInk RpToonGeo   toonGeo,
RpToonInk   ink
 

RpToonGeoSetSilhouetteInk is used to set a RpToonInk as the default ink to use when rendering silhouette edges on the RpToonGeo. The RpToonGeo adds a reference to the ink and destroys it when it is destroyed. If it had a previous ink, that ink is destroyed.

Parameters:
toonGeo  A pointer to the toon geometry.
ink  A pointer to the toon ink.
Returns:
none.
See also:
RpToonGeoGetSilhouetteInk , RpToonInkAddRef , RpToonInkDestroy
void RpToonGeoUnlockVertexThicknesses RpToonGeo   toonGeo
 

RpToonGeoUnlockVertexThicknesses is used to end read/write access to vertex thickness multipliers stored in a RpToonGeo. The multipliers will be reinstanced if necessary for the particular platform.

Parameters:
toonGeo  A pointer to toon geometry.
Returns:
none.
See also:
RpToonGeoGetVertexThicknesses , RpToonGeoLockVertexThicknesses
RpToonGeo* RpToonWorldSectorCreateToonGeo RpWorldSector   sector,
RwBool    generateCreaseEdgesFromSmoothingGroups
 

RpToonWorldSectorCreateToonGeo creates an RpToonGeo with edge and connectivity information derived from the input RpWorldSector, and stores it in sector. Creating this information is an expensive memory intensive process which is best done at export time and then streamed for use on consoles. On non-PC platforms the connectivity information will not be created and attempts to use it will fail.

Parameters:
sector  A pointer to the source sector.
generateCreaseEdgesFromSmoothingGroups  Toon geometry will determine "crease" edges which are always drawn from the smoothing group boundaries on the source sector. This parameter is ignored if the source sector has no vertex normals defined.
Returns:
A pointer to toon geometry if sucessful, or NULL if a memory allocation failed.
See also:
RpToonGeometryCreateToonGeo
RpToonGeo* RpToonWorldSectorGetToonGeo RpWorldSector   sector
 

RpToonWorldSectorGetToonGeo gets the RpToonGeo associated with the RpWorldSector.

Parameters:
sector  A pointer to the source sector.
Returns:
A pointer to RpToonGeo if one exists, or NULL.
See also:
RpToonWorldSectorCreateToonGeo

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