7280_engineProgramming
7280_engineProgramming
Software
Engine Programming
• Disadvantage
1. Difficult to modify level
2. Not easy for work division
CSC7280 Computer Game Software Production
Evolution of Game Development
• During early 90’s, the industry evolved a
new approach : game engine
Level data
Game engine display
player input
CSC7280 Computer Game Software Production
What is a game engine?
• A software which can provide support for
drawing of graphics, sound, .. etc
• Is technically difficult to develop as they
involve expertise that needs mathematics,
physics, and most important – programming
skills.
• Only a few good 3D game engines available
in the market e.g. Doom3, Unreal, etc.
intersection
difference
primitives
Linear Linear
transformation transformation
Non-linear Perspective
transformation projection
Raster Screen
space space
Rasterization
CSC7280 Computer Game Software Production
Rendering Techniques
• Each object (object
space) is placed in
the scene (world
space)
• We set our player
(camera) at
designated position
in level
+
original lightmap
multitexture
CSC7280 Computer Game Software Production
Multitexturing
• Draw two textures on the same location(polygon) can be
performed through different pass
• It can also be performed in single pass using more than 1
texture units
ARB: OpenGL Architecture Review
• In OpenGL Board approved extension
Halflife 2
CSC7280 Computer Game Software Production
Real time Lighting
Real time lighting
on all surfaces
Doom 3
Real time
shadow calculation CSC7280 Computer Game Software Production
3D Graphics Pipeline
s1
Incorrect result