//---------------------------------------------------------------------------------------------------------------------------------------------------
//
// Copyright (C)2007 DarkWynter Studios. All rights reserved.
//
//---------------------------------------------------------------------------------------------------------------------------------------------------
// {Contact : darkwynter.com for licensing information
//---------------------------------------------------------------------------------------------------------------------------------------------------
namespace ElementalGame
{
#region Using Statements
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
#endregion
public class ShaderParameters
{
Effect effect;
public static EffectParameter ViewProj;
public static EffectParameter World;
public static EffectParameter WorldInverseTranspose;
public static EffectParameter LightViewProj1;
public static EffectParameter LightViewProj2;
public static EffectParameter EyePostion;
public static EffectParameter EyePostion1;
public static EffectParameter EyePostion2;
public static EffectParameter EyePostion3;
public static EffectParameter ScreenWidth;
public static EffectParameter ScreenHeight;
public static EffectParameter playerIsDead;
public static EffectParameter pixelColor1;
public static EffectParameter pixelColor2;
public static EffectParameter fogColor;
public static EffectParameter fogDensity;
public static EffectParameter zMaxDepth;
public static EffectParameter light0;
public static EffectParameter light1;
public static EffectParameter coreShininess;
public static EffectParameter WaveRadius;
public static EffectParameter SphereRadius;
public static EffectParameter particleType;
public static EffectParameter particleLookVector;
public static EffectParameter particleEnergyValue;
public static EffectParameter coreMaterialDiffuse;
public static EffectParameter coreMaterialSpecular;
public static EffectParameter halfwayVector1;
public static EffectParameter halfwayVector2;
public static EffectParameter diffuse0;
public static EffectParameter diffuse1;
public static EffectParameter specular0;
public static EffectParameter specular1;
public static EffectParameter ambientColor;
public static EffectParameter diffuseColor;
public static EffectParameter specularColor;
public static EffectParameter textureValue;
public static EffectParameter worldMinY;
public static EffectParameter worldMaxY;
public static EffectParameter targetFeedbackArray;
public static EffectParameter btime;
public static EffectParameter ScreenTexture;
public static EffectParameter boulderRichtor;
public static EffectParameter boulderAmplitude;
public static EffectParameter boudlerRedShift;
public static EffectParameter waveFormScaler;
public static EffectParameter LightUpTerrainMod;
public static EffectParameter PlaneRayIntersectionPoint;
public static EffectParameter TerrainModRange;
public static EffectParameter normal;
public static EffectParameter playerPosition;
public static EffectParameter terrainMapSize;
public static EffectParameter terrainScaleFactor;
public static EffectParameter matrixPalette;
public static EffectParameter modelTexture1;
public static EffectParameter modelTexture2;
public static EffectParameter modelTexture3;
public static EffectParameter modelTexture4;
public static EffectParameter modelTexture5;
public static EffectParameter modelTexture6;
public static EffectParameter bumpTexture1;
public static EffectParameter bumpTexture2;
public static EffectParameter bumpTexture3;
public static EffectParameter bumpTexture4;
public static EffectParameter bumpTexture5;
public static EffectParameter bumpTexture6;
public static EffectParameter shadowTexture1;
public static EffectParameter shadowTexture2;
public static EffectParameter terrainModTexture;
public static EffectParameter heightMapTexture;
public static EffectParameter terrainNormalMapTexture;
public static EffectParameter hitTime;
public static EffectParameter hits;
public ShaderParameters()
{
effect = ElementalGame.content.Load("Shaders/ElementalGPU");
}
public void LoadParameters()
{
// Std Matrix
ViewProj = effect.Parameters["ViewProj"];
World = effect.Parameters["World"];
WorldInverseTranspose = effect.Parameters["WorldInverseTranspose"];
// Raster
ScreenWidth = effect.Parameters["ScreenWidth"];
ScreenHeight = effect.Parameters["ScreenHeight"];
pixelColor1 = effect.Parameters["pixelColor1"];
pixelColor2 = effect.Parameters["pixelColor2"];
fogColor = effect.Parameters["fogColor"];
fogDensity = effect.Parameters["fogDensity"];
zMaxDepth = effect.Parameters["zMaxDepth"];
// Lighting
light0 = effect.Parameters["light0"];
light1 = effect.Parameters["light1"];
coreShininess = effect.Parameters["coreShininess"];
coreMaterialDiffuse = effect.Parameters["coreMaterialDiffuse"];
coreMaterialSpecular = effect.Parameters["coreMaterialSpecular"];
halfwayVector1 = effect.Parameters["halfwayVector1"];
halfwayVector2 = effect.Parameters["halfwayVector2"];
diffuse0 = effect.Parameters["diffuse0"];
diffuse1 = effect.Parameters["diffuse1"];
specular0 = effect.Parameters["specular0"];
specular1 = effect.Parameters["specular1"];
ambientColor = effect.Parameters["ambientColor"];
diffuseColor = effect.Parameters["diffuseColor"];
specularColor = effect.Parameters["specularColor"];
// Shadow
LightViewProj1 = effect.Parameters["LightViewProj1"];
LightViewProj2 = effect.Parameters["LightViewProj2"];
EyePostion = effect.Parameters["EyePostion"];
EyePostion1 = effect.Parameters["EyePostion1"];
EyePostion2 = effect.Parameters["EyePostion2"];
EyePostion3 = effect.Parameters["EyePostion3"];
// Particle Shader
boulderRichtor = effect.Parameters["particleRichtor"];
boulderAmplitude = effect.Parameters["particleAmplitude"];
boudlerRedShift = effect.Parameters["particleRedShift"];
waveFormScaler = effect.Parameters["waveFormScaler"];
WaveRadius = effect.Parameters["WaveRadius"];
SphereRadius = effect.Parameters["SphereRadius"];
particleType = effect.Parameters["particleType"];
particleLookVector = effect.Parameters["particleLookVector"];
particleEnergyValue = effect.Parameters["particleEnergyValue"];
// Multi- Texturing
modelTexture1 = effect.Parameters["modelTexture1"];
modelTexture2 = effect.Parameters["modelTexture2"];
modelTexture3 = effect.Parameters["modelTexture3"];
modelTexture4 = effect.Parameters["modelTexture4"];
modelTexture5 = effect.Parameters["modelTexture5"];
modelTexture6 = effect.Parameters["modelTexture6"];
bumpTexture1 = effect.Parameters["bumpTexture1"];
bumpTexture2 = effect.Parameters["bumpTexture2"];
bumpTexture3 = effect.Parameters["bumpTexture3"];
bumpTexture4 = effect.Parameters["bumpTexture4"];
bumpTexture5 = effect.Parameters["bumpTexture5"];
bumpTexture6 = effect.Parameters["bumpTexture6"];
shadowTexture1 = effect.Parameters["shadowTexture1"];
shadowTexture2 = effect.Parameters["shadowTexture2"];
// Terrain
heightMapTexture = effect.Parameters["heightMapTexture"];
terrainMapSize = effect.Parameters["terrainMapSize"];
terrainScaleFactor = effect.Parameters["terrainScaleFactor"];
terrainNormalMapTexture = effect.Parameters["terrainNormalMapTexture"];
// Terrain Mod Range
TerrainModRange = effect.Parameters["TerrainModRange"];
terrainModTexture = effect.Parameters["terrainModTexture"];
LightUpTerrainMod = effect.Parameters["LightUpTerrainMod"];
playerIsDead = effect.Parameters["playerIsDead"];
hitTime = effect.Parameters["hitTime"];
hits = effect.Parameters["hits"];
targetFeedbackArray = effect.Parameters["targetFeedbackArray"];
btime = effect.Parameters["btime"];
textureValue = effect.Parameters["textureValue"];
worldMinY = effect.Parameters["worldMinY"];
worldMaxY = effect.Parameters["worldMaxY"];
ScreenTexture = effect.Parameters["ScreenTexture"];
PlaneRayIntersectionPoint = effect.Parameters["PlaneRayIntersectionPoint"];
normal = effect.Parameters["normal"];
playerPosition = effect.Parameters["playerPosition"];
matrixPalette = effect.Parameters["MatrixPalette"];
}
}
}