|
|
 |
 |
 |
 |
 |
Shahzad Malik's 95.402 Page
|
 |
 |
 |
 |
 |
 |
 |
| |
| |
Welcome to my page!
This is the TA page for Computer Science 95.402A, Fall 2001.
On this page you'll be able to find links to most of the course related information, such
as Professor LaLonde's notes, the course
outline, assignments, marks, etc.
The current TA hours for 95.402 are as follows:
Ernest Szoka [www | email]:
Tuesday 5:30pm-7:30pm (3rd floor/4th floor labs, Herzberg)
Shahzad Malik [www | email]:
Tuesday 4pm-6pm and Friday 4pm-6pm (3rd floor/4th floor labs, Herzberg)
We will also try to update this page regularly with links and information which will help
students with their final project. Since this is a project-oriented course, lots of cool
and interesting effects in your final 3D engine can really boost your marks, and the
Internet is full of excellent examples and demos from which you can get ideas! Check out
the links page for some interesting sites.
|
|
|

Wednesday, November 28, 2001
Final Project Information
Professor LaLonde has not set any official project due date. It is up to each student
to arrange a demo time with him for sometime in mid-December. You can contact Wilf LaLonde
at (613) 839-2493 to set up a demo time and location.
Monday, November 12, 2001
BSP Tree Information
Ernest found the following interesting sites related to BSP trees:
BSP Tree Visualizer Applet
BSP FAQ
Tuesday, November 6, 2001
Assignment #6 Available
Assignment #6 has been handed out! It is due Tuesday, November 20, 2001, before midnight (or during the demo time).
Sunday, October 21, 2001
TGA Loader
Ernest has implemented a nice little
Bitmap/TGA Loader for interested 402 students. It
currently only loads 24 bit bitmaps and TGAs that are uncompressed, so
Photoshop TGA's will work, but PaintShop Pro ones won't (unless you change
the TGA settings). This is only an image loader, so turning it into an actual
texture within your game engine is up to you!
Camera Code Problems
Some people have managed to create smooth camera movement by doing the
move and rotate on each render pass (tick) and setting their move and
rotate variables on key down, and removing said movement and rotation on
key ups. The jittery camera is caused by people instantly updating their
camera matrix on key down with glutIgnoreKeyRepeat set to true. The
distinction here is that when you hit the key down, it moves a bit, and
starts to move continuously a moment later when the repeat rate kicks in
giving you crappy camera movement. As well the movement is not
consistent from machine to machine and is also affected by how much you're
rendering, so taking the actual amount of time elapsed since the last
frame into account will help maintain consistent speed of camera
movement. Here is some pseudo code to help you alleviate this problem. We
suggest everyone implement this because it makes the game a lot more
presentable and will help you in your final project.
globals:
move
rotate
oldTime
specialKeyPressed
{
on key pressed set move and rotate to appropriate fixed constant
}
specialKeyReleased
{
on key released clear move and rotate (or simply remove the appropriate value you set on specialKeyPressed)
}
game::tick
{
//get amount of time since last frame was rendered
ticks = (newTime - oldTime)
oldTime = newTime
tempMove = move
tempRotate = rotate
//multiply temp move/rotate by ticks and some arbitrary constant ratio
//the ratio determines the speed
tempMove *= ticks * someRatio
tempRotate *= ticks* someRatio
camera->moveBy(tempMove)
camera->rotateBy(tempRotate)
}
Here is a Time class that gives you the current amount of time that has
elapsed as well as SecondsPerFrame and FramesPerSecond. Simply substitute
Time.GetAverageSPF for ticks. Rember to inlcude the global header
#include "includes.all" at the top of Time.cpp.
Tuesday, October 16, 2001
Assignment #5 Available
Assignment #5 has been handed out! It is due Tuesday, October 30, 2001, before midnight (or during the demo time).
Thursday, October 11, 2001
Hints for Assignment #4
Offset the skybox texture coordinates by (1.0 / texture_width) to get rid of seams on
skybox edges.
Use TGA files with an alpha mask to do transparent/semi-transparent
textures (use PhotoShop,
Paint Shop Pro, or any other graphics program
that supports TGA's and alpha channels) or use a separate bitmap (luminance) to hold the
alpha mask.
Use OpenGL automatic texture generation to do cloud shadows or
underwater caustics, rendering the scene a second time with the added
texture and blending.
Tuesday, October 9, 2001
Assignment #4 Available
Assignment #4 has been handed out! It is due Tuesday, October 16, 2001, before midnight (or during the demo time).
Tuesday, October 2, 2001
Friday TA Hour Change
TA hours for Friday have changed slightly. They are now 4pm-6pm (instead of 11am-1pm).
Wednesday, September 26, 2001
Comments on Assignments
The past assignments have been pretty status quo, but given the limited
amount of time you've had to implement them it is understandable. You
should try and go above and beyond the assignments to guarantee a higher
mark for the final project whenever possible.
In the future for handing in assignments you must at least do the
following to get a mark:
Either demo the assignment during TA hours or hand it into the drop box
(although we prefer that you demo it!)
IMPORTANT: make sure the game.exe runs properly from any location
(not just from c:/3d/)
If you hand in the assignment in the drop box please include the .exe and
pre-made worlds; do not force us to compile the project and/or build
worlds. You do not have to include .map files and textures we already
have (include textures if you have space on a CD). Also please don't
include intermediate files like .obj, .ncb, .sbr, etc. You must include
source for the game, and the .dsw/.dsp file in case we are unable to run the
game.exe. Try not to zip everything.
Your game must render the geometry properly to get a mark. Small
glitches are acceptable but at least have something that looks like what
it's supposed to look like.
Textures should load relative to the World folder or relative to
the Game folder (where the game.exe should be located)
Some tips
For the second assignment if you want the teapots to retain a
uniform scale (extent) over the rotation, scale after you rotate and not
before. You will notice that the teapots with different x and z extents
squish and deform from an overhead view as they rotate if the scale is
done prior to the rotation.
Assignment Marks
Assignment "marks" will be available soon by clicking here.
You can also access this page by clicking the respective link from the left menu bar.
Tuesday, September 25, 2001
Assignment #3 Available
Assignment #3 has been handed out! It is due Tuesday, October 2, 2001, before midnight.
Tuesday, September 18, 2001
Some useful links
Ernest Szoka has compiled a set of graphics-related links which are relevant to 95.402. Here they are:
CFXWeb - A nice site with lots of technical articles and sample code related to computer graphics.
GameDev.net - A regularly updated site with daily news, technical articles, and discussion forums for game developers.
NeHe Productions - Lots of OpenGL-related information, tutorials, articles, and source code!
FX-LoneRunner - This site has some good demos and source code for animating Quake2 player models.
HalfLife Editing Resource Center - Contains some good information on editing worlds with WorldCraft.
Assignment #2 Available
Assignment #2 has been handed out! It is due Tuesday, September 25, 2001, before midnight.
Tuesday, September 11, 2001
Assignment #1 Available
Assignment #1 has been handed out! It is due Tuesday, September 18, 2001, before class.
Thursday, September 6, 2001
Welcome back!
Welcome to 95.402A, Fall 2001. First class is next Tuesday, September 11, 2001, 7:30pm
in room 3235ME.
|
|
| |
| |
|
If you have any comments or suggestions, email me at smalik@chat.carleton.ca
|
 |
 |
|