1 #ifndef AVP_OPENGL_H
2 #define AVP_OPENGL_H
3 
4 #include "kshape.h"
5 
6 
7 #define OPENGL_VERTEX_ATTRIB_INDEX 0
8 #define OPENGL_TEXCOORD_ATTRIB_INDEX 1
9 #define OPENGL_COLOR0_ATTRIB_INDEX 2
10 #define OPENGL_COLOR1_ATTRIB_INDEX 3
11 
12 #define OPENGL_VERTEX_ATTRIB_BITINDEX (1 << OPENGL_VERTEX_ATTRIB_INDEX)
13 #define OPENGL_TEXCOORD_ATTRIB_BITINDEX (1 << OPENGL_TEXCOORD_ATTRIB_INDEX)
14 #define OPENGL_COLOR0_ATTRIB_BITINDEX (1 << OPENGL_COLOR0_ATTRIB_INDEX)
15 #define OPENGL_COLOR1_ATTRIB_BITINDEX (1 << OPENGL_COLOR1_ATTRIB_INDEX)
16 
17 enum AVP_SHADER_PROGRAM {
18 	AVP_SHADER_PROGRAM_DEFAULT,
19 	AVP_SHADER_PROGRAM_NO_SECONDARY,
20 	AVP_SHADER_PROGRAM_NO_TEXTURE,
21 	AVP_SHADER_PROGRAM_NO_DISCARD,
22 	AVP_SHADER_PROGRAM_NO_SECONDARY_NO_DISCARD,
23 	AVP_SHADER_PROGRAM_NO_COLOR_NO_DISCARD,
24 	AVP_SHADER_PROGRAM_MAX
25 };
26 
27 void SelectProgram(enum AVP_SHADER_PROGRAM program);
28 void DrawFullscreenTexture(int texureObject);
29 
30 void InitOpenGL(int firsttime);
31 void ThisFramesRenderingHasBegun();
32 void ThisFramesRenderingHasFinished();
33 void D3D_SkyPolygon_Output(POLYHEADER *inputPolyPtr, RENDERVERTEX *renderVerticesPtr);
34 void D3D_DrawBackdrop();
35 void D3D_FadeDownScreen(int brightness, int colour);
36 void RenderString(char *stringPtr, int x, int y, int colour);
37 void RenderStringCentred(char *stringPtr, int centreX, int y, int colour);
38 void RenderStringVertically(char *stringPtr, int centreX, int bottomY, int colour);
39 void D3D_DecalSystem_Setup();
40 void D3D_DecalSystem_End();
41 void SecondFlushD3DZBuffer();
42 void D3D_PlayerDamagedOverlay(int intensity);
43 void D3D_PredatorScreenInversionOverlay();
44 void D3D_ScreenInversionOverlay();
45 void D3D_DrawColourBar(int yTop, int yBottom, int rScale, int gScale, int bScale);
46 
47 #endif
48