port from perforce
This commit is contained in:
114
evoke-64k/bp10/ShaderFactory.h
Normal file
114
evoke-64k/bp10/ShaderFactory.h
Normal file
@@ -0,0 +1,114 @@
|
||||
#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" );
|
||||
}
|
||||
Reference in New Issue
Block a user