From a0c6adf5d6b3309ea5f3a939afe6286023b1b32c Mon Sep 17 00:00:00 2001 From: ejcoumans Date: Tue, 12 Jun 2007 01:40:33 +0000 Subject: [PATCH] removed XNA physics sample code --- Extras/XNAPhysics/Physics.sln | 20 -- Extras/XNAPhysics/Physics/BoundingBox.cs | 143 ------------ Extras/XNAPhysics/Physics/BoundingVolume.cs | 166 -------------- Extras/XNAPhysics/Physics/Game1.Designer.cs | 21 -- Extras/XNAPhysics/Physics/Game1.cs | 216 ------------------ Extras/XNAPhysics/Physics/Physics.csproj | 66 ------ Extras/XNAPhysics/Physics/Program.cs | 19 -- .../Physics/Properties/AssemblyInfo.cs | 32 --- Extras/XNAPhysics/Physics/bin/Debug/color.fx | 42 ---- .../XNAPhysics/Physics/bin/Release/color.fx | 42 ---- 10 files changed, 767 deletions(-) delete mode 100644 Extras/XNAPhysics/Physics.sln delete mode 100644 Extras/XNAPhysics/Physics/BoundingBox.cs delete mode 100644 Extras/XNAPhysics/Physics/BoundingVolume.cs delete mode 100644 Extras/XNAPhysics/Physics/Game1.Designer.cs delete mode 100644 Extras/XNAPhysics/Physics/Game1.cs delete mode 100644 Extras/XNAPhysics/Physics/Physics.csproj delete mode 100644 Extras/XNAPhysics/Physics/Program.cs delete mode 100644 Extras/XNAPhysics/Physics/Properties/AssemblyInfo.cs delete mode 100644 Extras/XNAPhysics/Physics/bin/Debug/color.fx delete mode 100644 Extras/XNAPhysics/Physics/bin/Release/color.fx diff --git a/Extras/XNAPhysics/Physics.sln b/Extras/XNAPhysics/Physics.sln deleted file mode 100644 index 078fda410..000000000 --- a/Extras/XNAPhysics/Physics.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual C# Express 2005 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Physics", "Physics\Physics.csproj", "{4AA0A1F5-0F11-4D86-9D43-85A12835572F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4AA0A1F5-0F11-4D86-9D43-85A12835572F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4AA0A1F5-0F11-4D86-9D43-85A12835572F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4AA0A1F5-0F11-4D86-9D43-85A12835572F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4AA0A1F5-0F11-4D86-9D43-85A12835572F}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Extras/XNAPhysics/Physics/BoundingBox.cs b/Extras/XNAPhysics/Physics/BoundingBox.cs deleted file mode 100644 index d2ba9343a..000000000 --- a/Extras/XNAPhysics/Physics/BoundingBox.cs +++ /dev/null @@ -1,143 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Microsoft.Xna.Framework.Graphics; -using Microsoft.Xna.Framework; - -namespace Physics -{ - /// - /// This bounding volume is represented by a box. - /// - public class BoundingBox : BoundingVolume - { - #region Constructor: BoundingBox(float width, float height, float depth, Color color, GraphicsDevice device) - - /// - /// Creates a new bounding box. - /// - /// The width of the box. - /// The height of the box. - /// The depth of the box. - /// The color of the box. - /// The rendering device. - public BoundingBox(float width, float height, float depth, Color color, GraphicsDevice device) - : base(color, device) - { - #region Vertex Buffer - - // Define the vertices - VertexPositionColor[] tempVertices = new VertexPositionColor[8]; - float halfWidth = width / 2f; - float halfHeight = height / 2f; - float halfDepth = depth / 2f; - - // Define the 8 corners. - tempVertices[0] = new VertexPositionColor(new Vector3(-halfWidth, -halfHeight, halfDepth), Color.White); - tempVertices[1] = new VertexPositionColor(new Vector3(-halfWidth, -halfHeight, -halfDepth), Color.White); - tempVertices[2] = new VertexPositionColor(new Vector3(halfWidth, -halfHeight, -halfDepth), Color.White); - tempVertices[3] = new VertexPositionColor(new Vector3(halfWidth, -halfHeight, halfDepth), Color.White); - tempVertices[4] = new VertexPositionColor(new Vector3(-halfWidth, halfHeight, halfDepth), Color.White); - tempVertices[5] = new VertexPositionColor(new Vector3(-halfWidth, halfHeight, -halfDepth), Color.White); - tempVertices[6] = new VertexPositionColor(new Vector3(halfWidth, halfHeight, -halfDepth), Color.White); - tempVertices[7] = new VertexPositionColor(new Vector3(halfWidth, halfHeight, halfDepth), Color.White); - - // Initialize the vertex buffer. - this.vertexbuffer = new VertexBuffer(device, typeof(VertexPositionColor), 8, ResourceUsage.None, ResourcePool.Default); - - // Set the vertices. - this.vertexbuffer.SetData(tempVertices); - - // Set other info. - this.numberOfPrimitive = 12; - this.numberOfVertices = 8; - - #endregion - - #region Index Buffer - - // Define the index buffer. - int[] tempIndices = new int[12 * 3]; - - // Front face. - tempIndices[0] = 0; - tempIndices[1] = 4; - tempIndices[2] = 7; - tempIndices[3] = 0; - tempIndices[4] = 7; - tempIndices[5] = 3; - - // Back face. - tempIndices[6] = 2; - tempIndices[7] = 6; - tempIndices[8] = 5; - tempIndices[9] = 2; - tempIndices[10] = 5; - tempIndices[11] = 1; - - // Left face. - tempIndices[12] = 1; - tempIndices[13] = 5; - tempIndices[14] = 4; - tempIndices[15] = 1; - tempIndices[16] = 4; - tempIndices[17] = 0; - - // Right face. - tempIndices[18] = 4; - tempIndices[19] = 7; - tempIndices[20] = 6; - tempIndices[21] = 4; - tempIndices[22] = 6; - tempIndices[23] = 3; - - // Up face. - tempIndices[24] = 4; - tempIndices[25] = 5; - tempIndices[26] = 6; - tempIndices[27] = 4; - tempIndices[28] = 6; - tempIndices[29] = 7; - - // Down face. - tempIndices[30] = 0; - tempIndices[31] = 2; - tempIndices[32] = 1; - tempIndices[33] = 0; - tempIndices[34] = 3; - tempIndices[35] = 2; - - // Initialize the index buffer. - this.indexBuffer = new IndexBuffer(device, typeof(int), 12 * 3, ResourceUsage.None, ResourcePool.Default); - - // Set the data. - this.indexBuffer.SetData(tempIndices); - - #endregion - } - - #endregion - - - #region Method: Intersects(BoundingVolume volume) - - /// - /// It checks whether this bounding box intersects with the given bounding volume. - /// - /// The volume to check with. - /// True if the bounding volumes intersect, false otherwise. - public override bool Intersects(BoundingVolume volume) - { - // Check with other bounding volumes. - if (volume is BoundingBox) - { - // Intersection code here. - } - - // By default. - return false; - } - - #endregion - } -} diff --git a/Extras/XNAPhysics/Physics/BoundingVolume.cs b/Extras/XNAPhysics/Physics/BoundingVolume.cs deleted file mode 100644 index 37bb14fa9..000000000 --- a/Extras/XNAPhysics/Physics/BoundingVolume.cs +++ /dev/null @@ -1,166 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Graphics; - -namespace Physics -{ - /// - /// An abstract class for a bounding volume. - /// A bounding volume has a transformation matrix that determines the orientation of the volume. - /// Futhermore it has an intersect funtion that checks whether this bounding volume intersects with an other bounding volume. - /// There is also a draw method by which the bounding volume is drawn. - /// - public abstract class BoundingVolume - { - #region Field: graphicsDevice - - /// - /// The graphicsDevice of this volume. - /// - protected GraphicsDevice graphicsDevice; - - #endregion - - #region Field: vertexBuffer - - /// - /// The vertex buffer of this volume. - /// - protected VertexBuffer vertexbuffer; - - #endregion - - #region Field: indexBuffer - - /// - /// The index buffer of this volume. - /// - protected IndexBuffer indexBuffer; - - #endregion - - #region Field: numberOfPrimitives - - /// - /// The number of primitives of this volume. - /// - protected int numberOfPrimitive; - - #endregion - - #region Field: numberOfVertices - - /// - /// The number of vertices of this volume. - /// - protected int numberOfVertices; - - #endregion - - - #region Property: TransformationMatrix - - /// - /// The transformation matrix of this bounding volume. - /// - protected Matrix transformationMatrix; - - /// - /// The transformation matrix of this bounding volume. - /// - public Matrix TransformationMatrix - { - get - { - return this.transformationMatrix; - } - } - - #endregion - - #region Property: Color - - /// - /// The color of this bounding volume. - /// - private Color color; - - /// - /// The color of this bounding volume. - /// - public Color Color - { - get - { - return color; - } - set - { - color = value; - } - } - - #endregion - - - #region Constructor: BoundingVolume(Color color, GraphicsDevice graphicsDevice) - - /// - /// Create a new bounding volume. - /// - /// The color of this volume. - /// The device used to render. - public BoundingVolume(Color color, GraphicsDevice graphicsDevice) - { - this.color = color; - this.transformationMatrix = Matrix.Identity; - this.graphicsDevice = graphicsDevice; - } - - #endregion - - - #region Method: Intersects(BoundingVolume volume) - - /// - /// This method must be implemented. - /// It checks whether this bounding volume intersects with the given bounding volume. - /// - /// The volume to check with. - /// True if the bounding volumes intersect, false otherwise. - public abstract bool Intersects(BoundingVolume volume); - - #endregion - - #region Method: Draw() - - /// - /// Draw this bounding volume to the screen. - /// - public void Draw() - { - this.graphicsDevice.RenderState.CullMode = CullMode.None; - this.graphicsDevice.Indices = this.indexBuffer; - this.graphicsDevice.VertexDeclaration = new VertexDeclaration(graphicsDevice, VertexPositionColor.VertexElements); - this.graphicsDevice.Vertices[0].SetSource(this.vertexbuffer, 0, VertexPositionColor.SizeInBytes); - this.graphicsDevice.DrawIndexedPrimitives(PrimitiveType.TriangleList, 0, 0, this.numberOfVertices, 0, this.numberOfPrimitive); - } - - #endregion - - #region Method: TranslateWorld(Vector3 translation) - - /// - /// Translate this bounding volume relative to the world axis. - /// - /// The translation to make. - public void TranslateWorld(Vector3 translation) - { - this.transformationMatrix *= Matrix.CreateTranslation(translation); - } - - #endregion - } -} diff --git a/Extras/XNAPhysics/Physics/Game1.Designer.cs b/Extras/XNAPhysics/Physics/Game1.Designer.cs deleted file mode 100644 index 188a5631c..000000000 --- a/Extras/XNAPhysics/Physics/Game1.Designer.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; - -namespace Physics -{ - partial class Game1 - { - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.graphics = new Microsoft.Xna.Framework.Components.GraphicsComponent(); - - this.GameComponents.Add(this.graphics); - - } - - private Microsoft.Xna.Framework.Components.GraphicsComponent graphics; - } -} diff --git a/Extras/XNAPhysics/Physics/Game1.cs b/Extras/XNAPhysics/Physics/Game1.cs deleted file mode 100644 index aa49ab51f..000000000 --- a/Extras/XNAPhysics/Physics/Game1.cs +++ /dev/null @@ -1,216 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.Xna.Framework; -using Microsoft.Xna.Framework.Audio; -using Microsoft.Xna.Framework.Components; -using Microsoft.Xna.Framework.Graphics; -using Microsoft.Xna.Framework.Input; -using Microsoft.Xna.Framework.Storage; - -namespace Physics -{ - /// - /// This is the main type for your game - /// - partial class Game1 : Microsoft.Xna.Framework.Game - { - #region Field: viewTransformation - - /// - /// The used view transformation. - /// - private Matrix viewTransformation; - - #endregion - - #region Field: projectionTransformation - - /// - /// The used projection transformation. - /// - private Matrix projectionTransformation; - - #endregion - - #region Field: effect - - /// - /// The used effect. - /// - private Effect effect; - - #endregion - - #region Field: transform - - /// - /// The used transform effect parameter. - /// - private EffectParameter transform; - - #endregion - - #region Field: color - - /// - /// The used color effect parameter. - /// - private EffectParameter color; - - #endregion - - #region Field: volumes - - /// - /// The list of bounding volumes. - /// - private List volumes; - - #endregion - - - #region Constructor: Game1() - - /// - /// Create a new game. - /// - public Game1() - { - InitializeComponent(); - - float aspectRatio = 640.0f / 480.0f; - float fov = MathHelper.PiOver4; - - // Initialize the matrices. - this.viewTransformation = Matrix.CreateLookAt(new Vector3(0, 0, 150), new Vector3(0, 0, 0), new Vector3(0, 1, 0)); - this.projectionTransformation = Matrix.CreatePerspectiveFieldOfView(fov, aspectRatio, 1, 600); - - // Initialize the shader. - CompiledEffect cEffect = Effect.CompileEffectFromFile("color.fx", null, null, CompilerOptions.None, TargetPlatform.Windows); - this.effect = new Effect(this.graphics.GraphicsDevice, cEffect.GetShaderCode(), CompilerOptions.None, null); - - // Get the parameters. - EffectParameterCollection coll = this.effect.Parameters; - this.transform = coll.GetParameterBySemantic("WorldViewProjection"); - this.color = coll.GetParameterBySemantic("Color"); - - // Create and add volumes. - this.volumes = new List(); - this.AddBoundingVolumes(); - } - - #endregion - - - #region Method: AddBoundingVolumes() - - /// - /// Add bounding volumes to the world. - /// - private void AddBoundingVolumes() - { - // ---------- - // - // Add bounding volumes here. - // - // ---------- - - // Box 1 - BoundingBox box1 = new BoundingBox(5, 5, 5, Color.Green, this.graphics.GraphicsDevice); - box1.TranslateWorld(new Vector3(10, 0, 0)); - this.volumes.Add(box1); - - // Box 2 - this.volumes.Add(new BoundingBox(10, 10, 10, Color.LightSkyBlue, this.graphics.GraphicsDevice)); - } - - #endregion - - #region Method: Update() - - /// - /// Update components of this physics application. - /// - protected override void Update() - { - // The time since Update was called last - float elapsed = (float)ElapsedTime.TotalSeconds; - - this.ProcessUserInput(); - - // Let the GameComponents update - UpdateComponents(); - } - - #endregion - - #region Method: ProcessUserInput() - - /// - /// Process input from the user. - /// - private void ProcessUserInput() - { - KeyboardState state = Keyboard.GetState(); - - // Move left and right. - if (state.IsKeyDown(Keys.D)) this.volumes[0].TranslateWorld(new Vector3(0.1f, 0, 0)); - if (state.IsKeyDown(Keys.A)) this.volumes[0].TranslateWorld(new Vector3(-0.1f, 0, 0)); - - // Check for collisions here somewhere. - } - - #endregion - - #region Method: Draw() - - /// - /// Draw the content of the physics application. - /// - protected override void Draw() - { - // Make sure we have a valid device - if (!graphics.EnsureDevice()) - return; - - graphics.GraphicsDevice.Clear(ClearOptions.DepthBuffer | ClearOptions.Target, Color.Blue, 1, 0); - graphics.GraphicsDevice.BeginScene(); - - - // Render all the bounding volumes. - foreach (BoundingVolume currentVolume in this.volumes) - { - // Set the color. - this.color.SetValue((currentVolume.Color.ToVector4())); - - // Set the transformation. - this.transform.SetValue(currentVolume.TransformationMatrix * this.viewTransformation * this.projectionTransformation); - - // Start the effect. - this.effect.Begin(EffectStateOptions.Default); - - foreach (EffectPass pass in effect.CurrentTechnique.Passes) - { - pass.Begin(); - - // Draw the volume. - currentVolume.Draw(); - - pass.End(); - } - - - // End the effect. - this.effect.End(); - } - - // Let the GameComponents draw - DrawComponents(); - - graphics.GraphicsDevice.EndScene(); - graphics.GraphicsDevice.Present(); - } - - #endregion - } -} \ No newline at end of file diff --git a/Extras/XNAPhysics/Physics/Physics.csproj b/Extras/XNAPhysics/Physics/Physics.csproj deleted file mode 100644 index 334e3b6ad..000000000 --- a/Extras/XNAPhysics/Physics/Physics.csproj +++ /dev/null @@ -1,66 +0,0 @@ - - - {4AA0A1F5-0F11-4D86-9D43-85A12835572F} - {9F340DF3-2AED-4330-AC16-78AC2D9B4738};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Debug - AnyCPU - WinExe - Properties - Physics - Physics - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - true - false - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - true - false - - - - true - - - true - - - - - - - - - - - - Game1.cs - - - - - Component - - - - - \ No newline at end of file diff --git a/Extras/XNAPhysics/Physics/Program.cs b/Extras/XNAPhysics/Physics/Program.cs deleted file mode 100644 index 3211e603b..000000000 --- a/Extras/XNAPhysics/Physics/Program.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; - -namespace Physics -{ - static class Program - { - /// - /// The main entry point for the application. - /// - static void Main(string[] args) - { - using (Game1 game = new Game1()) - { - game.Run(); - } - } - } -} - diff --git a/Extras/XNAPhysics/Physics/Properties/AssemblyInfo.cs b/Extras/XNAPhysics/Physics/Properties/AssemblyInfo.cs deleted file mode 100644 index 703162276..000000000 --- a/Extras/XNAPhysics/Physics/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Physics")] -[assembly: AssemblyProduct("Physics")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyCopyright("Copyright © 2006")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("04d7cdfe-26b9-4243-b855-7071a96076fd")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Extras/XNAPhysics/Physics/bin/Debug/color.fx b/Extras/XNAPhysics/Physics/bin/Debug/color.fx deleted file mode 100644 index f99024950..000000000 --- a/Extras/XNAPhysics/Physics/bin/Debug/color.fx +++ /dev/null @@ -1,42 +0,0 @@ - //--------------------------------------------------------------// - // Constant(s) - //--------------------------------------------------------------// - - float4 color : Color; - - float4x4 transform : WorldViewProjection; - - //--------------------------------------------------------------// - // Vertex shader(s) - //--------------------------------------------------------------// - - void FinalVS( inout float4 Position : POSITION0) - { - // Calculate the output position. - //float4 tempPos = mul( Position, world ); - Position = mul( Position, transform); - } - - //--------------------------------------------------------------// - // Pixel shader(s) - //--------------------------------------------------------------// - - void FinalPS( out float4 Color : COLOR0 ) - { - // Set the output color. - Color = color; - } - - - //--------------------------------------------------------------// - // Technique(s) - //--------------------------------------------------------------// - - technique Final - { - pass Pass_0 - { - VertexShader = compile vs_1_1 FinalVS(); - PixelShader = compile ps_2_0 FinalPS(); - } - } diff --git a/Extras/XNAPhysics/Physics/bin/Release/color.fx b/Extras/XNAPhysics/Physics/bin/Release/color.fx deleted file mode 100644 index f99024950..000000000 --- a/Extras/XNAPhysics/Physics/bin/Release/color.fx +++ /dev/null @@ -1,42 +0,0 @@ - //--------------------------------------------------------------// - // Constant(s) - //--------------------------------------------------------------// - - float4 color : Color; - - float4x4 transform : WorldViewProjection; - - //--------------------------------------------------------------// - // Vertex shader(s) - //--------------------------------------------------------------// - - void FinalVS( inout float4 Position : POSITION0) - { - // Calculate the output position. - //float4 tempPos = mul( Position, world ); - Position = mul( Position, transform); - } - - //--------------------------------------------------------------// - // Pixel shader(s) - //--------------------------------------------------------------// - - void FinalPS( out float4 Color : COLOR0 ) - { - // Set the output color. - Color = color; - } - - - //--------------------------------------------------------------// - // Technique(s) - //--------------------------------------------------------------// - - technique Final - { - pass Pass_0 - { - VertexShader = compile vs_1_1 FinalVS(); - PixelShader = compile ps_2_0 FinalPS(); - } - }