170 likes | 306 Views
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”.
E N D
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? ? ? ? ? ? ? ? ? ?