90 likes | 196 Views
Game Engine. Math library. Vector – 3, 4 dimensions Matrix – 3, 4 dimensions Quaternions for rotations. Structure(1). One main class: Root Has links to all subsystems Controls the game loop Controls timers Initializes subsystems. Scene Management.
E N D
Math library • Vector – 3, 4 dimensions • Matrix – 3, 4 dimensions • Quaternions for rotations
Structure(1) • One main class: Root • Has links to all subsystems • Controls the game loop • Controls timers • Initializes subsystems
Scene Management • SceneManager keeps track of objects, cameras and lights • Makes visibility checks • Updates cameras • Sends objects to renderer for rendering
Rendering • Done by renderer • Can render objects that use vertex buffers and index buffers • Each frame is rendered for every viewport available • Communication with SceneManager is done through a queue
Resources(1) • Materials, textures, meshes • A material has information about the surface of an object; can have multiple textures; for now they are created manually • Textures are loaded with a texture manager with a default loader; the loader can be changed;
Resources(2) • Meshes contain geometric information about objects in space; • They are loaded with the MeshManager; the MeshManager can have multiple loaders registered; • Each mesh can have multiple materials and submeshes; each submesh has only one material
Animation • With AnimationManager and Nvidia PhysX • The AnimationManager updates the animations for meshes that have animation • PhysX is used for simulating physical interaction between objects