1 / 14

Design of a 2D Graphics Engine

Design of a 2D Graphics Engine. By Joe Hallahan. What is an Engine?. Software engine: core of the program Internal as opposed to visible Others (physics, database) excel at one task only, “software engine” is more general Emphasis on graphics. Benefits. Reusable, safe

arva
Télécharger la présentation

Design of a 2D Graphics Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design of a 2D Graphics Engine By Joe Hallahan

  2. What is an Engine? • Software engine: core of the program • Internal as opposed to visible • Others (physics, database) excel at one task only, “software engine” is more general • Emphasis on graphics

  3. Benefits • Reusable, safe • Framework for program – everything else is specific/detail work

  4. Purpose • To create an engine using C++, OpenGL, and SDL that can simplify the process required for creating a graphical application by rendering graphics automatically and providing support for other general functions

  5. Design - Tools • C++ • Fast, efficient • SDL • Free • Makes many functions easier • Works well with OpenGL • Cross-platform

  6. Design - Tools • OpenGL • 2D and 3D support • Can be hard to learn/use • Free, supported on most systems • Really really fast

  7. Design - Structure • Engine.h contains declarations of variables, functions, classes, also includes external libraries • Engine.cpp defines everything declared in Engine.h • A third program can be used to test the engine, all that is really necessary is the main() method

  8. Problems to Overcome • Data structure • Array used • Holds Shapes • Only holds up to 100 objects

  9. Testing #include "Engine.h" int main(int argc, char* argv[]){ Engine e; e.run(); return 0; }

  10. Testing

  11. Testing / Analysis • 3 test programs • Simple Test • Bare minimum – no external program, just a main method • Pong • Game, familiar • Simple, controls supported through SDL • Engine Demo • Colors • Collisions

  12. Conclusion • Engine works correctly • Performance mainly hardware dependent, should be about as efficient as a normal program made without using engine • No performance loss

  13. Expandability • 3D support • Sound • More inputs • More performance tweaks • Better collision detection • Will hurt performance in most cases • Specialization

  14. Bibliography • -Development of a 3D Graphics Engine (Kassing) • -Modular Architecture for Computer Game Design (McNeill) • -Multi-threaded Game Engine (Tulip, Bekkema, Nesbitt) • -Interactive 3D Geometry in OpenGL (Welsh) • -FROG: The Fast \& Realistic OPENGL Displayer • -Simple and rapid collision detection using multiple viewing volumes (Fan, Wan, Gao)

More Related