114 lines
4.1 KiB
C
114 lines
4.1 KiB
C
#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()
|
|
{
|
|
//Postprocessing Zeug
|
|
g_Shaders[ PreDepth ].CompileVS(g_ShaderVSGeneral, "vs_main" );
|
|
g_Shaders[ PreDepth ].CompilePS(g_ShaderPSDepth, "ps_main" );
|
|
|
|
int iPer= 5;
|
|
int iAdd= 5;
|
|
RenderLoading( iPer );
|
|
|
|
g_Shaders[ PSSM_Proj ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ PSSM_Proj ].CompilePS(g_ShaderPSPSSM, "ps_main" );
|
|
|
|
iPer+=iAdd;
|
|
RenderLoading( iPer );
|
|
|
|
g_Shaders[ SSAO ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ SSAO ].CompilePS(g_ShaderPSAmbOcc, "ps_main" );
|
|
|
|
iPer+=iAdd;
|
|
RenderLoading( iPer );
|
|
|
|
g_Shaders[ SSAO_BlurH ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ SSAO_BlurH ].CompilePS(g_ShaderPSAmbOcc, "ps_blur_hor" );
|
|
g_Shaders[ SSAO_BlurV ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ SSAO_BlurV ].CompilePS(g_ShaderPSAmbOcc, "ps_blur_ver" );
|
|
|
|
iPer+=iAdd;
|
|
RenderLoading( iPer );
|
|
|
|
g_Shaders[ DOF_Intensity ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ DOF_Intensity ].CompilePS(g_ShaderPSDOF, "ps_blur_intensity" );
|
|
g_Shaders[ DOF ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ DOF ].CompilePS(g_ShaderPSDOF, "ps_main" );
|
|
|
|
g_Shaders[ BlurBilH ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ BlurBilH ].CompilePS(g_ShaderPSBlur, "ps_blur_bil_hor" );
|
|
g_Shaders[ BlurBilV ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ BlurBilV ].CompilePS(g_ShaderPSBlur, "ps_blur_bil_ver" );
|
|
|
|
iPer+=iAdd;
|
|
RenderLoading( iPer );
|
|
|
|
g_Shaders[ Ray_Mask ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ Ray_Mask ].CompilePS(g_ShaderPSRay, "ps_ray_mask" );
|
|
g_Shaders[ Ray_Extrude ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ Ray_Extrude ].CompilePS(g_ShaderPSRay, "ps_ray_extrude" );
|
|
|
|
g_Shaders[ Extract_InvAlpha ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ Extract_InvAlpha ].CompilePS(g_ShaderPSBlur, "ps_extract_inv_alpha" );
|
|
|
|
g_Shaders[ BlurH ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ BlurH ].CompilePS(g_ShaderPSBlur, "ps_blur_hor" );
|
|
g_Shaders[ BlurV ].CompileVS(g_ShaderVSFSQuad, "vs_main" );
|
|
g_Shaders[ BlurV ].CompilePS(g_ShaderPSBlur, "ps_blur_ver" );
|
|
|
|
iPer+=iAdd;
|
|
RenderLoading( iPer );
|
|
|
|
// Shader fuer Objekte
|
|
g_Shaders[ Phong ].CompileVS(g_ShaderVSGeneral, "vs_main" );
|
|
g_Shaders[ Phong ].CompilePS(g_ShaderPSPhong, "ps_main" );
|
|
|
|
g_Shaders[ Rainbow ].CompileVS(g_ShaderVSGeneral, "vs_main" );
|
|
g_Shaders[ Rainbow ].CompilePS(g_ShaderPSRainbow, "ps_main" );
|
|
g_Shaders[ Rainbow ].SetTextureStageSettings( 0, TI_Rainbow, TI_CLAMP );
|
|
|
|
iPer+=iAdd;
|
|
RenderLoading( iPer );
|
|
|
|
g_Shaders[ Grass ].CompileVS(g_ShaderVSGeneral, "vs_main" );
|
|
g_Shaders[ Grass ].CompilePS(g_ShaderPSGrass, "ps_main" );
|
|
g_Shaders[ Grass ].SetTextureStageSettings( 0, TI_Random );
|
|
|
|
g_Shaders[ Tarmac ].CompileVS(g_ShaderVSGeneral, "vs_main" );
|
|
g_Shaders[ Tarmac ].CompilePS(g_ShaderPSTarmac, "ps_main" );
|
|
g_Shaders[ Tarmac ].SetTextureStageSettings( 0, TI_RandomCube );
|
|
|
|
iPer+=iAdd;
|
|
RenderLoading( iPer );
|
|
|
|
g_Shaders[ Wall ].CompileVS(g_ShaderVSGeneral, "vs_main" );
|
|
g_Shaders[ Wall ].CompilePS(g_ShaderPSWall, "ps_main" );
|
|
g_Shaders[ Wall ].SetTextureStageSettings( 0, TI_RandomCube );
|
|
g_Shaders[ Wall ].SetTextureStageSettings( 1, TI_Rainbow, TI_CLAMP );
|
|
|
|
g_Shaders[ Sky ].CompileVS(g_ShaderVSSky, "vs_main" );
|
|
g_Shaders[ Sky ].CompilePS(g_ShaderPSSky, "ps_main" );
|
|
g_Shaders[ Sky ].SetTextureStageSettings( 0, TI_RandomCube );
|
|
|
|
iPer+=iAdd;
|
|
RenderLoading( iPer );
|
|
|
|
g_Shaders[ SkyDepth ].CompileVS(g_ShaderVSSky, "vs_main" );
|
|
g_Shaders[ SkyDepth ].CompilePS(g_ShaderPSDepth, "ps_main" );
|
|
|
|
g_Shaders[ Text ].CompileVS(g_ShaderVSGeneral, "vs_main" );
|
|
g_Shaders[ Text ].CompilePS(g_ShaderPSText, "ps_main" );
|
|
} |