diff options
author | Fire_Head <Fire-Head@users.noreply.github.com> | 2020-08-03 00:03:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-03 00:03:24 +0200 |
commit | 4b614333c6778ae49cef688f6ef691dd58384d13 (patch) | |
tree | ced50966eaaf373f8733547046baf2bdc558662d /sdk/rwsdk/include/d3d8/rpltmap.h | |
parent | cleanup (diff) | |
parent | Move sdk and eax (diff) | |
download | re3-4b614333c6778ae49cef688f6ef691dd58384d13.tar re3-4b614333c6778ae49cef688f6ef691dd58384d13.tar.gz re3-4b614333c6778ae49cef688f6ef691dd58384d13.tar.bz2 re3-4b614333c6778ae49cef688f6ef691dd58384d13.tar.lz re3-4b614333c6778ae49cef688f6ef691dd58384d13.tar.xz re3-4b614333c6778ae49cef688f6ef691dd58384d13.tar.zst re3-4b614333c6778ae49cef688f6ef691dd58384d13.zip |
Diffstat (limited to 'sdk/rwsdk/include/d3d8/rpltmap.h')
-rw-r--r-- | sdk/rwsdk/include/d3d8/rpltmap.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/sdk/rwsdk/include/d3d8/rpltmap.h b/sdk/rwsdk/include/d3d8/rpltmap.h new file mode 100644 index 00000000..5add9a26 --- /dev/null +++ b/sdk/rwsdk/include/d3d8/rpltmap.h @@ -0,0 +1,90 @@ + +/** + * \defgroup rpltmap RpLtMap + * \ingroup rpplugin + * + * Lightmap Plugin for RenderWare Graphics. + */ + +#ifndef RPLTMAP_H +#define RPLTMAP_H + +/*===========================================================================* + *--- Includes --------------------------------------------------------------* + *===========================================================================*/ + +#include "rwcore.h" +#include "rpworld.h" + + +#define rpLTMAPDEFAULTLIGHTMAPSIZE 128 +#define rpLTMAPMINLIGHTMAPSIZE 16 +#define rpLTMAPMAXLIGHTMAPSIZE 512/*?? any better way of determining this ??*/ + +#define rpLTMAPMAXPREFIXSTRINGLENGTH 4 + +#define rpLTMAPDEFAULTMAXAREALIGHTSAMPLESPERMESH 256 +/* The default tolerance for errors induced by area light ROIs is 1 + * (being the smallest difference in lightmap colour values) */ +#define rpLTMAPDEFAULTAREALIGHTROICUTOFF (1.0f) + + +/** + * \ingroup rpltmap + * \ref RpLtMapStyle + * Flags specifying the rendering style of the lightmap plugin. + * + * \see RpLtMapGetRenderStyle + * \see RpLtMapSetRenderStyle + */ +enum RpLtMapStyle +{ + rpLTMAPSTYLENASTYLE = 0x0, + + rpLTMAPSTYLERENDERBASE = 0x1, /**< The base texture should be rendered */ + rpLTMAPSTYLERENDERLIGHTMAP = 0x2, /**< The lightmap should be rendered */ + rpLTMAPSTYLEPOINTSAMPLE = 0x4, /**< The lightmap should be point-sampled */ + + rpLTMAPSTYLEFORCEENUMSIZEINT = 0x7FFFFFFF +}; +typedef enum RpLtMapStyle RpLtMapStyle; + + +#ifdef __cplusplus +extern "C" +{ +#endif /* __cplusplus */ + + +extern RwBool +RpLtMapPluginAttach(void); + +extern RxPipeline * +RpLtMapGetPlatformAtomicPipeline(void); +extern RxPipeline * +RpLtMapGetPlatformWorldSectorPipeline(void); + +extern RwBool +RpLtMapSetRenderStyle(RpLtMapStyle style, RpWorld *world); +extern RpLtMapStyle +RpLtMapGetRenderStyle(void); + +extern RwUInt32 +RpLtMapWorldLightMapsQuery(RpWorld *world); + +extern RwTexture * +RpLtMapWorldSectorGetLightMap(RpWorldSector *sector); +extern RpWorldSector * +RpLtMapWorldSectorSetLightMap(RpWorldSector *sector, RwTexture *lightMap); +extern RwTexture * +RpLtMapAtomicGetLightMap(RpAtomic *atomic); +extern RpAtomic * +RpLtMapAtomicSetLightMap(RpAtomic *atomic, RwTexture *lightMap); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* RPLTMAP_H */ + + |