public DirectionalLight(EffectParameter directionParameter, EffectParameter diffuseColorParameter, EffectParameter specularColorParameter, DirectionalLight cloneSource) { this.diffuseColorParameter = diffuseColorParameter; this.directionParameter = directionParameter; this.specularColorParameter = specularColorParameter; if (cloneSource != null) { this.diffuseColor = cloneSource.diffuseColor; this.direction = cloneSource.direction; this.specularColor = cloneSource.specularColor; this.enabled = cloneSource.enabled; } else { this.diffuseColorParameter = diffuseColorParameter; this.directionParameter = directionParameter; this.specularColorParameter = specularColorParameter; } }
/// <summary> /// Sets up the standard key/fill/back lighting rig. /// </summary> internal static Vector3 EnableDefaultLighting(DirectionalLight light0, DirectionalLight light1, DirectionalLight light2) { // Key light. light0.Direction = new Vector3(-0.5265408f, -0.5735765f, -0.6275069f); light0.DiffuseColor = new Vector3(1, 0.9607844f, 0.8078432f); light0.SpecularColor = new Vector3(1, 0.9607844f, 0.8078432f); light0.Enabled = true; // Fill light. light1.Direction = new Vector3(0.7198464f, 0.3420201f, 0.6040227f); light1.DiffuseColor = new Vector3(0.9647059f, 0.7607844f, 0.4078432f); light1.SpecularColor = Vector3.Zero; light1.Enabled = true; // Back light. light2.Direction = new Vector3(0.4545195f, -0.7660444f, 0.4545195f); light2.DiffuseColor = new Vector3(0.3231373f, 0.3607844f, 0.3937255f); light2.SpecularColor = new Vector3(0.3231373f, 0.3607844f, 0.3937255f); light2.Enabled = true; // Ambient light. return new Vector3(0.05333332f, 0.09882354f, 0.1819608f); }
/// <summary> /// Sets up the standard key/fill/back lighting rig. /// </summary> internal static Vector3 EnableDefaultLighting(DirectionalLight light0, DirectionalLight light1, DirectionalLight light2) { // Key light. light0.Direction = new Vector3(-0.5265408f, -0.5735765f, -0.6275069f); light0.DiffuseColor = new Vector3(1, 0.9607844f, 0.8078432f); light0.SpecularColor = new Vector3(1, 0.9607844f, 0.8078432f); light0.Enabled = true; // Fill light. light1.Direction = new Vector3(0.7198464f, 0.3420201f, 0.6040227f); light1.DiffuseColor = new Vector3(0.9647059f, 0.7607844f, 0.4078432f); light1.SpecularColor = Vector3.Zero; light1.Enabled = true; // Back light. light2.Direction = new Vector3(0.4545195f, -0.7660444f, 0.4545195f); light2.DiffuseColor = new Vector3(0.3231373f, 0.3607844f, 0.3937255f); light2.SpecularColor = new Vector3(0.3231373f, 0.3607844f, 0.3937255f); light2.Enabled = true; // Ambient light. return(new Vector3(0.05333332f, 0.09882354f, 0.1819608f)); }
protected override void Initialize() { textureParam = Parameters["Texture"]; samplerParam = Parameters["TextureSampler"]; diffuseColorParam = Parameters["DiffuseColor"]; emissiveColorParam = Parameters["EmissiveColor"]; specularColorParam = Parameters["SpecularColor"]; specularPowerParam = Parameters["SpecularPower"]; eyePositionParam = Parameters["EyePosition"]; fogColorParam = Parameters["FogColor"]; fogVectorParam = Parameters["FogVector"]; worldParam = Parameters["World"]; worldInverseTransposeParam = Parameters["WorldInverseTranspose"]; worldViewProjParam = Parameters["WorldViewProj"]; light0 = new DirectionalLight(Parameters["DirLight0Direction"], Parameters["DirLight0DiffuseColor"], Parameters["DirLight0SpecularColor"], null); light1 = new DirectionalLight(Parameters["DirLight1Direction"], Parameters["DirLight1DiffuseColor"], Parameters["DirLight1SpecularColor"], null); light2 = new DirectionalLight(Parameters["DirLight2Direction"], Parameters["DirLight2DiffuseColor"], Parameters["DirLight2SpecularColor"], null); samplerParam.SetResource(GraphicsDevice.SamplerStates.Default); }
protected override void Initialize() { textureParam = Parameters["Texture"]; diffuseColorParam = Parameters["DiffuseColor"]; emissiveColorParam = Parameters["EmissiveColor"]; specularColorParam = Parameters["SpecularColor"]; specularPowerParam = Parameters["SpecularPower"]; eyePositionParam = Parameters["EyePosition"]; fogColorParam = Parameters["FogColor"]; fogVectorParam = Parameters["FogVector"]; worldParam = Parameters["World"]; worldInverseTransposeParam = Parameters["WorldInverseTranspose"]; worldViewProjParam = Parameters["WorldViewProj"]; bonesParam = Parameters["Bones"]; light0 = new DirectionalLight(Parameters["DirLight0Direction"], Parameters["DirLight0DiffuseColor"], Parameters["DirLight0SpecularColor"], null); light1 = new DirectionalLight(Parameters["DirLight1Direction"], Parameters["DirLight1DiffuseColor"], Parameters["DirLight1SpecularColor"], null); light2 = new DirectionalLight(Parameters["DirLight2Direction"], Parameters["DirLight2DiffuseColor"], Parameters["DirLight2SpecularColor"], null); }
/// <summary> /// Looks up shortcut references to our effect parameters. /// </summary> void CacheEffectParameters(EnvironmentMapEffect cloneSource) { textureParam = Parameters["Texture"]; environmentMapParam = Parameters["EnvironmentMap"]; environmentMapAmountParam = Parameters["EnvironmentMapAmount"]; environmentMapSpecularParam = Parameters["EnvironmentMapSpecular"]; fresnelFactorParam = Parameters["FresnelFactor"]; diffuseColorParam = Parameters["DiffuseColor"]; emissiveColorParam = Parameters["EmissiveColor"]; eyePositionParam = Parameters["EyePosition"]; fogColorParam = Parameters["FogColor"]; fogVectorParam = Parameters["FogVector"]; worldParam = Parameters["World"]; worldInverseTransposeParam = Parameters["WorldInverseTranspose"]; worldViewProjParam = Parameters["WorldViewProj"]; light0 = new DirectionalLight(Parameters["DirLight0Direction"], Parameters["DirLight0DiffuseColor"], null, (cloneSource != null) ? cloneSource.light0 : null); light1 = new DirectionalLight(Parameters["DirLight1Direction"], Parameters["DirLight1DiffuseColor"], null, (cloneSource != null) ? cloneSource.light1 : null); light2 = new DirectionalLight(Parameters["DirLight2Direction"], Parameters["DirLight2DiffuseColor"], null, (cloneSource != null) ? cloneSource.light2 : null); }
/// <summary> /// Looks up shortcut references to our effect parameters. /// </summary> void CacheEffectParameters(SkinnedEffect cloneSource) { textureParam = Parameters["Texture"]; diffuseColorParam = Parameters["DiffuseColor"]; emissiveColorParam = Parameters["EmissiveColor"]; specularColorParam = Parameters["SpecularColor"]; specularPowerParam = Parameters["SpecularPower"]; eyePositionParam = Parameters["EyePosition"]; fogColorParam = Parameters["FogColor"]; fogVectorParam = Parameters["FogVector"]; worldParam = Parameters["World"]; worldInverseTransposeParam = Parameters["WorldInverseTranspose"]; worldViewProjParam = Parameters["WorldViewProj"]; bonesParam = Parameters["Bones"]; light0 = new DirectionalLight(Parameters["DirLight0Direction"], Parameters["DirLight0DiffuseColor"], Parameters["DirLight0SpecularColor"], (cloneSource != null) ? cloneSource.light0 : null); light1 = new DirectionalLight(Parameters["DirLight1Direction"], Parameters["DirLight1DiffuseColor"], Parameters["DirLight1SpecularColor"], (cloneSource != null) ? cloneSource.light1 : null); light2 = new DirectionalLight(Parameters["DirLight2Direction"], Parameters["DirLight2DiffuseColor"], Parameters["DirLight2SpecularColor"], (cloneSource != null) ? cloneSource.light2 : null); }