public MyEffectPointLight() : base("Effects2\\Lights\\MyEffectPointLight") { m_normalsRT = m_D3DEffect.GetParameter(null, "NormalsRT"); m_diffuseRT = m_D3DEffect.GetParameter(null, "DiffuseRT"); m_depthsRT = m_D3DEffect.GetParameter(null, "DepthsRT"); m_halfPixel = m_D3DEffect.GetParameter(null, "HalfPixel"); m_scale = m_D3DEffect.GetParameter(null, "Scale"); m_lightPosition = m_D3DEffect.GetParameter(null, "LightPosition"); m_lightRadius = m_D3DEffect.GetParameter(null, "LightRadius"); m_lightColor = m_D3DEffect.GetParameter(null, "LightColor"); m_lightSpecularColor = m_D3DEffect.GetParameter(null, "LightSpecularColor"); m_lightIntensity = m_D3DEffect.GetParameter(null, "LightIntensity"); m_lightFalloff = m_D3DEffect.GetParameter(null, "Falloff"); m_worldViewProjMatrix = m_D3DEffect.GetParameter(null, "WorldViewProjMatrix"); m_viewProjMatrix = m_D3DEffect.GetParameter(null, "ViewProjMatrix"); m_worldMatrix = m_D3DEffect.GetParameter(null, "WorldMatrix"); m_viewMatrix = m_D3DEffect.GetParameter(null, "ViewMatrix"); m_lightViewProjection = m_D3DEffect.GetParameter(null, "LightViewProjection"); m_cameraPosition = m_D3DEffect.GetParameter(null, "CameraPosition"); m_reflectorDirection = m_D3DEffect.GetParameter(null, "ReflectorDirection"); m_reflectorConeMaxAngleCos = m_D3DEffect.GetParameter(null, "ReflectorConeMaxAngleCos"); m_reflectorColor = m_D3DEffect.GetParameter(null, "ReflectorColor"); m_reflectorRange = m_D3DEffect.GetParameter(null, "ReflectorRange"); m_reflectorIntensity = m_D3DEffect.GetParameter(null, "ReflectorIntensity"); m_reflectorFalloff = m_D3DEffect.GetParameter(null, "ReflectorFalloff"); m_reflectorTexture = m_D3DEffect.GetParameter(null, "ReflectorTexture"); m_reflectorTextureEnabled = m_D3DEffect.GetParameter(null, "ReflectorTextureEnabled"); m_nearSlopeBiasDistance = m_D3DEffect.GetParameter(null, "NearSlopeBiasDistance"); m_pointTechnique = m_D3DEffect.GetTechnique("Technique_Lighting"); m_pointWithReflectorTechnique = m_D3DEffect.GetTechnique("Technique_LightingWithReflector"); m_spotTechnique = m_D3DEffect.GetTechnique("Technique_Spot"); m_spotShadowsTechnique = m_D3DEffect.GetTechnique("Technique_SpotShadows"); // Reflector texture disabled unless set m_D3DEffect.SetValue(m_reflectorTextureEnabled, false); DefaultTechnique = MyEffectPointLightTechnique.Default; DefaultPointTechnique = MyEffectPointLightTechnique.Default; DefaultHemisphereTechnique = MyEffectPointLightTechnique.Default; DefaultReflectorTechnique = MyEffectPointLightTechnique.Reflector; DefaultSpotTechnique = MyEffectPointLightTechnique.Spot; DefaultSpotShadowTechnique = MyEffectPointLightTechnique.SpotShadows; SetTechnique(DefaultTechnique); }
public void SetTechnique(MyEffectPointLightTechnique technique) { switch (technique) { case MyEffectPointLightTechnique.Point: m_D3DEffect.Technique = m_pointTechnique; break; case MyEffectPointLightTechnique.PointShadows: m_D3DEffect.Technique = m_pointShadowsTechnique; break; case MyEffectPointLightTechnique.Spot: m_D3DEffect.Technique = m_spotTechnique; break; case MyEffectPointLightTechnique.SpotShadows: m_D3DEffect.Technique = m_spotShadowsTechnique; break; default: throw new InvalidBranchException(); } }
public void SetTechnique(MyEffectPointLightTechnique technique) { switch (technique) { case MyEffectPointLightTechnique.Default: m_D3DEffect.Technique = m_pointTechnique; break; case MyEffectPointLightTechnique.Reflector: m_D3DEffect.Technique = m_pointWithReflectorTechnique; break; case MyEffectPointLightTechnique.Spot: m_D3DEffect.Technique = m_spotTechnique; break; case MyEffectPointLightTechnique.SpotShadows: m_D3DEffect.Technique = m_spotShadowsTechnique; break; default: throw new MyMwcExceptionApplicationShouldNotGetHere(); } }