/// <summary> /// Constructor /// </summary> /// <param name="graphics">Graphics device</param> /// <param name="effect">Effect code</param> /// <param name="compile">Compile code</param> public EffectDeferredComposer(Graphics graphics, byte[] effect, bool compile) : base(graphics, effect, compile) { this.DeferredDirectionalLight = this.Effect.GetTechniqueByName("DeferredDirectionalLight"); this.DeferredPointStencil = this.Effect.GetTechniqueByName("DeferredPointStencil"); this.DeferredPointLight = this.Effect.GetTechniqueByName("DeferredPointLight"); this.DeferredSpotStencil = this.Effect.GetTechniqueByName("DeferredSpotStencil"); this.DeferredSpotLight = this.Effect.GetTechniqueByName("DeferredSpotLight"); this.DeferredCombineLights = this.Effect.GetTechniqueByName("DeferredCombineLights"); this.worldVar = this.Effect.GetVariableMatrix("gWorld"); this.worldViewProjectionVar = this.Effect.GetVariableMatrix("gWorldViewProjection"); this.eyePositionWorldVar = this.Effect.GetVariableVector("gEyePositionWorld"); this.directionalLightVar = this.Effect.GetVariable("gDirLight"); this.pointLightVar = this.Effect.GetVariable("gPointLight"); this.spotLightVar = this.Effect.GetVariable("gSpotLight"); this.hemisphericLightVar = this.Effect.GetVariable("gHemiLight"); this.fogStartVar = this.Effect.GetVariableScalar("gFogStart"); this.fogRangeVar = this.Effect.GetVariableScalar("gFogRange"); this.fogColorVar = this.Effect.GetVariableVector("gFogColor"); this.tg1MapVar = this.Effect.GetVariableTexture("gTG1Map"); this.tg2MapVar = this.Effect.GetVariableTexture("gTG2Map"); this.tg3MapVar = this.Effect.GetVariableTexture("gTG3Map"); this.lightMapVar = this.Effect.GetVariableTexture("gLightMap"); this.materialPaletteWidthVar = this.Effect.GetVariableScalar("gMaterialPaletteWidth"); this.materialPaletteVar = this.Effect.GetVariableTexture("gMaterialPalette"); this.lodVar = this.Effect.GetVariableVector("gLOD"); this.shadowMapDirectionalVar = this.Effect.GetVariableTexture("gShadowMapDir"); this.shadowMapPointVar = this.Effect.GetVariableTexture("gShadowMapPoint"); this.shadowMapSpotVar = this.Effect.GetVariableTexture("gShadowMapSpot"); }
/// <summary> /// Constructor /// </summary> /// <param name="graphics">Graphics device</param> /// <param name="effect">Effect code</param> /// <param name="compile">Compile code</param> public EffectDefaultBillboard(Graphics graphics, byte[] effect, bool compile) : base(graphics, effect, compile) { this.ForwardBillboard = this.Effect.GetTechniqueByName("ForwardBillboard"); this.worldVar = this.Effect.GetVariableMatrix("gWorld"); this.worldViewProjectionVar = this.Effect.GetVariableMatrix("gWorldViewProjection"); this.materialIndexVar = this.Effect.GetVariableScalar("gMaterialIndex"); this.hemiLightVar = this.Effect.GetVariable("gPSHemiLight"); this.dirLightsVar = this.Effect.GetVariable("gDirLights"); this.pointLightsVar = this.Effect.GetVariable("gPointLights"); this.spotLightsVar = this.Effect.GetVariable("gSpotLights"); this.lightCountVar = this.Effect.GetVariableVector("gLightCount"); this.eyePositionWorldVar = this.Effect.GetVariableVector("gEyePositionWorld"); this.fogStartVar = this.Effect.GetVariableScalar("gFogStart"); this.fogRangeVar = this.Effect.GetVariableScalar("gFogRange"); this.fogColorVar = this.Effect.GetVariableVector("gFogColor"); this.startRadiusVar = this.Effect.GetVariableScalar("gStartRadius"); this.endRadiusVar = this.Effect.GetVariableScalar("gEndRadius"); this.textureCountVar = this.Effect.GetVariableScalar("gTextureCount"); this.normalMapCountVar = this.Effect.GetVariableScalar("gNormalMapCount"); this.texturesVar = this.Effect.GetVariableTexture("gTextureArray"); this.normalMapsVar = this.Effect.GetVariableTexture("gNormalMapArray"); this.textureRandomVar = this.Effect.GetVariableTexture("gTextureRandom"); this.materialPaletteWidthVar = this.Effect.GetVariableScalar("gMaterialPaletteWidth"); this.materialPaletteVar = this.Effect.GetVariableTexture("gMaterialPalette"); this.lodVar = this.Effect.GetVariableVector("gLOD"); this.shadowMapDirectionalVar = this.Effect.GetVariableTexture("gShadowMapDir"); this.shadowMapPointVar = this.Effect.GetVariableTexture("gShadowMapPoint"); this.shadowMapSpotVar = this.Effect.GetVariableTexture("gShadowMapSpot"); }
/// <summary> /// Constructor /// </summary> /// <param name="graphics">Graphics device</param> /// <param name="effect">Effect code</param> /// <param name="compile">Compile code</param> public EffectDefaultTerrain(Graphics graphics, byte[] effect, bool compile) : base(graphics, effect, compile) { this.TerrainAlphaMapForward = this.Effect.GetTechniqueByName("TerrainAlphaMapForward"); this.TerrainSlopesForward = this.Effect.GetTechniqueByName("TerrainSlopesForward"); this.TerrainFullForward = this.Effect.GetTechniqueByName("TerrainFullForward"); //Globals this.materialPaletteWidthVar = this.Effect.GetVariableScalar("gMaterialPaletteWidth"); this.materialPaletteVar = this.Effect.GetVariableTexture("gMaterialPalette"); this.lodVar = this.Effect.GetVariableVector("gLOD"); //Per frame this.worldVar = this.Effect.GetVariableMatrix("gVSWorld"); this.worldViewProjectionVar = this.Effect.GetVariableMatrix("gVSWorldViewProjection"); this.textureResolutionVar = this.Effect.GetVariableScalar("gVSTextureResolution"); this.eyePositionWorldVar = this.Effect.GetVariableVector("gPSEyePositionWorld"); this.lightCountVar = this.Effect.GetVariableVector("gPSLightCount"); this.fogColorVar = this.Effect.GetVariableVector("gPSFogColor"); this.fogStartVar = this.Effect.GetVariableScalar("gPSFogStart"); this.fogRangeVar = this.Effect.GetVariableScalar("gPSFogRange"); this.hemiLightVar = this.Effect.GetVariable("gPSHemiLight"); this.dirLightsVar = this.Effect.GetVariable("gPSDirLights"); this.pointLightsVar = this.Effect.GetVariable("gPSPointLights"); this.spotLightsVar = this.Effect.GetVariable("gPSSpotLights"); this.shadowMapDirectionalVar = this.Effect.GetVariableTexture("gPSShadowMapDir"); this.shadowMapPointVar = this.Effect.GetVariableTexture("gPSShadowMapPoint"); this.shadowMapSpotVar = this.Effect.GetVariableTexture("gPSShadowMapSpot"); //Per object this.parametersVar = this.Effect.GetVariableVector("gPSParams"); this.useColorDiffuseVar = this.Effect.GetVariableScalar("gPSUseColorDiffuse"); this.useColorSpecularVar = this.Effect.GetVariableScalar("gPSUseColorSpecular"); this.materialIndexVar = this.Effect.GetVariableScalar("gPSMaterialIndex"); this.normalMapVar = this.Effect.GetVariableTexture("gPSNormalMapArray"); this.specularMapVar = this.Effect.GetVariableTexture("gPSSpecularMapArray"); this.colorTexturesVar = this.Effect.GetVariableTexture("gPSColorTextureArray"); this.alphaMapVar = this.Effect.GetVariableTexture("gPSAlphaTexture"); this.diffuseMapLRVar = this.Effect.GetVariableTexture("gPSDiffuseMapLRArray"); this.diffuseMapHRVar = this.Effect.GetVariableTexture("gPSDiffuseMapHRArray"); //Samplers this.samplerDiffuseVar = this.Effect.GetVariableSampler("SamplerDiffuse"); this.samplerSpecularVar = this.Effect.GetVariableSampler("SamplerSpecular"); this.samplerNormalVar = this.Effect.GetVariableSampler("SamplerNormal"); //Initialize states this.samplerPoint = EngineSamplerState.Point(graphics); this.samplerLinear = EngineSamplerState.Linear(graphics); this.samplerAnisotropic = EngineSamplerState.Anisotropic(graphics, 8); }
/// <summary> /// Constructor /// </summary> /// <param name="graphics">Graphics device</param> /// <param name="effect">Effect code</param> /// <param name="compile">Compile code</param> public EffectDefaultWater(Graphics graphics, byte[] effect, bool compile) : base(graphics, effect, compile) { this.Water = this.Effect.GetTechniqueByName("Water"); this.worldVar = this.Effect.GetVariableMatrix("gVSWorld"); this.worldViewProjectionVar = this.Effect.GetVariableMatrix("gVSWorldViewProjection"); this.eyePositionWorldVar = this.Effect.GetVariableVector("gPSEyePositionWorld"); this.baseColorVar = this.Effect.GetVariableVector("gPSBaseColor"); this.waterColorVar = this.Effect.GetVariableVector("gPSWaterColor"); this.waveParamsVar = this.Effect.GetVariableVector("gPSWaveParams"); this.ambientVar = this.Effect.GetVariableScalar("gPSAmbient"); this.fogRangeVar = this.Effect.GetVariableScalar("gPSFogRange"); this.fogStartVar = this.Effect.GetVariableScalar("gPSFogStart"); this.fogColorVar = this.Effect.GetVariableVector("gPSFogColor"); this.totalTimeVar = this.Effect.GetVariableScalar("gPSTotalTime"); this.iterParamsVar = this.Effect.GetVariableVector("gPSIters"); this.lightCountVar = this.Effect.GetVariableScalar("gPSLightCount"); this.dirLightsVar = this.Effect.GetVariable("gPSDirLights"); }
/// <summary> /// Constructor /// </summary> /// <param name="graphics">Graphics device</param> /// <param name="effect">Effect code</param> /// <param name="compile">Compile code</param> public EffectDefaultBasic(Graphics graphics, byte[] effect, bool compile) : base(graphics, effect, compile) { this.PositionColor = this.Effect.GetTechniqueByName("PositionColor"); this.PositionColorSkinned = this.Effect.GetTechniqueByName("PositionColorSkinned"); this.PositionNormalColor = this.Effect.GetTechniqueByName("PositionNormalColor"); this.PositionNormalColorSkinned = this.Effect.GetTechniqueByName("PositionNormalColorSkinned"); this.PositionTexture = this.Effect.GetTechniqueByName("PositionTexture"); this.PositionTextureNOALPHA = this.Effect.GetTechniqueByName("PositionTextureNOALPHA"); this.PositionTextureRED = this.Effect.GetTechniqueByName("PositionTextureRED"); this.PositionTextureGREEN = this.Effect.GetTechniqueByName("PositionTextureGREEN"); this.PositionTextureBLUE = this.Effect.GetTechniqueByName("PositionTextureBLUE"); this.PositionTextureALPHA = this.Effect.GetTechniqueByName("PositionTextureALPHA"); this.PositionTextureSkinned = this.Effect.GetTechniqueByName("PositionTextureSkinned"); this.PositionNormalTexture = this.Effect.GetTechniqueByName("PositionNormalTexture"); this.PositionNormalTextureSkinned = this.Effect.GetTechniqueByName("PositionNormalTextureSkinned"); this.PositionNormalTextureTangent = this.Effect.GetTechniqueByName("PositionNormalTextureTangent"); this.PositionNormalTextureTangentSkinned = this.Effect.GetTechniqueByName("PositionNormalTextureTangentSkinned"); this.InstancingPositionColor = this.Effect.GetTechniqueByName("PositionColorI"); this.InstancingPositionColorSkinned = this.Effect.GetTechniqueByName("PositionColorSkinnedI"); this.InstancingPositionNormalColor = this.Effect.GetTechniqueByName("PositionNormalColorI"); this.InstancingPositionNormalColorSkinned = this.Effect.GetTechniqueByName("PositionNormalColorSkinnedI"); this.InstancingPositionTexture = this.Effect.GetTechniqueByName("PositionTextureI"); this.InstancingPositionTextureNOALPHA = this.Effect.GetTechniqueByName("PositionTextureNOALPHAI"); this.InstancingPositionTextureRED = this.Effect.GetTechniqueByName("PositionTextureREDI"); this.InstancingPositionTextureGREEN = this.Effect.GetTechniqueByName("PositionTextureGREENI"); this.InstancingPositionTextureBLUE = this.Effect.GetTechniqueByName("PositionTextureBLUEI"); this.InstancingPositionTextureALPHA = this.Effect.GetTechniqueByName("PositionTextureALPHAI"); this.InstancingPositionTextureSkinned = this.Effect.GetTechniqueByName("PositionTextureSkinnedI"); this.InstancingPositionNormalTexture = this.Effect.GetTechniqueByName("PositionNormalTextureI"); this.InstancingPositionNormalTextureSkinned = this.Effect.GetTechniqueByName("PositionNormalTextureSkinnedI"); this.InstancingPositionNormalTextureTangent = this.Effect.GetTechniqueByName("PositionNormalTextureTangentI"); this.InstancingPositionNormalTextureTangentSkinned = this.Effect.GetTechniqueByName("PositionNormalTextureTangentSkinnedI"); //Globals this.animationPaletteWidthVar = this.Effect.GetVariableScalar("gAnimationPaletteWidth"); this.animationPaletteVar = this.Effect.GetVariableTexture("gAnimationPalette"); this.materialPaletteWidthVar = this.Effect.GetVariableScalar("gMaterialPaletteWidth"); this.materialPaletteVar = this.Effect.GetVariableTexture("gMaterialPalette"); this.lodVar = this.Effect.GetVariableVector("gLOD"); //Per frame this.worldVar = this.Effect.GetVariableMatrix("gVSWorld"); this.worldViewProjectionVar = this.Effect.GetVariableMatrix("gVSWorldViewProjection"); this.eyePositionWorldVar = this.Effect.GetVariableVector("gPSEyePositionWorld"); this.hemiLightVar = this.Effect.GetVariable("gPSHemiLight"); this.dirLightsVar = this.Effect.GetVariable("gPSDirLights"); this.pointLightsVar = this.Effect.GetVariable("gPSPointLights"); this.spotLightsVar = this.Effect.GetVariable("gPSSpotLights"); this.lightCountVar = this.Effect.GetVariableVector("gPSLightCount"); this.fogStartVar = this.Effect.GetVariableScalar("gPSFogStart"); this.fogRangeVar = this.Effect.GetVariableScalar("gPSFogRange"); this.fogColorVar = this.Effect.GetVariableVector("gPSFogColor"); this.shadowMapDirectionalVar = this.Effect.GetVariableTexture("gPSShadowMapDir"); this.shadowMapPointVar = this.Effect.GetVariableTexture("gPSShadowMapPoint"); this.shadowMapSpotVar = this.Effect.GetVariableTexture("gPSShadowMapSpot"); //Per object this.useColorDiffuseVar = this.Effect.GetVariableScalar("gPSUseColorDiffuse"); this.useColorSpecularVar = this.Effect.GetVariableScalar("gPSUseColorSpecular"); this.diffuseMapVar = this.Effect.GetVariableTexture("gPSDiffuseMapArray"); this.normalMapVar = this.Effect.GetVariableTexture("gPSNormalMapArray"); this.specularMapVar = this.Effect.GetVariableTexture("gPSSpecularMapArray"); //Per instance this.animationOffsetVar = this.Effect.GetVariableScalar("gVSAnimationOffset"); this.materialIndexVar = this.Effect.GetVariableScalar("gPSMaterialIndex"); this.textureIndexVar = this.Effect.GetVariableScalar("gPSTextureIndex"); //Samplers this.samplerDiffuseVar = this.Effect.GetVariableSampler("SamplerDiffuse"); this.samplerSpecularVar = this.Effect.GetVariableSampler("SamplerSpecular"); this.samplerNormalVar = this.Effect.GetVariableSampler("SamplerNormal"); //Initialize states this.samplerPoint = EngineSamplerState.Point(graphics); this.samplerLinear = EngineSamplerState.Linear(graphics); this.samplerAnisotropic = EngineSamplerState.Anisotropic(graphics, 4); }