Open main menu

CDOT Wiki β

Changes

GAM531/DPS931 Weekly Schedule 20143

12,857 bytes added, 17:52, 4 September 2014
Created page with '<big><big> Game Engine Foundations</big></big><br /> {{GAM531/DPS931 Index | 20143}} = Weekly Schedule 20133 Student Notes= == Week 1 - Sep 2 == === This Week === * === To Do …'
<big><big> Game Engine Foundations</big></big><br />
{{GAM531/DPS931 Index | 20143}}
= Weekly Schedule 20133 Student Notes=

== Week 1 - Sep 2 ==
=== This Week ===
*

=== To Do ===
# Download and install [http://www.microsoft.com/download/en/details.aspx?id=6812 DirectX SDK June 2010]

=== Resources ===
* [http://msdn.microsoft.com/en-us/directx/ DirectX Developer Centre]at Microsoft

== Week 2 - Sep 9 ==
=== This Week ===
* Switched from Github to BitBucket
* Completed Engine Architecture
** Singleton class as an alternative to global variables
* Started Math - Linear Algebra - Vectors

=== To Do ===


=== Resources ===
* [https://bitbucket.org/LSS_CloudScorpion GAM531 Emperor (BitBucket)]
* Course Notes - [https://scs.senecac.on.ca/~gam666/pages/content/2dmat.html Two Dimensional Math]

== Week 3 - Sep 16 ==
=== This Week ===
=== To Do ===
* lab 1
* lab 2

=== Resources ===
* Course Notes - [https://scs.senecac.on.ca/~gam666/pages/content/2dmat.html Two Dimensional Math]

== Week 4 - Sep 23 ==
=== This Week ===
* Matrix Math
** Transforming Vectors
*** Rotations
**** cos &theta; sin &theta;
*** Scaling
** Identity
** Transpose
** Multiplication
*** by scalars
*** by vectors
*** by matrices
* Programming Matrices
** storing in arrays
*** row major order
*** 2-D arrays in C
** T& operator[](int);
** T& operator()(int, int);
=== To Do ===
* review C++ syntax
* lab 3
* select groups

=== Resources ===
* Course Notes - [https://scs.senecac.on.ca/~gam666/pages/content/2dmat.html#tra Two Dimensional Math - Matrices]


== Week 5 - Sep 30 ==
=== This Week ===
* 2D Matrix Math
** Translations
* 3D Math
** Coordinate Systems
** Transformations
*** Rotations
*** Scaling
*** Translations
* From the Scene to Screen
** World Transformation
** View Transformation
** Projection Transformation
** Viewport Transformation

=== To Do ===
* lab 4
=== Resources ===
* Course Notes - [https://scs.senecac.on.ca/~gam666/pages/content/2dmat.html#tra Two Dimensional Math]
* Course Notes - [https://scs.senecac.on.ca/~gam666/pages/content/3dmat.html Three Dimensional Math]
<!--
* [https://scs.senecac.on.ca/~gam666/pages/content/displ.html Display Modes]
** Use the Direct3D COM object to interrogate the hardware for the installed options
* [https://scs.senecac.on.ca/~gam666/pages/content/surfa.html Event Iteration]
** Messaging, the main application window, and event iteration
** Housekeeping during loss and restoration of focus
** Housekeeping during re-configuration
** Use the Direct3DDevice9 COM object to access the display device
-->

<!--
* Lecture Material
# Download the Dialog Modes Sample from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
# Download the Event Iteration Sample from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''

* Project
** If you don't have an account on this wiki,[http://zenit.senecac.on.ca/wiki/index.php?title=Special:UserLogin&type=signup&returnto=GAM666/DPS901_Weekly_Schedule_20123Create an account]. Make sure that your userid '''is''' your seneca email id
-->
<!--
* Install an IRC client, register a nickname on irc.freenode.net and join #seneca channel; check [http://zenit.senecac.on.ca/wiki/index.php/OOP344_Student_Resources#The_Basics_of_IRC IRC Basics] for help
* Optional: designate/create a blog for GAM666/DPS901 and [[Planet CDOT Feed List | add its '''filtered''' feed]] to [http://zenit.senecac.on.ca/~chris.tyler/planet/ Planet CDOT]
** Add your name and information to [[GAM666/DPS901Student List 20123]]
** Form Teams, identify team members (3-4 members) and add your team and its members to [[GAM666/DPS901 Teams 20123]] ''' Before Thursday 27th'''.

=== Resources ===
* [http://msdn.microsoft.com/en-us/library/ MSDN Library] at Microsoft
== Week 4 - Sep 23 ==
=== This Week ===
* [https://scs.senecac.on.ca/~gam666/pages/content/dtech.htmlBackground Image]
** Sprites
** Textures
** Color Model
** Use the Direct3DSprite COM object to manage the drawing of 2D images
** Use the Direct3DTexture9 COM object to hold an image on video memory
* Shades of Red application
** for you to complete - use lecture notes to fill in the details
** reviews the DirectX material covered to date
* [https://scs.senecac.on.ca/~gam666/pages/content/trans.html Sprites in Motion]
** timing
*** upper limit on drawing rate
** model coordination
*** coordinator-primitive pattern
** direct-device connectivity
*** portal-primitive pattern

=== To Do ===
* Lecture Material
# Download the Background Image Sample from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
# Download the Sprites in Motion Sample from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
* Workshop
** Download the ShadesOfRed Sample from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
*** Complete the coding for this Sample

* Project
** Bringing the Course Wiki Up To Date
*** Create Project Page for Your Team with Repository Number
*** Ensure that all links on the Student List page are working
** Start the draft of your game proposal
** Download the Framework and Change the Caption to your Team Name
=== Resources ===
* Lecture Material
** DirectX documentation as installed on your local computer
** [http://msdn.microsoft.com/en-us/library/ MSDN Library] is much easier to navigate
* Project
** [http://subversion.tigris.org/ Subversion (SVN)]
**[http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVNTortoiseSVN Documentation]
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download[https://scs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/svn-book.pdf the PDF from here].
** [http://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]
* Wiki
** [http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page How to edit Wiki pages]
** [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet How to edit Wiki Cheatsheet]
--><!--
** [http://zenit.senecac.on.ca/wiki/index.php/OOP344_Student_Resources#The_Basics_of_IRC IRC Basics]
** [http://irchelp.org/irchelp/irctutorial.html IRC Tutorial]
-->

<!--* [https://scs.senecac.on.ca/~gam666/pages/content/sprit.html Sprites under User Control]
** user action-key mapping
* Projects
** [[Hints for Using SVN to collaborate on school projects]] (demo in class)
* [https://scs.senecac.on.ca/~gam666/pages/content/heads.html Heads Up Display]
** Use the Direct3DFont COM object to draw the font for a text item on the HUD
* [https://scs.senecac.on.ca/~gam666/pages/content/2dmat.html 2D Mathematics]
** Coordinate System
** Vectors
** Trigonometry
** Matrix Transformations
-->
<!--# Add a background image to the ShadesOfRed sample
# Add a sprite in motion to the ShadesOfRed sample
# Add a second moving sprite to the Sprite in Motion sample
# Add text to identify the motion of the second sprite on the HUD
# Download the Sprites under User Control Sample from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
# Work on your game proposal and schedule your team's appointment with your instructor ([http://zenit.senecac.on.ca/wiki/index.php/GAM666/DPS901_Project_requirements_20113#Appointment_Schedule_for_Proposal_Acceptanceclick here to book an appointment])
-->
<!--
* Lecture Material
** DirectX documentation as installed on your local computer
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
* Projects
** [http://subversion.tigris.org/ Subversion (SVN)]
** [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
**[http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVNDocumentation]
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download[https://scs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/svn-book.pdf the PDF from here].
** [http://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]

== Week 6 - Oct 7 ==
=== This Week ===
* [https://scs.senecac.on.ca/~gam666/pages/content/2dmat.html 2D Mathematics (continued)]
** Matrix transformations

=== To Do ===
* Practice transforming a vector using a matrix
* Practice matrix multiplication
* Workshop Exercise
** Checkout the SimpleSprites sample on the repository
** Add the missing code to this sample - three sprite image files are included
** Draw/Move the three sprite images down and to the right on the screen
** When the three images fall off the screen start drawing them at the other end
** Add suspend logic to handle loss of focus
** Refer to the DirectX documentation for descriptions of the function calls

=== Resources ===
* Lecture Material
** DirectX documentation as installed on your local computer
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
* Projects
** [http://subversion.tigris.org/ Subversion (SVN)]
** [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
**[http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVNDocumentation]
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download[https://scs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/svn-book.pdfthe PDF from here].
** [http://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]

== Week 7 - Oct 14 ==

=== This Week ===

* [https://scs.senecac.on.ca/~gam666/pages/content/direc.html COM and DirectX]
** The fwk4gps framework, its branches, and architecture
** Including interfaces rather than class definitions to minimize header file dependencies
* [https://scs.senecac.on.ca/~gam666/pages/content/3dmat.html 3D Mathematics]
** Coordinate Systems
** Vectors
** Transformations
*** World Transformations
*** Camera Transformations
*** Projection Transformations
** Math Library
** Direct3D Utilities
* Mid-Term Test

=== To Do ===
# Study for Mid-Term Test

=== Resources ===
* Lecture Material
** DirectX documentation as installed on your local computer
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]

== Week 8 - Oct 28 ==

=== This Week ===

* [https://scs.senecac.on.ca/~gam666/pages/content/basic.html Graphics and Cameras]
** Graphics Primitive display paradigm
** Vertex buffers
** Implementing world, view, and projection transformations
** Vertex Data
** Vertex Lists
** Direct3D Implementation
*** Display
**** Capabilities
*** APIGraphic

=== To Do ===

# Graphic and Camera
## Checkout the Graphic Sample
## Run the Graphic Sample
## Code a CreatePyramid function for the Graphic Sample using the CreateBox function as a 'template'

=== Resources ===
* Lecture Material
** DirectX documentation as installed on your local computer
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]

== Week 9 - Nov 4 ==

=== This Week ===

* [https://scs.senecac.on.ca/~gam666/pages/content/3dren.htmlVisibility]
** Culling Techniques
*** Occlusion culling
**** Painter's algorithm
**** Depth Buffering
** Direct3D Implementation
* [https://scs.senecac.on.ca/~gam666/pages/content/light.htmlLighting]
** Light Components
** Light Types
** Programming Issues
** Direct3D
*** Display
*** APILight
** Design
*** Light Class
*** Coordination

=== To Do ===

# Visibility
## Checkout the Visibility Sample
## Run the Visibility Sample
## Add some objects in the distance and add an action to the framework that toggles from Z-buffering to W-Buffering to no buffering

# Lighting
## Checkout Lighting
## Run Lighting Sample
## Add a spotlight to the sample

=== Resources ===
* Lecture Material
** DirectX documentation as installed on your local computer
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]

== Week 10 - Nov 11 ==

=== This Week ===

* [https://scs.senecac.on.ca/~gam666/pages/content/textu.htmlTexturing]
** Texture Coordinates
** Magnification
** Minification
** Sampling
*** Nearest-Neighbour
*** BiLinear
*** Anisotropic
** Model Branch
*** Scene Component
**** Texture Element
*** Design Component
** Direct Device Branch
*** Graphics Card Component
**** Display Portal
**** VertexList Element
**** Graphic Element
**** DeviceTexture Element
* [https://scs.senecac.on.ca/~gam666/pages/content/heads.html Heads Up Display]
** Programming Issues
** Direct3D
*** Display
*** APIText
** Design
*** Text Class
*** Coordination

=== To Do ===

# Heads Up Display
## Checkout Heads Up Display
## Run Heads Up Display Sample
## Add some text to the sample
# Checkout Texturing
# Run Texturing Sample

=== Resources ===
* Lecture Material
** DirectX documentation as installed on your local computer
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]

== Week 11 - Nov 18 ==

=== This Week ===
-->