107 lines
2.3 KiB
C
107 lines
2.3 KiB
C
![]() |
#ifndef _included_d3_func_h_
|
||
|
#define _included_d3_func_h_
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
Direct3D globals
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
Maximum number of Direct3D drivers ever
|
||
|
expected to be resident on the system.
|
||
|
*/
|
||
|
#define MAX_D3D_DRIVERS 5
|
||
|
/*
|
||
|
Maximum number of texture formats ever
|
||
|
expected to be reported by a Direct3D
|
||
|
driver.
|
||
|
*/
|
||
|
#define MAX_TEXTURE_FORMATS 10
|
||
|
|
||
|
/*
|
||
|
Description of a D3D driver.
|
||
|
*/
|
||
|
|
||
|
typedef struct D3DDriverInfo {
|
||
|
char Name[30]; /* short name of driver */
|
||
|
char About[50]; /* string about driver */
|
||
|
D3DDEVICEDESC Desc; /* full driver description */
|
||
|
GUID Guid; /* wacky universally unique id thingy */
|
||
|
BOOL Hardware; /* accelerated driver? */
|
||
|
BOOL Textures; /* Texture mapping available? */
|
||
|
BOOL ZBuffer; /* Z Buffering available? */
|
||
|
} D3DDRIVERINFO;
|
||
|
|
||
|
/*
|
||
|
Description of a D3D driver texture
|
||
|
format.
|
||
|
*/
|
||
|
|
||
|
typedef struct D3DTextureFormat {
|
||
|
DDSURFACEDESC ddsd; /* DDSURFACEDESC for the surface description */
|
||
|
BOOL Palette; /* is Palettized? */
|
||
|
int RedBPP; /* #red bits per pixel */
|
||
|
int BlueBPP; /* #blue bits per pixel */
|
||
|
int GreenBPP; /* #green bits per pixel */
|
||
|
int IndexBPP; /* number of bits in palette index */
|
||
|
} D3DTEXTUREFORMAT;
|
||
|
|
||
|
|
||
|
typedef struct D3DInfo {
|
||
|
LPDIRECT3D lpD3D;
|
||
|
LPDIRECT3DDEVICE lpD3DDevice;
|
||
|
LPDIRECT3DVIEWPORT lpD3DViewport;
|
||
|
int NumDrivers;
|
||
|
int CurrentDriver;
|
||
|
D3DDEVICEDESC ThisDriver;
|
||
|
D3DDRIVERINFO Driver[MAX_D3D_DRIVERS];
|
||
|
int CurrentTextureFormat;
|
||
|
int NumTextureFormats;
|
||
|
D3DTEXTUREFORMAT TextureFormat[MAX_TEXTURE_FORMATS];
|
||
|
} D3DINFO;
|
||
|
|
||
|
|
||
|
|
||
|
/* KJL 14:24:45 12/4/97 - render state information */
|
||
|
enum TRANSLUCENCY_TYPE
|
||
|
{
|
||
|
TRANSLUCENCY_OFF,
|
||
|
TRANSLUCENCY_NORMAL,
|
||
|
TRANSLUCENCY_INVCOLOUR,
|
||
|
TRANSLUCENCY_COLOUR,
|
||
|
TRANSLUCENCY_GLOWING,
|
||
|
TRANSLUCENCY_DARKENINGCOLOUR,
|
||
|
TRANSLUCENCY_JUSTSETZ,
|
||
|
TRANSLUCENCY_NOT_SET
|
||
|
};
|
||
|
|
||
|
enum FILTERING_MODE_ID
|
||
|
{
|
||
|
FILTERING_BILINEAR_OFF,
|
||
|
FILTERING_BILINEAR_ON,
|
||
|
FILTERING_NOT_SET
|
||
|
};
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
enum TRANSLUCENCY_TYPE TranslucencyMode;
|
||
|
enum FILTERING_MODE_ID FilteringMode;
|
||
|
int FogDistance;
|
||
|
unsigned int FogIsOn :1;
|
||
|
unsigned int WireFrameModeIsOn :1;
|
||
|
|
||
|
} RENDERSTATES;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* ! _included_d3_func_h_ */
|