213 lines
3.6 KiB
C
213 lines
3.6 KiB
C
#pragma once
|
|
|
|
#include "defines.h"
|
|
#include <windows.h>
|
|
#include <mmsystem.h>
|
|
#include <d3d9.h>
|
|
#include <d3dx9math.h>
|
|
|
|
#include "VUMeter.h"
|
|
//#include "ScriptState.h"
|
|
#include "Renderjob.h"
|
|
#include "Texture.h"
|
|
#include "Shader.h"
|
|
#include "PSSM.h"
|
|
#include "random.h"
|
|
#include "camera.h"
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Globale Daten
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
extern IDirect3D9 *g_D3D;
|
|
extern IDirect3DDevice9 *g_d3d_device;
|
|
|
|
extern D3DPRESENT_PARAMETERS d3dpp;
|
|
extern UINT g_nShadowResolution;
|
|
extern float g_fResolutionFactor;
|
|
extern int g_iResolutionFactorExp;
|
|
|
|
extern D3DLIGHT9 d3dLight[3];
|
|
|
|
extern D3DMATERIAL9 d3dMaterial;
|
|
|
|
extern D3DXMATRIX g_matView;
|
|
|
|
extern D3DXMATRIX g_matProjection;
|
|
|
|
extern D3DXMATRIX g_matVP;
|
|
|
|
extern D3DXMATRIX g_matWVP;
|
|
|
|
enum TextureIndices
|
|
{
|
|
TI_RotMatrix= 0,
|
|
TI_Random= 1,
|
|
TI_RandomCube= 2,
|
|
TI_LightSpec1D= 7,
|
|
TI_First1D= 8,
|
|
TI_White= 8,
|
|
TI_Light1D= 9,
|
|
TI_LightTest= 10,
|
|
TI_Rainbow= 11,
|
|
TextureCount= 32,
|
|
TI_IgnoreSetting= -1,
|
|
TI_CLAMP= -2,
|
|
};
|
|
|
|
|
|
extern Texture g_pTextures[ TextureCount ];
|
|
|
|
enum RenderTargetIndices
|
|
{
|
|
RT_DEPTH,
|
|
RT_COLOR,
|
|
|
|
RT_AUX1,
|
|
RT_AUX2,
|
|
|
|
RT_SHADOW,
|
|
|
|
RT_COUNT
|
|
};
|
|
extern IDirect3DTexture9* g_pFullScreenRT[ RT_COUNT ];
|
|
|
|
enum RenderTargetSurfaceIndices
|
|
{
|
|
RTS_DEFAULT_DS,
|
|
RTS_DEPTH,
|
|
RTS_DEPTH_MS,
|
|
RTS_COLOR,
|
|
RTS_COLOR_MS,
|
|
|
|
RTS_AUX1,
|
|
RTS_AUX2,
|
|
|
|
RTS_SHADOW,
|
|
RTS_SHADOW_DS,
|
|
|
|
RTS_COUNT
|
|
};
|
|
extern IDirect3DSurface9* g_pFullScreenRTS[ RTS_COUNT ];
|
|
|
|
extern SCameraDefinition g_Camera;
|
|
extern D3DXVECTOR3 g_CamFront;
|
|
|
|
extern D3DXVECTOR3 g_LightDir;
|
|
extern float g_fGlow;
|
|
extern float g_fClouds;
|
|
extern float g_fPlasmaGrid;
|
|
|
|
extern PSSM g_PSSM;
|
|
|
|
enum ObjectIndices
|
|
{
|
|
Streets= 0,
|
|
OI_BuildingFirst= 32,
|
|
OI_BuildingLast= 127,
|
|
OI_FlockFirst= 128,
|
|
OI_FlockLast= 256,
|
|
OI_BlockTreeFirst= 256,
|
|
OI_BlockTreeLast= 384,
|
|
OI_BowFront= 384,
|
|
OI_Text= 512,
|
|
OI_TextLast= 639,
|
|
ObjectCount= 1024
|
|
};
|
|
|
|
extern Renderjob g_Objects[ ObjectCount ];
|
|
extern Renderjob* g_pEditObject;
|
|
|
|
extern Renderjob g_SkyBox;
|
|
extern Renderjob g_FullScreenQuad;
|
|
|
|
const int g_iShaderCount= 64;
|
|
extern Shader g_Shaders[ g_iShaderCount ];
|
|
|
|
#ifndef STARTMUSIC
|
|
extern DWORD g_dwTimeReplaceStart;
|
|
#endif
|
|
|
|
extern int g_iTempo;
|
|
const int g_iSampleOffsetGeneral= 2205;
|
|
extern int g_iSampleOffset;
|
|
|
|
extern int g_dwSamplesPassed;
|
|
extern int g_dwSamples;
|
|
|
|
extern SVUMeter g_vuLightBeat;
|
|
extern SVUMeter g_vuOffBeat;
|
|
|
|
//extern ScriptState g_ScriptState;
|
|
|
|
extern RandomGenerator g_Random;
|
|
|
|
#ifdef EXTRACODE
|
|
//extern unsigned char g_Script[ 2048 ];
|
|
//extern float g_ScriptParamFloat[ 512 ];
|
|
#else
|
|
//#include "scriptdata.h"
|
|
#endif
|
|
|
|
enum ShaderIndices
|
|
{
|
|
PreDepth,
|
|
|
|
PSSM_Proj,
|
|
SSAO,
|
|
SSAO_BlurH,
|
|
SSAO_BlurV,
|
|
DOF_Intensity,
|
|
DOF,
|
|
BlurBilH,
|
|
BlurBilV,
|
|
Ray_Mask,
|
|
Ray_Extrude,
|
|
BlurH,
|
|
BlurV,
|
|
Extract_InvAlpha,
|
|
|
|
Phong,
|
|
Rainbow,
|
|
Tarmac,
|
|
Grass,
|
|
Wall,
|
|
Sky,
|
|
SkyDepth,
|
|
Text,
|
|
};
|
|
|
|
#ifdef EXTRACODE
|
|
extern char g_ShaderVSGeneral[ 65536 ];
|
|
extern char g_ShaderPSPhong[ 65536 ];
|
|
extern char g_ShaderPSRainbow[ 65536 ];
|
|
extern char g_ShaderPSTarmac[ 65536 ];
|
|
extern char g_ShaderPSGrass[ 65536 ];
|
|
extern char g_ShaderPSWall[ 65536 ];
|
|
extern char g_ShaderPSDepth[ 65536 ];
|
|
extern char g_ShaderPSText[ 65536 ];
|
|
|
|
extern char g_ShaderVSSky[ 65536 ];
|
|
extern char g_ShaderPSSky[ 65536 ];
|
|
|
|
extern char g_ShaderVSFSQuad[ 65536 ];
|
|
extern char g_ShaderPSPSSM[ 65536 ];
|
|
extern char g_ShaderPSAmbOcc[ 65536 ];
|
|
extern char g_ShaderPSDOF[ 65536 ];
|
|
extern char g_ShaderPSRay[ 65536 ];
|
|
extern char g_ShaderPSBlur[ 65536 ];
|
|
#else
|
|
#include "shaderdata.h"
|
|
#endif
|
|
|
|
#ifdef EXTRACODE
|
|
#include "schmierdat.h"
|
|
#else
|
|
#include "schmierdat.h"
|
|
#endif
|
|
|
|
|
|
void InitGlobals();
|