blob: eedbd5eb626579d60246a60bc165d6725afdd9c1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
#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_ */
|