summaryrefslogtreecommitdiff
path: root/src/win95/d3_func.h
blob: b369addd3ec8ccdb753d67549055cccb0494d348 (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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#ifndef _included_d3_func_h_
#define _included_d3_func_h_

#ifdef __cplusplus
extern "C" {
#endif


/* 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;

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;

#if 0 // disabled direct3d stuff 
/*
  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;

#endif




#ifdef __cplusplus
}
#endif

#endif /* ! _included_d3_func_h_ */