Difference between revisions of "GAM666/DPS901 Weekly Schedule 20113"

From CDOT Wiki
Jump to: navigation, search
(GAM666/DPS901 -- Weekly Schedule 20113)
(This Week)
 
(53 intermediate revisions by 2 users not shown)
Line 5: Line 5:
  
 
=== This Week ===
 
=== This Week ===
 
+
* [https://cs.senecac.on.ca/~gam666/pages/content/windo.html Windows Programming]
* Windows Programming
+
** Dialog Sample
* Dialog Sample
+
** Selection Sample
* Selection Sample
+
* [https://cs.senecac.on.ca/~gam666/pages/content/compo.html Component Design]
  
 
=== To Do ===
 
=== To Do ===
 +
# Download [http://acs.senecac.on.ca/ Visual Studio 2010] from ACS and install it on your local computer.
 +
# Download [http://tortoisesvn.net/downloads Tortoise SVN] and install it on your local computer.
 +
# Download the Dialog and Selection Samples from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
 +
#* Run Dialog Sample
 +
#* Run Selection Sample
  
# Install Visual Studio 2010
+
=== Resources ===
# Run Dialog Sample
+
* [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
# Run Selection Sample
+
* [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVN TortoiseSVN Documentation]
  
 
== Week 2 - Sep 11 ==
 
== Week 2 - Sep 11 ==
 
=== This Week ===
 
=== This Week ===
* COM Objects and DirectX
+
* [https://cs.senecac.on.ca/~gam666/pages/content/direc.html COM and DirectX]
* Assignment Setup
+
* [https://cs.senecac.on.ca/~gam666/pages/content/displ.html Display Modes]
 +
** The fwk4gps framework, its branches, and architecture
 +
** Singleton class as an alternative to global variables
 +
** Including interfaces rather than class definitions to minimize header file dependencies
 +
** Use the Direct3D COM object to interrogate the hardware for the installed options
  
 
=== To Do ===
 
=== To Do ===
* Download the DirectX SDK
+
# Download and install [http://www.microsoft.com/download/en/details.aspx?id=6812 DirectX SDK June 2010]
* [http://zenit.senecac.on.ca/wiki/index.php?title=Special:UserLogin&type=signup&returnto=GAM666/DPS901_Weekly_Schedule_20103 Create an account] on this Wiki; make sure your userid '''is''' your seneca email id
+
# Download the Dialog Modes Sample from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
* 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]
 
* Form Teams, Identify Members (4 members) and add your team and members to [[GAM666/DPS901 Teams 20103]] ''' Before Thursday 16th'''.
 
* Add your name and info. to [[GAM666/DPS901Student List 20103]]
 
  
 
=== Resources ===
 
=== Resources ===
* [http://acs.senecac.on.ca/ ACS Visual Studio 2010]
+
* [http://msdn.microsoft.com/en-us/directx/ DirectX Developer Centre] at Microsoft
* [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=529f03be-1339-48c4-bd5a-8506e5acf571&displayLang=en DirectX SDK August 2007]
+
 
* [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]
 
* [http://subversion.tigris.org/ Subversion (SVN)]
 
* [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
 
* [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html TortoiseSVN Documentation]
 
* [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download[https://cs.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 3 - Sep 18 ==
 
== Week 3 - Sep 18 ==
 
=== This Week ===
 
=== This Week ===
* [https://cs.senecac.on.ca/~gam666/pages/content/displ.html Display Modes]
 
** The fwk4gps framework, its branches, and component architecture
 
** Singleton class as an alternative to global variables
 
** Including interfaces rather than class declarations to minimize header file dependencies
 
** Use the Direct3D COM object to interrogate the hardware for the installed options
 
 
* [https://cs.senecac.on.ca/~gam666/pages/content/surfa.html Event Iteration]
 
* [https://cs.senecac.on.ca/~gam666/pages/content/surfa.html Event Iteration]
** Messaging, the main application window and event iteration
+
** Messaging, the main application window, and event iteration
 
** Housekeeping during loss and restoration of focus
 
** Housekeeping during loss and restoration of focus
 
** Housekeeping during re-configuration
 
** Housekeeping during re-configuration
 
** Use the Direct3DDevice9 COM object to access the display device
 
** Use the Direct3DDevice9 COM object to access the display device
* Projects
+
* [https://cs.senecac.on.ca/~gam666/pages/content/dtech.html Background Image]
** Introducing [http://tortoisesvn.net/downloads SVN] and Demos by Fardad in class
+
** 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
  
 
=== To Do ===
 
=== To Do ===
* Download [http://tortoisesvn.net/downloads SVN] and install it on your computer.
+
# Download the Event Iteration and Background Image Samples from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
 +
 
 
=== Resources ===
 
=== Resources ===
* Lecture Material
+
* [http://msdn.microsoft.com/en-us/library/ MSDN Library] at Microsoft
** [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.html TortoiseSVN Documentation]
 
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download[https://cs.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 4 - Sep 25 ==
 
== Week 4 - Sep 25 ==
 
=== This Week ===
 
=== This Week ===
* [https://cs.senecac.on.ca/~gam666/pages/content/dtech.html Background Image]
+
* Shades of Red application
** Sprites
+
** for you to complete - use lecture notes to fill in the details
** Textures
+
** reviews the DirectX material covered to date
** Color Model
+
* [https://cs.senecac.on.ca/~gam666/pages/content/trans.html Sprites in Motion]
** 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 reviews the material covered to date
 
* [https://cs.senecac.on.ca/~gam666/pages/content/trans.html Sprite in Motion]
 
 
** timing
 
** timing
 
*** upper limit on drawing rate
 
*** upper limit on drawing rate
*** keypress latency
 
 
** model coordination
 
** model coordination
 
*** coordinator-primitive pattern
 
*** coordinator-primitive pattern
 
** direct-device connectivity
 
** direct-device connectivity
 
*** portal-primitive pattern
 
*** portal-primitive pattern
** user action key mapping
+
* [https://cs.senecac.on.ca/~gam666/pages/content/sprit.html Sprites under User Control]
 +
** user action-key mapping
 
* Projects
 
* Projects
 
** [[Hints for Using SVN to collaborate on school projects]] (demo in class)
 
** [[Hints for Using SVN to collaborate on school projects]] (demo in class)
  
 
=== To Do ===
 
=== To Do ===
* Download the 15-Controller and ShadesOfRed Samples from the [svn://zenit.senecac.on.ca/dpsgam Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
+
* Lecture Material
* Submit your game proposal and schedule an appointment with your instructor ([http://zenit.senecac.on.ca/wiki/index.php/GAM666/DPS901_Project_requirements_20103#Appointment_Schedule_for_Reviewing_Game_Proposal click here to book an appointment])
+
** Download the Sprites in Motion and Sprites under User Control Samples from the [svn://zenit.senecac.on.ca/dpsgam/trunk Course Repository]. ''(userid: "dpsgam" password: blank [no password])''
* Complete the coding for ShadesOfRed
+
 
 +
* 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
 +
** 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_20113 Create 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 20113]]
 +
** Form Teams, identify team members (4-5 members) and add your team and its members to [[GAM666/DPS901 Teams 20113]] ''' Before Thursday 29th'''.
  
 
=== Resources ===
 
=== Resources ===
 
* Lecture Material
 
* Lecture Material
 
** DirectX documentation as installed on your local computer
 
** DirectX documentation as installed on your local computer
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
+
** [http://msdn.microsoft.com/en-us/library/ MSDN Library] is much easier to navigate
* Projects
+
* Project
 
** [http://subversion.tigris.org/ Subversion (SVN)]
 
** [http://subversion.tigris.org/ Subversion (SVN)]
** [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
+
** [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVN TortoiseSVN Documentation]
** [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVN Documentation]
+
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download [https://cs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/svn-book.pdf the PDF from here].
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download[https://cs.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]
 
** [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]
 +
-->
  
 
== Week 5 - Oct 2 ==
 
== Week 5 - Oct 2 ==
 
=== This Week ===
 
=== This Week ===
* [https://cs.senecac.on.ca/~gam666/pages/content/trans.html Sprite in Motion (continued)]
+
* Review
 +
** Windows Programming
 +
*** Windows Functions (WinMain, EnableWindow, AdjustWindowRectEx, SendDlgItemMessage, GetDlgItem, RegisterClass, DialogBox (macro), DestroyWindow, CreateWindow, ShowWindow, UpdateWindow, PeekMessage, TranslateMessage, PostMessage, DispatchMessage, Setcursor, PostQuitMessage, DefWindowProc, WaitMessage, MessageBox)
 +
*** Window Procedures
 +
** COM Technology
 +
** Direct3D
 +
*** Direct3D COM Object
 +
*** Direct3D Display Device COM Object
 +
*** Direct3D Texture COM Object
 +
** Game Programming Aspects
 +
*** Singletons and Interfaces
 +
*** Event Iteration, Messages, and Timing
 +
*** Re-Configuration, Loss and Restoration of Focus
 +
*** Design, Coordination, Graphic Representation
 +
*** Colour and Backbuffering
 +
*** Action-Key Mapping
 +
<!--
 +
* [https://cs.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
 
** Use the Direct3DFont COM object to draw the font for a text item on the HUD
 +
-->
 +
* Projects
 +
** Bringing the Course Wiki Up To Date
 +
*** Create Project Pages for Your Team
 +
*** Ensure that all links on the Student List page are working
 +
** Start the draft of your game proposal
 
* [https://cs.senecac.on.ca/~gam666/pages/content/2dmat.html 2D Mathematics]
 
* [https://cs.senecac.on.ca/~gam666/pages/content/2dmat.html 2D Mathematics]
 
** Coordinate System
 
** Coordinate System
Line 116: Line 140:
 
** Trigonometry
 
** Trigonometry
 
** Matrix Transformations
 
** Matrix Transformations
* Projects
 
**
 
  
 
=== To Do ===
 
=== To Do ===
* Add a background image to the ShadesOfRed sample
+
# Add a background image to the ShadesOfRed sample
* Add a sprite in motion 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 a second moving sprite to the Sprite in Motion sample
* Add text to identify the motion of the second sprite on the HUD
+
<!--
 +
# Add text to identify the motion of the second sprite on the HUD
 +
-->
 +
# 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_Acceptance click here to book an appointment])
  
 
=== Resources ===
 
=== Resources ===
Line 129: Line 154:
 
** DirectX documentation as installed on your local computer
 
** DirectX documentation as installed on your local computer
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
**
 
 
* Projects
 
* Projects
 
** [http://subversion.tigris.org/ Subversion (SVN)]
 
** [http://subversion.tigris.org/ Subversion (SVN)]
 
** [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
 
** [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
 
** [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVN Documentation]
 
** [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.htmlTortoiseSVN Documentation]
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download[https://cs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/svn-book.pdfthe PDF from here].
+
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download [https://cs.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]
 
** [http://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]
 +
  
 
== Week 6 - Oct 9 ==
 
== Week 6 - Oct 9 ==
Line 181: Line 206:
 
=== This Week ===
 
=== This Week ===
  
 +
* [https://cs.senecac.on.ca/~gam666/pages/content/3dmat.html 3D Mathematics (continued)]
 +
** Transformations
 +
*** World Transformations
 +
*** Camera Transformations
 +
*** Projection Transformations
 +
** Math Library
 +
** Direct3D Utilities
 +
* [https://cs.senecac.on.ca/~gam666/pages/content/basic.html Graphics and Cameras]
 +
** Graphics Primitive display paradigm
 +
** Vertex buffers
 +
** Implementing world, view, and projection transformations
 
* Mid-Term Test
 
* Mid-Term Test
* [https://cs.senecac.on.ca/~gam666/pages/content/basic.html Graphics Primitives (continued)]
 
** Model Branch
 
*** Scene Component
 
**** Scene Coordinator
 
**** Frame Base Class
 
**** Object Base Class
 
***** Box Derived Class
 
***** Grid Derived Class
 
*** Viewing Component
 
**** Viewing Coordinator
 
**** Camera Class
 
*** Design Component
 
** Direct-Device Branch
 
*** Graphics Card Component
 
**** Display Portal
 
**** Graphic Class
 
**** VertexList Class
 
  
 
=== To Do ===
 
=== To Do ===
  
# Checkout 7-Graphics Primitives
+
# Checkout Graphics
# Run Graphics Primitive Sample
+
# Run Graphics Sample
# Derive a Plane Object from abstract base class Object
+
# Create a Pyramid Graphic and introduce several Pyramid Objects into the Design object
  
 
=== Resources ===
 
=== Resources ===
Line 210: Line 229:
 
** DirectX documentation as installed on your local computer
 
** DirectX documentation as installed on your local computer
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 +
  
 
== Week 8 - Oct 30 ==
 
== Week 8 - Oct 30 ==
Line 215: Line 235:
 
=== This Week ===
 
=== This Week ===
  
* Mathematics (addendum to course notes)
+
* [https://cs.senecac.on.ca/~gam666/pages/content/basic.html Graphics and Cameras (coninued)]
** Planes
+
** Vertex Data
** Collisions
+
** Vertex Lists
*** Planes
+
** Direct3D Implementation
*** Spheres
+
*** Display
 +
**** Capabilities
 +
*** APIGraphic
 
* [https://cs.senecac.on.ca/~gam666/pages/content/3dren.html Visibility]
 
* [https://cs.senecac.on.ca/~gam666/pages/content/3dren.html Visibility]
 
** Culling Techniques
 
** Culling Techniques
Line 225: Line 247:
 
**** Painter's algorithm
 
**** Painter's algorithm
 
**** Depth Buffering
 
**** Depth Buffering
** Direct Device Branch
+
** Direct3D Implementation
*** Graphics Card Component
 
**** Display Portal
 
* [https://cs.senecac.on.ca/~gam666/pages/content/light.html Lighting]
 
** Model Branch
 
*** Lighting Component
 
**** Lighting coordinator
 
**** Light primitive
 
** Direct Device Branch
 
*** Graphics Card component
 
**** Display portal
 
**** DeviceLight primitive
 
 
 
  
 
=== To Do ===
 
=== To Do ===
  
# Checkout 8-Visibility
+
# Graphic and Camera
# Run Visibility Sample
+
## Checkout the Graphic Sample
# Derive a Plane Object from abstract base class Object
+
## Run the Graphic Sample
 +
## Code a CreatePyramid function for the Graphic Sample using the CreateBox function as a 'template'
 +
# 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
  
 
=== Resources ===
 
=== Resources ===
Line 249: Line 264:
 
** DirectX documentation as installed on your local computer
 
** DirectX documentation as installed on your local computer
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 +
  
 
== Week 9 - Nov 6 ==
 
== Week 9 - Nov 6 ==
Line 254: Line 270:
 
=== This Week ===
 
=== This Week ===
  
* [https://cs.senecac.on.ca/~gam666/pages/content/light.html Lighting (continued)]
+
* [https://cs.senecac.on.ca/~gam666/pages/content/heads.html Heads Up Display]
** Direct Device Branch
+
** Programming Issues
*** Graphics Card component
+
** Direct3D
**** DeviceLight primitive
+
*** Display
 +
*** APIText
 +
** Design
 +
*** Text Class
 +
*** Coordination
 +
* [https://cs.senecac.on.ca/~gam666/pages/content/light.html Lighting]
 +
** Light Components
 +
** Light Types
 +
** Programming Issues
 +
** Direct3D
 +
*** Display
 +
*** APILight
 +
** Design
 +
*** Light Class
 +
*** Coordination
 +
 
 +
=== To Do ===
 +
 
 +
# Heads Up Display
 +
## Checkout Heads Up Display
 +
## Run Heads Up Display Sample
 +
## Add some text to the sample
 +
# 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]
 +
 
 +
<!--
 
* [https://cs.senecac.on.ca/~gam666/pages/content/textu.html Texturing]
 
* [https://cs.senecac.on.ca/~gam666/pages/content/textu.html Texturing]
 
** Texture Coordinates
 
** Texture Coordinates
Line 289: Line 337:
 
** DirectX documentation as installed on your local computer
 
** DirectX documentation as installed on your local computer
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 
** [http://msdn.microsoft.com/en-us/library/ MSDN Library]
 +
 +
-->

Latest revision as of 07:40, 8 November 2011


GAM666/DPS901 | Weekly Schedule | Student List | Project Requirements | Teams and their Projects | Student Resources


Weekly Schedule 20113

Week 1 - Sep 4

This Week

To Do

  1. Download Visual Studio 2010 from ACS and install it on your local computer.
  2. Download Tortoise SVN and install it on your local computer.
  3. Download the Dialog and Selection Samples from the Course Repository. (userid: "dpsgam" password: blank [no password])
    • Run Dialog Sample
    • Run Selection Sample

Resources

Week 2 - Sep 11

This Week

  • COM and DirectX
  • Display Modes
    • The fwk4gps framework, its branches, and architecture
    • Singleton class as an alternative to global variables
    • Including interfaces rather than class definitions to minimize header file dependencies
    • Use the Direct3D COM object to interrogate the hardware for the installed options

To Do

  1. Download and install DirectX SDK June 2010
  2. Download the Dialog Modes Sample from the Course Repository. (userid: "dpsgam" password: blank [no password])

Resources

Week 3 - Sep 18

This Week

  • 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
  • Background 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

To Do

  1. Download the Event Iteration and Background Image Samples from the Course Repository. (userid: "dpsgam" password: blank [no password])

Resources

Week 4 - Sep 25

This Week

To Do

  • Lecture Material
    • Download the Sprites in Motion and Sprites under User Control Samples from the Course Repository. (userid: "dpsgam" password: blank [no password])
  • Workshop
    • Download the ShadesOfRed Sample from the Course Repository. (userid: "dpsgam" password: blank [no password])
      • Complete the coding for this Sample

Resources

Week 5 - Oct 2

This Week

  • Review
    • Windows Programming
      • Windows Functions (WinMain, EnableWindow, AdjustWindowRectEx, SendDlgItemMessage, GetDlgItem, RegisterClass, DialogBox (macro), DestroyWindow, CreateWindow, ShowWindow, UpdateWindow, PeekMessage, TranslateMessage, PostMessage, DispatchMessage, Setcursor, PostQuitMessage, DefWindowProc, WaitMessage, MessageBox)
      • Window Procedures
    • COM Technology
    • Direct3D
      • Direct3D COM Object
      • Direct3D Display Device COM Object
      • Direct3D Texture COM Object
    • Game Programming Aspects
      • Singletons and Interfaces
      • Event Iteration, Messages, and Timing
      • Re-Configuration, Loss and Restoration of Focus
      • Design, Coordination, Graphic Representation
      • Colour and Backbuffering
      • Action-Key Mapping
  • Projects
    • Bringing the Course Wiki Up To Date
      • Create Project Pages for Your Team
      • Ensure that all links on the Student List page are working
    • Start the draft of your game proposal
  • 2D Mathematics
    • Coordinate System
    • Vectors
    • Trigonometry
    • Matrix Transformations

To Do

  1. Add a background image to the ShadesOfRed sample
  2. Add a sprite in motion to the ShadesOfRed sample
  3. Add a second moving sprite to the Sprite in Motion sample
  4. Work on your game proposal and schedule your team's appointment with your instructor (click here to book an appointment)

Resources


Week 6 - Oct 9

This Week

  • 2D Mathematics (continued)
    • Matrix transformations
  • 3D Mathematics
    • Coordinate Systems
    • Vectors
    • Transformations
      • World Transformations
      • Camera Transformations
      • Projection Transformations
    • Math Library
    • Direct3D Utilities
  • Graphics Primitives
    • Graphics Primitive display paradigm
    • Vertex buffers
    • Implementing world, view, and projection 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

Week 7 - Oct 16

This Week

  • 3D Mathematics (continued)
    • Transformations
      • World Transformations
      • Camera Transformations
      • Projection Transformations
    • Math Library
    • Direct3D Utilities
  • Graphics and Cameras
    • Graphics Primitive display paradigm
    • Vertex buffers
    • Implementing world, view, and projection transformations
  • Mid-Term Test

To Do

  1. Checkout Graphics
  2. Run Graphics Sample
  3. Create a Pyramid Graphic and introduce several Pyramid Objects into the Design object

Resources

  • Lecture Material
    • DirectX documentation as installed on your local computer
    • MSDN Library


Week 8 - Oct 30

This Week

  • Graphics and Cameras (coninued)
    • Vertex Data
    • Vertex Lists
    • Direct3D Implementation
      • Display
        • Capabilities
      • APIGraphic
  • Visibility
    • Culling Techniques
      • Occlusion culling
        • Painter's algorithm
        • Depth Buffering
    • Direct3D Implementation

To Do

  1. Graphic and Camera
    1. Checkout the Graphic Sample
    2. Run the Graphic Sample
    3. Code a CreatePyramid function for the Graphic Sample using the CreateBox function as a 'template'
  2. Visibility
    1. Checkout the Visibility Sample
    2. Run the Visibility Sample
    3. Add some objects in the distance and add an action to the framework that toggles from Z-buffering to W-Buffering to no buffering

Resources

  • Lecture Material
    • DirectX documentation as installed on your local computer
    • MSDN Library


Week 9 - Nov 6

This Week

  • Heads Up Display
    • Programming Issues
    • Direct3D
      • Display
      • APIText
    • Design
      • Text Class
      • Coordination
  • Lighting
    • Light Components
    • Light Types
    • Programming Issues
    • Direct3D
      • Display
      • APILight
    • Design
      • Light Class
      • Coordination

To Do

  1. Heads Up Display
    1. Checkout Heads Up Display
    2. Run Heads Up Display Sample
    3. Add some text to the sample
  2. Lighting
    1. Checkout Lighting
    2. Run Lighting Sample
    3. Add a spotlight to the sample

Resources

  • Lecture Material
    • DirectX documentation as installed on your local computer
    • MSDN Library