Example #1
0
        /// <summary>
        /// Updates all the lighting environment's receivers based on the current positions of light sources and obstructions.
        /// </summary>
        public void UpdateReceivers()
        {
            if (LightReceivers.Count == 0)
            {
                return;
            }

            var query = new LightingQuery(this, true);

            foreach (var receiver in LightReceivers)
            {
                receiver.Update(query);
            }
        }
Example #2
0
        internal void Update(LightingQuery query)
        {
            Vector4 result;

            if (query.ComputeReceivedLightAtPosition(
                    Position, out result, LightIgnorePredicate
                    ))
            {
                ReceivedLight = result;
            }
            else
            {
                ReceivedLight = null;
            }
        }