//--------------------------------------------------------------------------------------------------------------------------------------------------- // // Copyright (C)2007 DarkWynter Studios. All rights reserved. // //--------------------------------------------------------------------------------------------------------------------------------------------------- // {Contact : darkwynter.com for licensing information //--------------------------------------------------------------------------------------------------------------------------------------------------- namespace DarkWynter.Game.GameObjects { #region Using Statements using System; using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; using System.Xml; using System.Diagnostics; #endregion using DarkWynter.Engine.ObjectLib; using DarkWynter.Stream; /// /// Represents a single object with physics being computed on the Gpu. /// public class GpuObject { public Draw draw { get { return _draw; } set { _draw = value; } } public Draw _draw; /// /// GpuObject constructor. /// public GpuObject(XmlNode objectNode, Vector3 startingLocation) { draw = new Draw(DarkWynter.Stream.Draw.DrawMethod.BasicGameObject_Draw, "BasicLightingShaderMain"); } /// /// Override Load function. /// /// Xml node containing this objects xml data. /// ObjectLibrary this object belongs to. /// True if loaded correctly. public bool Load() { return true; } /// /// Override Update function /// /// ObjectLibrary this object belongs to. public void Update() { } /// /// Override Draw function /// public Draw Draw() { //// Lighting //ShaderParameters.DrawFX.shininess.SetValue(7000.0f); //// Calculate ObjectSpace(Rotation) and WorldSpace(Translation) Transformation Matrix //draw.matrix = draw.initialTransform * Matrix.CreateScale(mass.scale) * // Matrix.CreateFromQuaternion(mass.currentRotation) * // Matrix.CreateTranslation(mass.currentPosition); return draw; } } }