1
0
Fork 0
mirror of https://github.com/halpz/re3.git synced 2024-12-27 18:25:28 +00:00
re3/sdk/rwsdk/include/d3d8/rpltmap.h
Sergeanur 3e24ae8812 Merge branch 'master' into miami
# Conflicts:
#	premake5.lua
#	sdk/rwsdk/include/d3d8/baaplylt.c
#	sdk/rwsdk/include/d3d8/rpstereo.h
#	sdk/rwsdk/include/d3d8/rpstereo.rpe
#	sdk/rwsdk/include/d3d8/rtintel.h
#	sdk/rwsdk/include/d3d8/rtintel.rpe
#	src/audio/oal/stream.cpp
2020-08-02 19:49:12 +03:00

100 lines
2.6 KiB
C

/**
* \defgroup rpltmap RpLtMap
* \ingroup lighting
*
* Lightmap Plugin for RenderWare Graphics.
*/
#ifndef RPLTMAP_H
#define RPLTMAP_H
/*===========================================================================*
*--- Includes --------------------------------------------------------------*
*===========================================================================*/
#include "rwcore.h"
#include "rpworld.h"
/* Used during lightmap illumination (sliver triangles are skipped
* (their texels should be filled by dilate()), because their normals
* can't be accurately calculated) */
#define rpLTMAPDEFAULTSLIVERAREATHRESHOLD (0.001f)
/* Used during lightmap UV calculation (polySets may be
* joined on the basis of vertices with equal positions) */
#define rpLTMAPDEFAULTVERTEXWELDTHRESHOLD (0.1f)
#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 */