Difference between revisions of "Game Programming Class11"

esse quam videri
Jump to: navigation, search
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Ship to XBox
+
==MonoGame sample==
 +
 
 +
https://github.com/CartBlanche/MonoGame-Samples
 +
 
 +
 
 +
==Particles==
 +
 
 +
 
 +
Lignting is fun http://gamedev.tutsplus.com/tutorials/implementation/how-to-generate-shockingly-good-2d-lightning-effects/
 +
 
 +
Particle's in IntoLibrary
 +
*easy to add and define
 +
*profile until your game runs slow
 +
 
 +
==Ship to XBox==
 
In class demo
 
In class demo
  
Creators Club
+
*Creators Club
Deploy to XBox360 with visual studio
+
*Deploy to XBox360 with visual studio
Package for deployment
+
*Package for deployment
Intro To 3D
+
 
 +
==Intro To 3D==
 +
XNA 4 is very different than XNA 3.1
 +
http://www.nelxon.com/blog/xna-3-1-to-xna-4-0-cheatsheet/
 +
 
 +
http://msdn.microsoft.com/en-us/library/bb203926.aspx
 +
 
 +
 
 +
 
 
Vectors : Vector3 x , y , z
 
Vectors : Vector3 x , y , z
  
Line 15: Line 37:
  
 
Matrices: A matrix is a class that is used to transform vectors.
 
Matrices: A matrix is a class that is used to transform vectors.
High Level Shader Language
 
  
 +
==High Level Shader Language==
 
HLSL pathway to Hardware.
 
HLSL pathway to Hardware.
  
 +
'''World''': Matrix that holds all Vertices send to video card
  
'''World'''
+
'''View''': [http://msdn.microsoft.com/en-us/library/bb975157.aspx frustum] of the camera view; near and far clipping plane
:Matrix that holds all Vertices send to video card
 
  
'''View'''
+
'''Projection''': Flat 2D plane that is interpolated from the 3D View
:[http://msdn.microsoft.com/en-us/library/bb975157.aspx frustum] of the camera view; near and far clipping plane
 
 
 
'''Projection'''
 
:Flat 2D plane that is interpolated from the 3D View
 
 
        
 
        
The video card is handed a list of vertices the vetices are then places in the world. The View is used to see the world and the projection is the actual view surface.
+
The video card is handed a list of vertices. The vertices are then places in the world. The View is used to see the world and the projection is the actual view surface.
  
* Vertex Buffer
+
* Vertex Buffer :Vertex buffer is a list of vertices that are used to make one of the XNA privative shapes.
:Vertex buffer is a list of vertices that are used to make one of the XNA privative shapes.
 
 
*VertexDeclaration
 
*VertexDeclaration
  
'''Matrix Translations'''
+
==Mono Game Shaders==
  
Simple Translation
+
https://github.com/mono/MonoGame/wiki/Effects-And-Shaders
  
 +
==Matrix Translations==
 +
===Simple Translation===
 
[http://msdn.microsoft.com/en-us/library/bb196414.aspx How To: Draw Points, Lines, and Other 3D Primitives]
 
[http://msdn.microsoft.com/en-us/library/bb196414.aspx How To: Draw Points, Lines, and Other 3D Primitives]
  
 
Modified How To: Draw Points, Lines, and Other 3D Primitives - source
 
Modified How To: Draw Points, Lines, and Other 3D Primitives - source
  
Matrices can be multiplied together to combine the effects to their translation. The order in which you combine the does matter.
+
Matrices can be multiplied together to combine the effects to their translation. The order in which you combine them '''does''' matter.
  
 
* I Identity
 
* I Identity
Line 52: Line 71:
  
 
http://msdn.microsoft.com/en-us/library/ms533864(VS.85).aspx
 
http://msdn.microsoft.com/en-us/library/ms533864(VS.85).aspx
 
  
 
Intro3DVert1.zip - source
 
Intro3DVert1.zip - source
  
 
==3D Primitives==
 
==3D Primitives==
 +
* LineList
 +
* LineStrip
 +
* TriangleList
 +
* TriangleStrip
 +
 +
DrawUserPrimitives Project
  
 
==Homework==
 
==Homework==
 
Create a simple 3D Vertex buffer that draws some kind of simple object. You can use points, Triangles, or lines, but no meshes.
 
Create a simple 3D Vertex buffer that draws some kind of simple object. You can use points, Triangles, or lines, but no meshes.

Latest revision as of 03:24, 4 September 2013

MonoGame sample

https://github.com/CartBlanche/MonoGame-Samples


Particles

Lignting is fun http://gamedev.tutsplus.com/tutorials/implementation/how-to-generate-shockingly-good-2d-lightning-effects/

Particle's in IntoLibrary

  • easy to add and define
  • profile until your game runs slow

Ship to XBox

In class demo

  • Creators Club
  • Deploy to XBox360 with visual studio
  • Package for deployment

Intro To 3D

XNA 4 is very different than XNA 3.1 http://www.nelxon.com/blog/xna-3-1-to-xna-4-0-cheatsheet/

http://msdn.microsoft.com/en-us/library/bb203926.aspx


Vectors : Vector3 x , y , z

Right handed vs Left Handed Coordinate Systems RHCS and LHSC

Matrices: A matrix is a class that is used to transform vectors.

High Level Shader Language

HLSL pathway to Hardware.

World: Matrix that holds all Vertices send to video card

View: frustum of the camera view; near and far clipping plane

Projection: Flat 2D plane that is interpolated from the 3D View

The video card is handed a list of vertices. The vertices are then places in the world. The View is used to see the world and the projection is the actual view surface.

  • Vertex Buffer :Vertex buffer is a list of vertices that are used to make one of the XNA privative shapes.
  • VertexDeclaration

Mono Game Shaders

https://github.com/mono/MonoGame/wiki/Effects-And-Shaders

Matrix Translations

Simple Translation

How To: Draw Points, Lines, and Other 3D Primitives

Modified How To: Draw Points, Lines, and Other 3D Primitives - source

Matrices can be multiplied together to combine the effects to their translation. The order in which you combine them does matter.

  • I Identity
  • S Scale
  • R Rotate
  • T Translate
  • O Orbit

http://msdn.microsoft.com/en-us/library/ms533864(VS.85).aspx

Intro3DVert1.zip - source

3D Primitives

  • LineList
  • LineStrip
  • TriangleList
  • TriangleStrip

DrawUserPrimitives Project

Homework

Create a simple 3D Vertex buffer that draws some kind of simple object. You can use points, Triangles, or lines, but no meshes.