Module 2
Module 2
Module 2
Chapter 1
Introduction
• Hardware
▫ This is the system that the game is to run on
• Device Drivers
▫ Shield the OS and upper layers from low level device
communications details
• Operating System
▫ Handles the execution and interruption of multiple
programs on a single machine
▫ Very thin on a console
3rd Party SDKs
• Data Structure and Algorithms
▫ STL – C++ standard template library data structures, strings, stream-based I/O
▫ Boost – powerful data structures and algorithms
Boost libraries are intended to be widely useful, and usable across a broad spectrum of
applications. For example, they are helpful for handling large numbers having range
beyond the long long, long double data type (264) in C++.
• Graphics
▫ OpenGL and DirectX
• Collisions and Physics
▫ Havok, PhysX, ODE, Bullet
• Character Animation
• Artificial Intelligence – Kynapse
Platform independence layer
• Allows the engine to be developed without
the concern of the underlying platform
• Provides wrappers to common target
specific operations
• Include things like primitive types,
network, file systems, etc.
Core systems
• Assertions – error checking code
• Memory Management
• Math library – vector and matrix
math, numeric integrators
• Custom data structures
Resource manager
• Provides a unified interface for accessing assets
• The level of complexity is dictated by need
▫ Often the game programmers must do resource loading
directly
▫ Engines like UT do unpackaging and complex
manipulation of assets in the engine
Rendering
Rendering is the process of computing an image from contents of a
scene.
Creation:
➢ The creation of 3D and 2D images use different principles.
• Canvas – It is user interface which is normally the top most layer displaying
the game scores
• Layer – The various layers that hold gameobjects together
▫ Layer 0 has the full visibility
▫ Other layers may be occluded(hidden) based on the objects in other layers
• A renderer is what makes an object appear on the screen. Use this class to
access the renderer of any object, mesh or Particle
System. Renderers can be disabled to make objects invisible (see enabled)
Scene graph
• A scene graph is a data structure that arranges a graphical scene.