port from perforce
This commit is contained in:
161
evoke-64k/trunk/ev10/ShaderFactory.h
Normal file
161
evoke-64k/trunk/ev10/ShaderFactory.h
Normal file
@@ -0,0 +1,161 @@
|
||||
#pragma once
|
||||
|
||||
#include "globals.h"
|
||||
#include "shader.h"
|
||||
|
||||
// --> Neuen Shader hinzufuegen:
|
||||
//
|
||||
// in globals.h und globals.cpp ein neues Char Array fuer den Quellcode des Shader anlegen
|
||||
// in globals.h das Enum ShaderIndices erweitern
|
||||
// eine Datei im cfg Verzeichnis anlegen, die diesen Shader enthaelt
|
||||
// in ConfigFiles.cpp die Funktion ReadShaders() erweitern, damit die Datei in das Array eingelesen wird
|
||||
// den Shader in PrepareShaders compilieren
|
||||
|
||||
void RenderLoading( int iPercent );
|
||||
|
||||
void PrepareShaders()
|
||||
{
|
||||
IDirect3DVertexShader9* pVSGeneral = NULL;
|
||||
IDirect3DVertexShader9* pVSFSQuad = NULL;
|
||||
|
||||
#ifdef EXTRACODE
|
||||
OutputDebugString( "Creating shaders: \n" );
|
||||
DWORD dwTicks = GetTickCount();
|
||||
#endif
|
||||
|
||||
//Postprocessing Zeug
|
||||
g_Shaders[ PreDepth ].CompileVS(g_ShaderVSGeneral, "vs_main", &pVSGeneral );
|
||||
g_Shaders[ PreDepth ].CompilePS(g_ShaderPSDepth, "ps_main" );
|
||||
|
||||
g_Shaders[ PSSM_Proj ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ PSSM_Proj ].CompilePS(g_ShaderPSPSSM, "ps_main" );
|
||||
|
||||
g_Shaders[ SSAO ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ SSAO ].CompilePS(g_ShaderPSAmbOcc, "ps_main" );
|
||||
|
||||
g_Shaders[ SSAO_BlurH ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ SSAO_BlurH ].CompilePS(g_ShaderPSAmbOcc, "ps_blur_hor" );
|
||||
g_Shaders[ SSAO_BlurV ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ SSAO_BlurV ].CompilePS(g_ShaderPSAmbOcc, "ps_blur_ver" );
|
||||
|
||||
g_Shaders[ DOF_Intensity ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ DOF_Intensity ].CompilePS(g_ShaderPSDOF, "ps_blur_intensity" );
|
||||
g_Shaders[ DOF ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ DOF ].CompilePS(g_ShaderPSDOF, "ps_main" );
|
||||
|
||||
g_Shaders[ BlurBilH ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ BlurBilH ].CompilePS(g_ShaderPSBlur, "ps_blur_bil_hor" );
|
||||
g_Shaders[ BlurBilV ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ BlurBilV ].CompilePS(g_ShaderPSBlur, "ps_blur_bil_ver" );
|
||||
|
||||
g_Shaders[ Underwater ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ Underwater ].CompilePS(g_ShaderPSRay, "ps_underwater" );
|
||||
g_Shaders[ Underwater ].SetTextureStageSettings( 3, TI_Wave );
|
||||
|
||||
g_Shaders[ Underwater_Filter ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ Underwater_Filter ].CompilePS(g_ShaderPSRay, "ps_underwater_filter" );
|
||||
g_Shaders[ Underwater_Filter ].SetTextureStageSettings( 3, TI_Wave );
|
||||
|
||||
g_Shaders[ Ray_Mask ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ Ray_Mask ].CompilePS(g_ShaderPSRay, "ps_ray_mask" );
|
||||
g_Shaders[ Ray_Extrude ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ Ray_Extrude ].CompilePS(g_ShaderPSRay, "ps_ray_extrude" );
|
||||
|
||||
g_Shaders[ Extract_InvAlpha ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ Extract_InvAlpha ].CompilePS(g_ShaderPSBlur, "ps_extract_inv_alpha" );
|
||||
|
||||
g_Shaders[ BlurH ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ BlurH ].CompilePS(g_ShaderPSBlur, "ps_blur_hor" );
|
||||
g_Shaders[ BlurV ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ BlurV ].CompilePS(g_ShaderPSBlur, "ps_blur_ver" );
|
||||
|
||||
g_Shaders[ Crystal ].CompileVS(g_ShaderVSGeneral, "vs_main", &pVSGeneral );
|
||||
g_Shaders[ Crystal ].CompilePS(g_ShaderPSCrystal, "ps_main" );
|
||||
|
||||
g_Shaders[ Phong ].CompileVS(g_ShaderVSGeneral, "vs_main", &pVSGeneral );
|
||||
g_Shaders[ Phong ].CompilePS(g_ShaderPSPhong, "ps_main" );
|
||||
|
||||
g_Shaders[ Sky ].CompileVS(g_ShaderVSSky, "vs_main" );
|
||||
g_Shaders[ Sky ].CompilePS(g_ShaderPSSky, "ps_sky" );
|
||||
g_Shaders[ Sky ].SetTextureStageSettings( 0, TI_RandomCube );
|
||||
|
||||
g_Shaders[ CaveSky ].CompileVS(g_ShaderVSSky, "vs_main" );
|
||||
g_Shaders[ CaveSky ].CompilePS(g_ShaderPSSky, "ps_cave_sky" );
|
||||
g_Shaders[ CaveSky ].SetTextureStageSettings( 0, TI_RandomCube );
|
||||
|
||||
g_Shaders[ EnvSky ].CompileVS(g_ShaderVSSky, "vs_main" );
|
||||
g_Shaders[ EnvSky ].CompilePS(g_ShaderPSSky, "ps_env" );
|
||||
|
||||
g_Shaders[ Ocean ].CompileVS(g_ShaderVSOcean, "vs_main" );
|
||||
g_Shaders[ Ocean ].CompilePS(g_ShaderPSOcean, "ps_main" );
|
||||
g_Shaders[ Ocean ].SetTextureStageSettings( 0, TI_Wave );
|
||||
|
||||
g_Shaders[ Terrain ].CompileVS(g_ShaderVSGeneral, "vs_main", &pVSGeneral );
|
||||
g_Shaders[ Terrain ].CompilePS(g_ShaderPSTerrain, "ps_terrain" );
|
||||
g_Shaders[ Terrain ].SetTextureStageSettings( 0, TI_Wave );
|
||||
g_Shaders[ Terrain ].SetTextureStageSettings( 1, TI_RandomCube );
|
||||
|
||||
g_Shaders[ Cave ].CompileVS(g_ShaderVSGeneral, "vs_main", &pVSGeneral );
|
||||
g_Shaders[ Cave ].CompilePS(g_ShaderPSTerrain, "ps_cave" );
|
||||
g_Shaders[ Cave ].SetTextureStageSettings( 0, TI_Wave );
|
||||
g_Shaders[ Cave ].SetTextureStageSettings( 1, TI_RandomCube );
|
||||
|
||||
g_Shaders[ CaveGround ].CompileVS(g_ShaderVSGeneral, "vs_main", &pVSGeneral );
|
||||
g_Shaders[ CaveGround ].CompilePS(g_ShaderPSTerrain, "ps_cave_ground" );
|
||||
g_Shaders[ CaveGround ].SetTextureStageSettings( 0, TI_Wave );
|
||||
g_Shaders[ CaveGround ].SetTextureStageSettings( 1, TI_RandomCube );
|
||||
|
||||
g_Shaders[ FluidDepth ].CompileVS(g_ShaderVSFluid, "vsDepth" );
|
||||
g_Shaders[ FluidDepth ].CompilePS(g_ShaderPSFluid, "psDepth" );
|
||||
|
||||
g_Shaders[ FluidPosition ].CompileVS(g_ShaderVSFluid, "vsDeferred" );
|
||||
g_Shaders[ FluidPosition ].CompilePS(g_ShaderPSFluid, "psPosition" );
|
||||
|
||||
g_Shaders[ FluidNormal ].CompileVS(g_ShaderVSFluid, "vsDeferred" );
|
||||
g_Shaders[ FluidNormal ].CompilePS(g_ShaderPSFluid, "psNormal" );
|
||||
|
||||
g_Shaders[ FluidBlur ].CompileVS(g_ShaderVSFluid, "vsCompose" );
|
||||
g_Shaders[ FluidBlur ].CompilePS(g_ShaderPSFluid, "psBlur" );
|
||||
|
||||
g_Shaders[ FluidCompose ].CompileVS(g_ShaderVSFluid, "vsCompose" );
|
||||
g_Shaders[ FluidCompose ].CompilePS(g_ShaderPSFluid, "psCompose" );
|
||||
|
||||
g_Shaders[ TerrainDepth ].CompileVS(g_ShaderVSGeneral, "vs_main", &pVSGeneral );
|
||||
g_Shaders[ TerrainDepth ].CompilePS(g_ShaderPSDepth, "ps_main" );
|
||||
|
||||
g_Shaders[ TexGen_Perlin ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ TexGen_Perlin ].CompilePS(g_ShaderPSTexGen, "ps_perlin" );
|
||||
|
||||
g_Shaders[ TexGen_Wave ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ TexGen_Wave ].CompilePS(g_ShaderPSTexGen, "ps_wave" );
|
||||
|
||||
g_Shaders[ TexGen_Normal ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ TexGen_Normal ].CompilePS(g_ShaderPSTexGen, "ps_normal" );
|
||||
|
||||
g_Shaders[ TexGen_CubeBlur ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ TexGen_CubeBlur ].CompilePS(g_ShaderPSTexGen, "ps_cube_blur" );
|
||||
|
||||
g_Shaders[ Overlay_Logo ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ Overlay_Logo ].CompilePS(g_ShaderPSTexGen, "ps_logo" );
|
||||
|
||||
g_Shaders[ Overlay_Fade ].CompileVS(g_ShaderVSFSQuad, "vs_main", &pVSFSQuad );
|
||||
g_Shaders[ Overlay_Fade ].CompilePS(g_ShaderPSTexGen, "ps_fade" );
|
||||
|
||||
g_Shaders[ SkyDepth ].CompileVS(g_ShaderVSSky, "vs_main" );
|
||||
g_Shaders[ SkyDepth ].CompilePS(g_ShaderPSDepth, "ps_main" );
|
||||
|
||||
g_Shaders[ Text ].CompileVS(g_ShaderVSGeneral, "vs_main", &pVSGeneral );
|
||||
g_Shaders[ Text ].CompilePS(g_ShaderPSText, "ps_main" );
|
||||
g_Shaders[ Text ].SetTextureStageSettings( 0, TI_Wave );
|
||||
g_Shaders[ Text ].SetTextureStageSettings( 1, TI_RandomCube );
|
||||
|
||||
g_Shaders[ EnvLit ].CompileVS(g_ShaderVSGeneral, "vs_main", &pVSGeneral );
|
||||
g_Shaders[ EnvLit ].CompilePS(g_ShaderPSEnvLit, "ps_main" );
|
||||
|
||||
#ifdef EXTRACODE
|
||||
char cTime[256];
|
||||
dwTicks = GetTickCount() - dwTicks;
|
||||
sprintf_s( cTime, "Shader Compilation Time: %d \n", dwTicks );
|
||||
OutputDebugString( cTime );
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user