summaryrefslogtreecommitdiffstats
path: root/rwsdk/include/d3d8/rppatch.h
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-08-02 18:36:50 +0200
committerSergeanur <s.anureev@yandex.ua>2020-08-02 18:36:50 +0200
commita786dd45a4ebc6b91936b5e46d0ef0a9befc05af (patch)
treeced50966eaaf373f8733547046baf2bdc558662d /rwsdk/include/d3d8/rppatch.h
parentMerge branch 'master' of https://github.com/GTAmodding/re3 into erorcun (diff)
downloadre3-a786dd45a4ebc6b91936b5e46d0ef0a9befc05af.tar
re3-a786dd45a4ebc6b91936b5e46d0ef0a9befc05af.tar.gz
re3-a786dd45a4ebc6b91936b5e46d0ef0a9befc05af.tar.bz2
re3-a786dd45a4ebc6b91936b5e46d0ef0a9befc05af.tar.lz
re3-a786dd45a4ebc6b91936b5e46d0ef0a9befc05af.tar.xz
re3-a786dd45a4ebc6b91936b5e46d0ef0a9befc05af.tar.zst
re3-a786dd45a4ebc6b91936b5e46d0ef0a9befc05af.zip
Diffstat (limited to 'rwsdk/include/d3d8/rppatch.h')
-rw-r--r--rwsdk/include/d3d8/rppatch.h683
1 files changed, 0 insertions, 683 deletions
diff --git a/rwsdk/include/d3d8/rppatch.h b/rwsdk/include/d3d8/rppatch.h
deleted file mode 100644
index eb80663f..00000000
--- a/rwsdk/include/d3d8/rppatch.h
+++ /dev/null
@@ -1,683 +0,0 @@
-
-#ifndef RPPATCH_H
-#define RPPATCH_H
-
-/**
- * \defgroup rppatch RpPatch
- * \ingroup rpplugin
- *
- * Bezier patch library
- *
- * This library provides efficient evaluation of patches.
- */
-
-/*===========================================================================*
- *--- Include files ---------------------------------------------------------*
- *===========================================================================*/
-#include "rwcore.h"
-#include "rpworld.h"
-
-#include "rpcriter.h"
-#include "rppatch.rpe"
-
-/*===========================================================================*
- *--- Defines ---------------------------------------------------------------*
- *===========================================================================*/
-
-/**
- * \ingroup rppatch
- * \def rpQUADPATCHNUMCONTROLPOINTS defines the number of control points in
- * a quadrilateral patch.
- *
- * \see RpQuadPatch
- * \see rpQUADPATCHNUMCONTROLINDICES
- * \see RpPatchMeshSetQuadPatch
- */
-#define rpQUADPATCHNUMCONTROLPOINTS (16)
-
-/**
- * \ingroup rppatch
- * \def rpTRIPATCHNUMCONTROLPOINTS defines the number of control points in
- * a triangular patch.
- *
- * \see RpTriPatch
- * \see rpTRIPATCHNUMCONTROLINDICES
- * \see RpPatchMeshSetTriPatch
- */
-#define rpTRIPATCHNUMCONTROLPOINTS (10)
-
-/**
- * \ingroup rppatch
- * \def rpQUADPATCHNUMCONTROLINDICES defines the number of control point
- * indices in a \ref RpQuadPatch quadrilateral patch.
- *
- * \see rpQUADPATCHNUMCONTROLPOINTS
- * \see RpPatchMeshSetQuadPatch
- */
-#define rpQUADPATCHNUMCONTROLINDICES rpQUADPATCHNUMCONTROLPOINTS
-
-/**
- * \ingroup rppatch
- * \def rpTRIPATCHNUMCONTROLINDICES defines the number of control points
- * indices in a \ref RpTriPatch triangular patch.
- *
- * \see rpTRIPATCHNUMCONTROLPOINTS
- * \see RpPatchMeshSetTriPatch
- */
-#define rpTRIPATCHNUMCONTROLINDICES rpTRIPATCHNUMCONTROLPOINTS
-
-/**
- * \ingroup rppatch
- * \def rpPATCHLODMAXVALUE defines the maximum value that can be returned for
- * the patch evaluation LOD.
- *
- * \see rpPATCHSKINLODMAXVALUE
- * \see rpPATCHLODMINVALUE
- * \see RpPatchLODCallBack
- */
-#define rpPATCHLODMAXVALUE (20)
-
-/**
- * \ingroup rppatch
- * \def rpPATCHSKINLODMAXVALUE defines the maximum value that can be returned
- * for the skinned patch evaluation LOD.
- *
- * \see rpPATCHLODMAXVALUE
- * \see rpPATCHLODMINVALUE
- * \see RpPatchLODCallBack
- */
-#define rpPATCHSKINLODMAXVALUE (18)
-
-/**
- * \ingroup rppatch
- * \def rpPATCHLODMINVALUE defines the minimum value that can be returned for
- * the patch evaluation LOD.
- *
- * \see rpPATCHSKINLODMAXVALUE
- * \see rpPATCHLODMAXVALUE
- * \see RpPatchLODCallBack
- */
-#define rpPATCHLODMINVALUE (4)
-
-/**
- * \ingroup rppatch
- * \def rpPATCHMESHTEXCOORDSETS Multi texture coordinate format specifier
- * for \ref RpPatchMeshCreate(). This should be OR'd into the
- * \ref RpPatchMeshFlag .
- */
-#define rpPATCHMESHTEXCOORDSETS(_num) \
- ((_num & 0xff) << 16)
-
-/**
- * \ingroup rppatch
- * \def rpPATCHMESHLOCKTEXCOORDSIDX
- * Convenience macro for generating a texture coordinate lock flag.
- */
-#define rpPATCHMESHLOCKTEXCOORDSIDX(_idx) \
- (rpPATCHMESHLOCKTEXCOORDS1 << (_idx))
-
-/*===========================================================================*
- *--- Global Types ----------------------------------------------------------*
- *===========================================================================*/
-
-/**
- * \ingroup rppatch
- * \ref RpPatchMeshFlag
- * When creating a \ref RpPatchMesh, these flags can be OR'ed together to
- * specify the format along with the \ref rpPATCHMESHTEXCOORDSETS (n) macro
- * to specify the number of texture coordinate sets required.
- *
- * \see RpPatchMeshCreate
- */
-enum RpPatchMeshFlag
-{
- rpNAPATCHMESHFLAG = 0,
- rpPATCHMESHPOSITIONS = 0x01, /**<Patch mesh contains control point
- positions. */
- rpPATCHMESHNORMALS = 0x02, /**<Patch mesh contains control point
- normals. */
- rpPATCHMESHPRELIGHTS = 0x04, /**<Patch mesh contains control point
- pre-light color values. */
- rpPATCHMESHTEXTURED = 0x08, /**<Patch mesh is textured. The number
- of texture sets must also be
- defined. */
- rpPATCHMESHLIGHT = 0x10, /**<Patch mesh will be lit. */
- rpPATCHMESHMODULATEMATERIALCOLOR = 0x20,
- /**<Control point color will be
- modulated with the material color. */
- rpPATCHMESHSMOOTHNORMALS = 0x40,
- /**<Patch mesh normals will be
- smoothed automatically. */
- rpPATCHMESHFLAGFORCEENUMSIZEINT = RWFORCEENUMSIZEINT
-};
-typedef enum RpPatchMeshFlag RpPatchMeshFlag;
-
-/**
- * \ingroup rppatch
- * \ref RpPatchMeshLockMode patch mesh lock flags.
- *
- * \see rpPATCHMESHLOCKTEXCOORDSIDX
- */
-enum RpPatchMeshLockMode
-{
- rpNAPATCHMESHLOCKMODE = 0,
- rpPATCHMESHLOCKPATCHES = 0x0001, /**<Lock the mesh patches. */
- rpPATCHMESHLOCKPOSITIONS = 0x0002, /**<Lock the control point
- positions. */
- rpPATCHMESHLOCKNORMALS = 0x0004, /**<Lock the control point
- normals. */
- rpPATCHMESHLOCKPRELIGHTS = 0x0008, /**<Lock the control point
- pre-light color values. */
- rpPATCHMESHLOCKTEXCOORDS1 = 0x0100, /**<Lock the texture coordinates
- set 1. */
- rpPATCHMESHLOCKTEXCOORDS2 = 0x0200, /**<Lock the texture coordinates
- set 2. */
- rpPATCHMESHLOCKTEXCOORDS3 = 0x0400, /**<Lock the texture coordinates
- set 3. */
- rpPATCHMESHLOCKTEXCOORDS4 = 0x0800, /**<Lock the texture coordinates
- set 4. */
- rpPATCHMESHLOCKTEXCOORDS5 = 0x1000, /**<Lock the texture coordinates
- set 5. */
- rpPATCHMESHLOCKTEXCOORDS6 = 0x2000, /**<Lock the texture coordinates
- set 6. */
- rpPATCHMESHLOCKTEXCOORDS7 = 0x4000, /**<Lock the texture coordinates
- set 7. */
- rpPATCHMESHLOCKTEXCOORDS8 = 0x8000, /**<Lock the texture coordinates
- set 8. */
- rpPATCHMESHLOCKTEXCOORDSALL = 0xff00, /**<Lock all texture coordinate
- sets. */
- rpPATCHMESHLOCKALL = 0xffff, /**<Combination of all the
- above. */
- rpPATCHMESHLOCKMODEFORCEENUMSIZEINT = RWFORCEENUMSIZEINT
-};
-typedef enum RpPatchMeshLockMode RpPatchMeshLockMode;
-
-typedef struct RpPatchMeshDefinition RpPatchMeshDefinition;
-/**
- * \ingroup rppatch
- * \struct RpPatchMeshDefinition
- * holds the definition sizes of the patch mesh. This data should be considered
- * read only.
- */
-struct RpPatchMeshDefinition
-{
- RwUInt32 flag; /**<Patch mesh definition flag. */
- RwUInt32 numControlPoints; /**<Number of control points. */
- RwUInt32 numTriPatches; /**<Number of tri patches. */
- RwUInt32 numQuadPatches; /**<Number of quad patches. */
- RwUInt32 numTexCoordSets; /**<Number of sets of texture coordinates. */
-};
-
-typedef struct RpPatchMesh RpPatchMesh;
-/**
- * \ingroup rppatch
- * \struct RpPatchMesh
- * holds the control point data for a patch mesh. The patch mesh should be
- * created with \ref RpPatchMeshCreate. The patch mesh should be locked with
- * \ref RpPatchMeshLock before the data is edited. Quadrilateral and triangle
- * patches can be defined from the control points with
- * \ref RpPatchMeshSetQuadPatch and \ref RpPatchMeshSetTriPatch respectively.
- * The patch mesh should be unlocked with \ref RpPatchMeshUnlock before it is
- * added to an \ref RpAtomic with \ref RpPatchAtomicSetPatchMesh.
- *
- * \see RpPatchMesDefinition
- */
-struct RpPatchMesh
-{
- RwV3d *positions; /**<Control point positions. */
- RwV3d *normals; /**<Control point normals. */
- RwRGBA *preLightColors; /**<Control point pre-light colors. */
- RwTexCoords *texCoords[rwMAXTEXTURECOORDS];
- /**<Control point texture coordinates. */
- RpPatchMeshDefinition definition; /**<Patch mesh definition data. */
-};
-
-typedef struct RpQuadPatch RpQuadPatch;
-/**
- * \ingroup rppatch
- * \struct RpQuadPatch
- * holds the control point indices for a quadrilateral patch. There are
- * \ref rpQUADPATCHNUMCONTROLINDICES indices for a quadrilateral patch.
- *
- * \see RpPatchMeshSetQuadPatch
- */
-struct RpQuadPatch
-{
- RwUInt32 cpIndices[rpQUADPATCHNUMCONTROLINDICES]; /**<Control point
- indices. */
-};
-
-typedef struct RpTriPatch RpTriPatch;
-/**
- * \ingroup rppatch
- * \struct RpTriPatch
- * holds the control point indices for a triangle patch. There are
- * \ref rpTRIPATCHNUMCONTROLINDICES indices for a triangular patch.
- *
- * \see RpPatchMeshSetTriPatch
- */
-struct RpTriPatch
-{
- RwUInt32 cpIndices[rpTRIPATCHNUMCONTROLINDICES]; /**<Control point
- indices. */
-};
-
-typedef struct RpPatchLODRange RpPatchLODRange;
-/**
- * \ingroup rppatch
- * \struct RpPatchLODRange
- * holds the variables used by the default atomic LOD call back function.
- */
-struct RpPatchLODRange
-{
- RwUInt32 minLod; /**<Minimum LOD value. */
- RwUInt32 maxLod; /**<Maximum LOD value. */
- RwReal minRange; /**<Minimum LOD range. */
- RwReal maxRange; /**<Maximum LOD range. */
-};
-
-/**
- * \ingroup rppatch
- * \typedef RpPatchLODUserData
- * typedef for the user data passed to the \ref RpPatchLODCallBack
- * function which calculates the atomics' LOD.
- *
- * \see RpPatchAtomicSetPatchLODCallBack
- * \see RpPatchAtomicGetPatchLODCallBack
- */
-typedef void *RpPatchLODUserData;
-
-/**
- * \ingroup rppatch
- * \typedef RpPatchLODCallBack
- * typedef for the patch atomic LOD calculation function.
- *
- * \see RpPatchAtomicSetPatchLODCallBack
- * \see RpPatchAtomicGetPatchLODCallBack
- */
-typedef RwUInt32 (* RpPatchLODCallBack)( RpAtomic *atomic,
- RpPatchLODUserData userData );
-
-/*===========================================================================*
- *--- Plugin API Functions --------------------------------------------------*
- *===========================================================================*/
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-
-/*---------------------------------------------------------------------------*
- *- Plugin functions -*
- *---------------------------------------------------------------------------*/
-extern RwBool
-RpPatchPluginAttach(void);
-
-/*---------------------------------------------------------------------------*
- *- Patch Mesh functions -*
- *---------------------------------------------------------------------------*/
-extern RpPatchMesh *
-RpPatchMeshCreate( RwUInt32 numQuadPatches,
- RwUInt32 numTriPatches,
- RwUInt32 numControlPoints,
- RwUInt32 definitionFlag );
-
-extern RwBool
-RpPatchMeshDestroy( RpPatchMesh *patchMesh );
-
-extern RpPatchMesh *
-RpPatchMeshLock( RpPatchMesh *patchMesh,
- RwUInt32 lockMode );
-
-extern RpPatchMesh *
-RpPatchMeshUnlock( RpPatchMesh *patchMesh );
-
-/*---------------------------------------------------------------------------*
- *- Patch mesh helper functions -*
- *---------------------------------------------------------------------------*/
-
-extern RpPatchMesh *
-RpPatchMeshTransform( RpPatchMesh *patchMesh,
- const RwMatrix *matrix );
-
-/*---------------------------------------------------------------------------*/
-#define RpPatchMeshGetFlagsMacro(patchMesh) \
- (patchMesh->definition.flag)
-
-#define RpPatchMeshSetFlagsMacro(patchMesh, flags) \
- (patchMesh->definition.flag = flags)
-
-#define RpPatchMeshGetNumControlPointsMacro(patchMesh) \
- (patchMesh->definition.numControlPoints)
-
-#define RpPatchMeshGetNumTriPatchesMacro(patchMesh) \
- (patchMesh->definition.numTriPatches)
-
-#define RpPatchMeshGetNumQuadPatchesMacro(patchMesh) \
- (patchMesh->definition.numQuadPatches)
-
-#define RpPatchMeshGetNumTexCoordSetsMacro(patchMesh) \
- (patchMesh->definition.numTexCoordSets)
-
-#define RpPatchMeshGetPositionsMacro(patchMesh) \
- (patchMesh->positions)
-
-#define RpPatchMeshGetNormalsMacro(patchMesh) \
- (patchMesh->normals)
-
-#define RpPatchMeshGetPreLightColorsMacro(patchMesh) \
- (patchMesh->preLightColors)
-
-#define RpPatchMeshGetTexCoordsMacro(patchMesh, index) \
- (patchMesh->texCoords[index - 1])
-/*---------------------------------------------------------------------------*/
-
-#if (defined(RWDEBUG) || defined(RWSUPPRESSINLINE))
-
-/*---------------------------------------------------------------------------*/
-extern RwUInt32
-RpPatchMeshGetFlags( const RpPatchMesh *patchMesh );
-
-extern RpPatchMesh *
-RpPatchMeshSetFlags( RpPatchMesh *patchMesh,
- RwUInt32 flags );
-
-extern RwUInt32
-RpPatchMeshGetNumControlPoints( const RpPatchMesh *patchMesh );
-
-extern RwUInt32
-RpPatchMeshGetNumTriPatches( const RpPatchMesh *patchMesh );
-
-extern RwUInt32
-RpPatchMeshGetNumQuadPatches( const RpPatchMesh *patchMesh );
-
-extern RwUInt32
-RpPatchMeshGetNumTexCoordSets( const RpPatchMesh *patchMesh );
-
-extern RwV3d *
-RpPatchMeshGetPositions( const RpPatchMesh *patchMesh );
-
-extern RwV3d *
-RpPatchMeshGetNormals( const RpPatchMesh *patchMesh );
-
-extern RwRGBA *
-RpPatchMeshGetPreLightColors( const RpPatchMesh *patchMesh );
-
-extern RwTexCoords *
-RpPatchMeshGetTexCoords( const RpPatchMesh *patchMesh,
- RwTextureCoordinateIndex index );
-/*---------------------------------------------------------------------------*/
-
-#else /* (defined(RWDEBUG) || defined(RWSUPPRESSINLINE)) */
-
-/*---------------------------------------------------------------------------*/
-#define RpPatchMeshGetFlags(patchMesh) \
- RpPatchMeshGetFlagsMacro(patchMesh)
-
-#define RpPatchMeshSetFlags(patchMesh, flags) \
- RpPatchMeshSetFlagsMacro(patchMesh, flags)
-
-#define RpPatchMeshGetNumControlPoints(patchMesh) \
- RpPatchMeshGetNumControlPointsMacro(patchMesh)
-
-#define RpPatchMeshGetNumTriPatches(patchMesh) \
- RpPatchMeshGetNumTriPatchesMacro(patchMesh)
-
-#define RpPatchMeshGetNumQuadPatches(patchMesh) \
- RpPatchMeshGetNumQuadPatchesMacro(patchMesh)
-
-#define RpPatchMeshGetNumTexCoordSets(patchMesh) \
- RpPatchMeshGetNumTexCoordSetsMacro(patchMesh)
-
-#define RpPatchMeshGetPositions(patchMesh) \
- RpPatchMeshGetPositionsMacro(patchMesh)
-
-#define RpPatchMeshGetNormals(patchMesh) \
- RpPatchMeshGetNormalsMacro(patchMesh)
-
-#define RpPatchMeshGetPreLightColors(patchMesh) \
- RpPatchMeshGetPreLightColorsMacro(patchMesh)
-
-#define RpPatchMeshGetTexCoords(patchMesh, index) \
- RpPatchMeshGetTexCoordsMacro(patchMesh, index)
-/*---------------------------------------------------------------------------*/
-
-#endif /* (defined(RWDEBUG) || defined(RWSUPPRESSINLINE)) */
-
-/*---------------------------------------------------------------------------*
- *- Patch streaming functions -*
- *---------------------------------------------------------------------------*/
-extern RwUInt32
-RpPatchMeshStreamGetSize( const RpPatchMesh *patchMesh );
-
-extern RpPatchMesh *
-RpPatchMeshStreamRead( RwStream *stream );
-
-extern const RpPatchMesh *
-RpPatchMeshStreamWrite( const RpPatchMesh *patchMesh,
- RwStream *stream );
-
-/*---------------------------------------------------------------------------*
- *- Patch Mesh patch functions -*
- *---------------------------------------------------------------------------*/
-extern RpPatchMesh *
-RpPatchMeshSetQuadPatch( RpPatchMesh *patchMesh,
- RwUInt32 quadIndex,
- RpQuadPatch *quadPatch );
-
-extern RpPatchMesh *
-RpPatchMeshSetTriPatch( RpPatchMesh *patchMesh,
- RwUInt32 triIndex,
- RpTriPatch *triPatch );
-
-extern const RpQuadPatch *
-RpPatchMeshGetQuadPatch( const RpPatchMesh *patchMesh,
- RwUInt32 quadIndex );
-
-extern const RpTriPatch *
-RpPatchMeshGetTriPatch( const RpPatchMesh *patchMesh,
- RwUInt32 triIndex );
-
-/*---------------------------------------------------------------------------*
- *- Patch Mesh material functions -*
- *---------------------------------------------------------------------------*/
-extern RpPatchMesh *
-RpPatchMeshSetQuadPatchMaterial( RpPatchMesh *patchMesh,
- RwUInt32 quadIndex,
- RpMaterial *material );
-
-extern RpPatchMesh *
-RpPatchMeshSetTriPatchMaterial( RpPatchMesh *patchMesh,
- RwUInt32 triIndex,
- RpMaterial *material );
-
-extern RpMaterial *
-RpPatchMeshGetQuadPatchMaterial( const RpPatchMesh *patchMesh,
- RwUInt32 quadIndex );
-
-extern RpMaterial *
-RpPatchMeshGetTriPatchMaterial( const RpPatchMesh *patchMesh,
- RwUInt32 triIndex );
-
-extern const RpPatchMesh *
-RpPatchMeshForAllMaterials( const RpPatchMesh *patchMesh,
- RpMaterialCallBack callBack,
- void *userData );
-
-extern RwUInt32
-RpPatchMeshGetNumMaterials( const RpPatchMesh *patchMesh );
-
-extern RpMaterial *
-RpPatchMeshGetMaterial( const RpPatchMesh *patchMesh,
- RwUInt32 materialIndex );
-
-/*---------------------------------------------------------------------------*
- *- Patch Skin functions -*
- *---------------------------------------------------------------------------*/
-#if (defined(RPSKIN_H))
-
-extern RpSkin *
-RpPatchMeshGetSkin( RpPatchMesh *patchMesh );
-
-extern RpPatchMesh *
-RpPatchMeshSetSkin( RpPatchMesh *patchMesh,
- RpSkin *skin );
-
-#endif /* (defined(RPSKIN_H)) */
-
-/*---------------------------------------------------------------------------*
- *- Patch Atomic functions -*
- *---------------------------------------------------------------------------*/
-extern RpAtomic *
-RpPatchAtomicSetPatchMesh( RpAtomic *atomic,
- RpPatchMesh *patchMesh );
-
-extern RpPatchMesh *
-RpPatchAtomicGetPatchMesh( const RpAtomic *atomic );
-
-/*---------------------------------------------------------------------------*
- *- Patch Atomic LOD functions -*
- *---------------------------------------------------------------------------*/
-extern RwBool
-RpPatchAtomicSetPatchLODCallBack( RpAtomic *atomic,
- RpPatchLODCallBack callback,
- RpPatchLODUserData userData );
-
-extern RwBool
-RpPatchAtomicGetPatchLODCallBack( const RpAtomic *atomic,
- RpPatchLODCallBack *callback,
- RpPatchLODUserData *userData );
-
-/*---------------------------------------------------------------------------*
- *- Patch default LOD range -*
- *---------------------------------------------------------------------------*/
-extern RwBool
-RpPatchSetDefaultLODCallBackRange( RpPatchLODRange *lodRange );
-
-extern RwBool
-RpPatchGetDefaultLODCallBackRange( RpPatchLODRange *lodRange );
-
-/*---------------------------------------------------------------------------*
- *- Patch pipeline -*
- *---------------------------------------------------------------------------*/
-
-/**
- * \ingroup rppatch
- * \ref RpPatchType defines the different ways a patch atomic can be rendered.
- * Once a \ref RpPatchMesh has been attached to an \ref RpAtomic with
- * \ref RpPatchAtomicSetPatchMesh the atomic must be setup with the correct
- * rendering pipeline with \ref RpPatchAtomicSetType .
- *
- * The patch plugin makes no assumptions about how to render the
- * patch atomics. Once an \ref RpPatchMesh has been attached to an
- * \ref RpAtomic it is necessary to attach a suitable patch
- * rendering pipeline. The patch plugin supports four different
- * rendering types, these are defined in the \ref RpPatchType
- * enumeration:-
- * \li \ref rpPATCHTYPEGENERIC
- * The patch \ref RpAtomic will be rendered with the
- * default generic patch rendering pipeline.
- * \li \ref rpPATCHTYPESKIN
- * The patch \ref RpAtomic will be rendered with a
- * custom pipeline for rendering skinning patches. Make sure
- * an \ref RpSkin has been attached to the \ref RpPatchMesh
- * and an \ref RpHAnimHierarchy has been attached to the
- * \ref RpAtomic.
- * \li \ref rpPATCHTYPEMATFX
- * The patch \ref RpAtomic will be rendered with a
- * custom pipeline for rendering the material effects
- * of patches. The
- * patch matfx pipeline supports all the material effects
- * defined in the \ref rpmatfx plugin. The patches
- * materials should be setup as usual.
- * \li \ref rpPATCHTYPESKINMATFX
- * The patch \ref RpAtomic will be rendered with a
- * custom skinned material effects patch rendering pipeline.
- * The \ref RpPatchMesh, \ref RpAtomic and the patches'
- * \ref RpMaterial's must be setup correctly.
- */
-enum RpPatchType
-{
- rpNAPATCHTYPE = 0, /**<Invalid patch pipeline. */
- rpPATCHTYPEGENERIC = 1, /**<Generic patch rendering. */
- rpPATCHTYPESKIN = 2, /**<Skinned patch rendering. */
- rpPATCHTYPEMATFX = 3, /**<Material effects patch rendering. */
- rpPATCHTYPESKINMATFX = 4, /**<Skinned material effects patch rendering. */
- rpPATCHTYPEFORCEENUMSIZEINT = RWFORCEENUMSIZEINT
-};
-typedef enum RpPatchType RpPatchType;
-
-extern RpAtomic *
-RpPatchAtomicSetType( RpAtomic *atomic,
- RpPatchType type );
-
-extern RpPatchType
-RpPatchAtomicGetType( const RpAtomic *atomic );
-
-/*---------------------------------------------------------------------------*/
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-/*---- start: ./d3d8/patchplatform.h----*/
-
-/**
- * \defgroup rppatchd3d8 D3D8
- * \ingroup rppatch
- *
- * D3D8 patch pipeline extension.
- */
-
-
-/*===========================================================================*
- *--- D3D8 Defines -----------------------------------------------------------*
- *===========================================================================*/
-
-/*===========================================================================*
- *--- D3D8 Global Types ------------------------------------------------------*
- *===========================================================================*/
-
-/**
- * \ingroup rppatchd3d8
- * \ref RpPatchD3D8Pipeline rendering pipelines available within the
- * \ref rppatch plugin. Use \ref RpPatchGetD3D8Pipeline to retrieve
- * the \ref RxPipeline s.
- */
-enum RpPatchD3D8Pipeline
-{
- rpPATCHD3D8PIPELINEGENERIC = 0, /**<D3D8 generic
- patch rendering pipeline. */
- rpPATCHD3D8PIPELINEMATFX = 1, /**<D3D8 material effect
- (single set of texture coordinates)
- patch rendering pipeline. */
- rpPATCHD3D8PIPELINESKINNED = 2, /**<D3D8 skinned
- patch rendering pipeline. */
- rpPATCHD3D8PIPELINESKINMATFX = 3, /**<D3D8 skinned material effect
- (single set of texture coordinates)
- patch rendering pipeline. */
- rpPATCHD3D8PIPELINEMAX,
- rpPATCHD3D8PIPELINEFORCEENUMSIZEINT = RWFORCEENUMSIZEINT
-};
-typedef enum RpPatchD3D8Pipeline RpPatchD3D8Pipeline;
-
-/*===========================================================================*
- *--- D3D8 Plugin API Functions ----------------------------------------------*
- *===========================================================================*/
-#ifdef __cplusplus
-extern "C"
-{
-#endif /* __cplusplus */
-/*---------------------------------------------------------------------------*/
-
-extern RxPipeline *
-RpPatchGetD3D8Pipeline( RpPatchD3D8Pipeline d3d8Pipeline );
-
-/*---------------------------------------------------------------------------*/
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-/*---- end: ./d3d8/patchplatform.h----*/
-
-#endif /* RPPATCH_H */
-
-