Computer Graphics in Game programming
170 likes | 318 Vues
Computer Graphics in Game programming. Basics. OpenGL. “Hello world” . George Georgiev. Telerik Corporation. www.telerik.com. Table of Contents. Computer graphics 2D and 3D Computer geometry Graphics Libraries OpenGL Introduction to OpenGL Setting up OpenGL “Hello World”.
Computer Graphics in Game programming
E N D
Presentation Transcript
Computer Graphics in Game programming Basics. OpenGL. “Hello world” George Georgiev Telerik Corporation www.telerik.com
Table of Contents • Computer graphics • 2D and 3D • Computer geometry • Graphics Libraries • OpenGL • Introduction to OpenGL • Setting up OpenGL • “Hello World”
Computer graphics Pixels, Vectors, GPUs, Libraries
What is Game Programming? • Game programming handles: • Loading game resources • User input • Game events • Scripting • Game objects interaction • AI characters • Game sounds and visualization • Results, such as winning or losing
What is Game Programming (2) • Game programming consists of: • “Game logic” programming • Graphics programming • AI programming (not necessarily) • Audio programming (not necessarily) • Physics programming (not necessarily)
What is Game Programming (3) • Game programming IS NOT Game Development • It is only a part of it • Game programming is cool! • You can play your game and pretend you’re debugging it
Specifics of Game Programming • Game programming specifics • The “Game loop” • Starting from scratch • Usage of many programming concepts • System requirements
Specifics of Game Programming (2) • A basic “Game loop” in pseudocode while( user doesn't exit ) check for user input run AI move enemies resolve collisions draw graphics play sounds end while
Specifics of Game Programming (3) • What else is special about game programming? • No strict requirements • No one expects complete accuracy • Need to balance “challenges” with “rewards” • Being fail-safe is not a priority • Small optimizations count • Greedy optimizations count
Tools • Programming languages • C / C++ • C# • Java • Scripting languages • Custom-made languages (very common) • Lua • Python
Tools (2) • Libraries and APIs • Single-purpose • Graphics – Direct3D, OpenGL, OGRE • Physics – Bullet Physics Library, ODE • Multi-purpose • DirectX • XNA • Irrlicht Engine • Unreal Engine
Tools (3) • Benchmarking tools • Mainly framerate tracking software • Fraps • Alternative development approaches • Game development software • Game maker • 3D modeling software with scripting capabilities • The Internet…
C++ The industry standard language
What is C++? • The most widely used and popular programming language • Object-oriented • Mid-level • Compiles to binary • Fast • Low memory usage
C++ & Game programming • The industry standard language • Most popular games are written in C++ • A lot of APIs are written in and for C / C++ • Runs almost on everything • The C++ community is huge • Not a dying language
Why aren't we using C# ? • Too young as a language • Can’t compare to C++’s community • Not designed to be as fast as C++ • 10% faster counts in game programming • Too high-level and style-demanding • Game programming requires freedom • C# without .NET is like C++ without the “++” • The lower you go, the more you know • We (you) are here to learn
Introduction to Game programming ? ? Questions? ? ? ? ? ? ? ? ? ?