Example #1
0
        static void SetLightToEffect(MyEffectDynamicLightingBase effect, int index, MyLight light, bool subtractCameraPosition)
        {
            if (subtractCameraPosition == true)
            {
                effect.SetDynamicLightsPosition(index, light.Position - MyCamera.Position);
            }
            else
            {
                effect.SetDynamicLightsPosition(index, light.Position);
            }

            effect.SetDynamicLightsColor(index, light.Color * light.Intensity);
            effect.SetDynamicLightsFalloff(index, light.Falloff);
            effect.SetDynamicLightsRange(index, light.Range);
        }
Example #2
0
        static void SetLightToEffect(MyEffectDynamicLightingBase effect, int index, MyRenderLight light, bool subtractCameraPosition)
        {
            if (subtractCameraPosition == true)
            {
                effect.SetDynamicLightsPosition(index, (Vector3)(light.Position - MyRenderCamera.Position));
            }
            else
            {
                effect.SetDynamicLightsPosition(index, (Vector3)light.Position);
            }

            //Cannot use *light.Intensity because it makes visual artifacts
            effect.SetDynamicLightsColor(index, light.Color * MathHelper.Clamp(light.Intensity, 0, 1));
            effect.SetDynamicLightsFalloff(index, light.Falloff);
            effect.SetDynamicLightsRange(index, light.Range);
        }