Ejemplo n.º 1
0
        internal override void SetParameters(JadeObject obj)
        {
            Matrix world =
                JadeCameraManager.ActiveCamera.World *
                Matrix.CreateScale(obj.Scale) *
                Matrix.CreateFromQuaternion(obj.Rotation) *
                Matrix.CreateTranslation(obj.Position);

            Matrix worldIT = new Matrix();

            Matrix.Invert(ref world, out worldIT);
            Matrix.Transpose(ref worldIT, out worldIT);

            if (null != Effect.Parameters["World"])
            {
                Effect.Parameters["World"].SetValue(world);
            }
            if (null != Effect.Parameters["WorldIT"])
            {
                Effect.Parameters["WorldIT"].SetValue(worldIT);
            }
            if (null != Effect.Parameters["View"])
            {
                Effect.Parameters["View"].SetValue(JadeCameraManager.ActiveCamera.View);
            }
            if (null != Effect.Parameters["Project"])
            {
                Effect.Parameters["Project"].SetValue(JadeCameraManager.ActiveCamera.Projection);
            }

            if (Effect.Parameters["EyePosition"] != null)
            {
                Effect.Parameters["EyePosition"].SetValue(JadeCameraManager.ActiveCamera.Position);
            }

            if (Effect.Parameters["AmbientLightColor"] != null)
            {
                Effect.Parameters["AmbientLightColor"].SetValue(new Vector3(0.15f));
            }

            if (Effect.Parameters["EmissiveLightColor"] != null)
            {
                Effect.Parameters["EmissiveLightColor"].SetValue(new Vector3(0, 0.15f, 0));
            }

            if (Effect.Parameters["DirLightColor"] != null)
            {
                Effect.Parameters["DirLightColor"].SetValue(new Vector3(0, 0, 0.15f));
            }

            if (Effect.Parameters["AmbientLightPosition"] != null)
            {
                Effect.Parameters["AmbientLightPosition"].SetValue(new Vector3(0, 0, -3));
            }

            base.SetParameters(obj);
        }
Ejemplo n.º 2
0
        internal void SetParameters(JadeObject obj)
        {
            Matrix world =
                JadeCameraManager.ActiveCamera.World *
                Matrix.CreateScale(obj.Scale) *
                Matrix.CreateFromQuaternion(obj.Rotation) *
                Matrix.CreateTranslation(obj.Position);

            if (null != MyEffect.Parameters["World"])
            {
                MyEffect.Parameters["World"].SetValue(world);
            }
            if (null != MyEffect.Parameters["View"])
            {
                MyEffect.Parameters["View"].SetValue(JadeCameraManager.ActiveCamera.View);
            }
            if (null != MyEffect.Parameters["Project"])
            {
                MyEffect.Parameters["Project"].SetValue(JadeCameraManager.ActiveCamera.Projection);
            }
        }