TombEngine/TR5Main/Renderer/Enums.h

141 lines
3.2 KiB
C
Raw Normal View History

2018-08-19 09:46:58 +02:00
#pragma once
typedef enum RENDERER_BUCKETS {
RENDERER_BUCKET_SOLID = 0,
RENDERER_BUCKET_SOLID_DS = 1,
2019-01-13 21:57:16 +01:00
RENDERER_BUCKET_TRANSPARENT = 2,
RENDERER_BUCKET_TRANSPARENT_DS = 3
2018-08-19 09:46:58 +02:00
};
typedef enum RENDERER_PASSES {
RENDERER_PASS_DEPTH = 0,
RENDERER_PASS_DRAW = 1,
RENDERER_PASS_SHADOW_MAP = 2,
RENDERER_PASS_GBUFFER = 3,
RENDERER_PASS_TRANSPARENT = 4,
RENDERER_PASS_RECONSTRUCT_DEPTH = 5
2018-08-19 09:46:58 +02:00
};
typedef enum MODEL_TYPES {
MODEL_TYPE_HORIZON = 0,
MODEL_TYPE_ROOM = 1,
MODEL_TYPE_MOVEABLE = 2,
MODEL_TYPE_STATIC = 3,
MODEL_TYPE_INVENTORY = 4,
MODEL_TYPE_PICKUP = 5,
MODEL_TYPE_LARA = 6,
MODEL_TYPE_SKY = 7,
MODEL_TYPE_WATER_SURFACE = 8,
MODEL_TYPE_ROOM_UNDERWATER = 9
2018-08-19 09:46:58 +02:00
};
typedef enum LIGHT_TYPES {
LIGHT_TYPE_SUN = 0,
LIGHT_TYPE_POINT = 1,
LIGHT_TYPE_SPOT = 2,
LIGHT_TYPE_SHADOW = 3
};
typedef enum BLEND_MODES {
BLENDMODE_OPAQUE = 0,
BLENDMODE_ALPHATEST = 1,
BLENDMODE_ALPHABLEND = 2
};
typedef enum RENDERER_CULLMODE {
CULLMODE_NONE,
CULLMODE_CW,
CULLMODE_CCW
};
typedef enum RENDERER_BLENDSTATE {
BLENDSTATE_OPAQUE,
BLENDSTATE_ADDITIVE,
BLENDSTATE_ALPHABLEND,
BLENDSTATE_SPECIAL_Z_BUFFER
};
typedef enum RENDERER_SPRITE_TYPE {
SPRITE_TYPE_BILLBOARD,
SPRITE_TYPE_3D,
SPRITE_TYPE_BILLBOARD_CUSTOM
};
typedef enum RENDERER_POLYGON_SHAPE {
RENDERER_POLYGON_QUAD,
RENDERER_POLYGON_TRIANGLE
};
2018-09-07 18:34:18 +02:00
typedef enum RENDERER_FADE_STATUS {
NO_FADE,
FADE_IN,
FADE_OUT
};
2018-08-19 09:46:58 +02:00
#define SHADOW_MAP_SIZE 2048
#define TEXTURE_ATLAS_SIZE 4096
#define TEXTURE_PAGE_SIZE 262144
#define NUM_TEXTURE_PAGES_PER_ROW 16
#define MAX_SHADOW_MAPS 8
#define GET_ATLAS_PAGE_X(p) ((p) % NUM_TEXTURE_PAGES_PER_ROW) * 256.0f
#define GET_ATLAS_PAGE_Y(p) floor((p) / NUM_TEXTURE_PAGES_PER_ROW) * 256.0f
2018-08-19 09:46:58 +02:00
#define SHAPE_RECTANGLE 0
#define SHAPE_TRIANGLE 1
#define MAX_VERTICES 200000
#define MAX_INDICES 400000
2018-09-01 16:34:21 +02:00
#define MAX_LINES_2D 256
#define MAX_LINES_3D 16384
2018-08-19 09:46:58 +02:00
2019-01-13 21:57:16 +01:00
#define NUM_BUCKETS 4
2018-08-19 09:46:58 +02:00
2018-11-07 18:05:31 +01:00
#define NUM_RAIN_DROPS 1024
#define NUM_SNOW_PARTICLES 1024
2018-08-22 08:53:34 +02:00
#define WEATHER_RADIUS 20000
2018-11-07 18:05:31 +01:00
#define RAIN_SIZE 512
2018-08-22 08:53:34 +02:00
#define RAIN_MAX_ANGLE_V 5
#define RAIN_MAX_ANGLE_H 360
#define WEATHER_HEIGHT 6 * 1024
#define RAIN_COLOR 0.15f
2018-08-22 08:53:34 +02:00
#define RAIN_DELTA_Y 256.0f
#define SNOW_SIZE 72.0f
#define SNOW_MAX_ANGLE_V 30
#define SNOW_MAX_ANGLE_H 360
#define SNOW_DELTA_Y 128.0f
2018-08-21 18:59:31 +02:00
#define NUM_UNDERWATER_DUST_PARTICLES 512
#define UNDERWATER_DUST_PARTICLES_SIZE 32.0f
#define UNDERWATER_DUST_PARTICLES_RADIUS (10 * 1024)
#define AMBIENT_CUBE_MAP_SIZE 64
#define NUM_SPRITES_PER_BUCKET 4096
#define NUM_LINES_PER_BUCKET 4096
#define NUM_CAUSTICS_TEXTURES 16
2018-08-19 09:46:58 +02:00
#define FADEMODE_NONE 0
#define FADEMODE_FADEIN 1
#define FADEMODE_FADEOUT 2
#define PRINTSTRING_CENTER 1
#define PRINTSTRING_BLINK 2
#define PRINTSTRING_DONT_UPDATE_BLINK 4
#define PRINTSTRING_OUTLINE 8
#define PRINTSTRING_COLOR_ORANGE D3DCOLOR_ARGB(255, 216, 117, 49)
#define PRINTSTRING_COLOR_WHITE D3DCOLOR_ARGB(255, 255, 255, 255)
#define PRINTSTRING_COLOR_BLACK D3DCOLOR_ARGB(255, 0, 0, 0)
#define PRINTSTRING_COLOR_YELLOW D3DCOLOR_ARGB(255, 240, 220, 32)
2018-09-07 18:34:18 +02:00
#define FADE_FRAMES_COUNT 16
#define FADE_FACTOR 0.0625f
#define NUM_LIGHTS_PER_BUFFER 48
#define MAX_LIGHTS_PER_ITEM 8