/// <summary> /// Update per frame /// </summary> /// <param name="world">World</param> /// <param name="viewProjection">View * projection</param> /// <param name="brightness">Brightness</param> /// <param name="color">Cloud color</param> /// <param name="fadingDistance">FadingDistance</param> /// <param name="firstTexture">First texture</param> /// <param name="secondTexture">Second texture</param> public void UpdatePerFrame( Matrix world, Matrix viewProjection, float brightness, Color4 color, float fadingDistance, EngineShaderResourceView firstTexture, EngineShaderResourceView secondTexture) { this.WorldViewProjection = world * viewProjection; this.Brightness = brightness; this.Color = color.RGB(); this.FadingDistance = fadingDistance; this.FirstTexture = firstTexture; this.SecondTexture = secondTexture; }
/// <summary> /// Constructor /// </summary> /// <param name="name">Light name</param> /// <param name="ambientDown">Ambient down color contribution</param> /// <param name="brightnessDown">Brightness down</param> /// <param name="ambientUp">Ambient up color contribution</param> /// <param name="brightnessUp">Brightness up</param> /// <param name="enabled">Lights is enabled</param> public SceneLightHemispheric(string name, Color4 ambientDown, float brightnessDown, Color4 ambientUp, float brightnessUp, bool enabled) : base(name, false, Color.Transparent, Color.Transparent, enabled) { this.AmbientDown = new Color4(ambientDown.RGB() * brightnessDown, 1); this.AmbientUp = new Color4(ambientUp.RGB() * brightnessUp, 1); }