Download presentation
Presentation is loading. Please wait.
1
Basics. OpenGL. “Hello world” George Georgiev http://academy.telerik.com Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer
2
Computer graphics 2D 2.5D 3D 3D Graphics Libraries OpenGL Introduction to OpenGL Setting up OpenGL “Hello World” 2
3
Types, Geometry, Libraries
4
Computer graphics are Representation of image data 2 types – 2D and 3D Computation-heavy Closely related to computer geometry Basic terminology Primitives Transformations Interpolation 4
5
2-Dimensional (2D) graphics Space is planar Units – usually pixels Use 2D geometry Drawing order matters Image files are essential Pseudo 3-D (2.5D) graphics Contain per-object depth information Use oblique projections of 2D objects 5
6
3-Dimensional (3D) graphics Provide depth information Units – whatever you like Use both 3D and 2D geometry Drawing order DOESN’T matter except for transparency Lighting and texturing are essential Model files are essential 6
7
Basics, Common practices
8
Primitives Pixels Images (textures) Geometry – Dots, Lines, Triangles (rarely used) Objects (sprites) Groups of pixels Images with transparency Geometry meshes 8
9
Transformations Translation ‘Mirroring’ Rotation (only for ‘geometry’ sprites) Scaling (only for ‘geometry’ sprites) 9
10
Coloring Per-pixel Per-vertex (‘geometry’ sprites) Animation Image sequences 10
11
Rendering process Create a color buffer (usually a matrix with the screen resolution as dimensions) Render the background to the buffer Render the foreground to the buffer Draw the color buffer to the screen 11
12
Basics, Common practices
13
Primitives Images (textures) Objects (sprites) Multiple images, one for each object orientation 13
14
Transformations Translation ‘Mirroring’ (not often) Oblique projection (pre-rendered) Coloring Per-pixel Animation Image sequences 14
15
15
16
Finally…
17
Primitives Geometry – Vertices, Lines, Triangles Objects (sprites) Geometry meshes Triangles (solid) Lines (wireframe) Vertices (‘constellations’) 17
18
Transformations Translation Rotation Scaling Uniform Non-uniform Projection Parallel (mainly orthogonal) Perspective 18
19
Coloring & Transparency Per-vertex Drawing order matters for transparency! Transparent objects are drawn after opaque ones Lighting Per-vertex Essential Texturing 19
20
Perspective viewing Elements Eye position View angle Near clipping plane Far clipping plane 20
21
Eye position Usually called camera position Represents the user’s viewing position View angle The camera’s “lens width” Represents the user’s vision capabilities 60 or 45 degrees are most commonly used The larger the view angle, the larger the view volume 21
22
Near clipping plane The nearest visible distance Represents the display Far clipping plane The farthest visible distance Objects behind it are not rendered 22
23
The “Frustum” The view volume, clipped by The near clipping plane The far clipping plane Contains the visible objects Visible objects are projected on the near clipping plane 23
24
Rendering process Create depth and color buffers (matrices with the screen resolution’s dimensions) Project objects’ vertices on the near clipping plane Fill depth buffer (interpolating vertices depth) Clip overlapping objects’ faces (using depth buffer) Interpolate colors and render color buffer 24
25
Rendering 3D graphics to a 2D screen is a very complicated task Computation-heavy Knowledge-heavy That’s why we use 3D graphics libraries OpenGL Direct3D Nvidia Cuda 25
26
Introduction. "Hello World"
27
OpenGL 2.0 & 2.1 Cross-platform Cross-language Hardware accelerated Reviewed and updated ARB, Khronos Group Extension mechanism Massive community 27
28
Low-level Procedural Shader support GLSL State-machine Open-source, Open standard 28
29
Additional libraries GLEW – The extension wrangler Makes it easy to access extensions Included before all other OpenGL libraries FreeGLUT – The utility toolkit Handles window procedures Handles input Cross-platform Supersedes GLUT 29
30
OpenGL & FreeGLUT with MS Visual Studio Gathering “include” files Compiling “.lib” and “.dll” files Adding to the SDKs Adding the.dll files to the system Making a project Linking against the “.lib” files 30
31
Useful links Setting up ONLY OpenGL http://thoughtsfrommylife.com/article-748- OpenGL_and_Visual_Studio_Express_2008 http://thoughtsfrommylife.com/article-748- OpenGL_and_Visual_Studio_Express_2008 http://thoughtsfrommylife.com/article-748- OpenGL_and_Visual_Studio_Express_2008 OpenGL setup and beginner tutorials http://www.swiftless.com/opengltuts.html http://www.swiftless.com/opengltuts.html Large-scope OpenGL tutorials (currently – 11.07.2011 – under maintenance) http://nehe.gamedev.net/ http://nehe.gamedev.net/ 31
32
Live Demo
33
OpenGL “Hello World” with FreeGLUT Goals Create a window with OpenGL working in it Introduce GLUT window procedures and the glutMainLoop OpenGL knowledge attained: OpenGL colors Identity matrix glClear 33
34
Live Demo
35
форум програмиране, форум уеб дизайн курсове и уроци по програмиране, уеб дизайн – безплатно програмиране за деца – безплатни курсове и уроци безплатен SEO курс - оптимизация за търсачки уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop уроци по програмиране и уеб дизайн за ученици ASP.NET MVC курс – HTML, SQL, C#,.NET, ASP.NET MVC безплатен курс "Разработка на софтуер в cloud среда" BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране, книги – безплатно от Наков безплатен курс "Качествен програмен код" алго академия – състезателно програмиране, състезания ASP.NET курс - уеб програмиране, бази данни, C#,.NET, ASP.NET курсове и уроци по програмиране – Телерик академия курс мобилни приложения с iPhone, Android, WP7, PhoneGap free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране http://academy.telerik.com/
36
3D Graphics and Game Development academy.telerik.com/…/ 3d-game-development-opengl academy.telerik.com/…/ 3d-game-development-opengl academy.telerik.com/…/ 3d-game-development-opengl Telerik Software Academy academy.telerik.com academy.telerik.com Telerik Academy @ Facebook facebook.com/TelerikAcademy facebook.com/TelerikAcademy Telerik Software Academy Forums forums.academy.telerik.com forums.academy.telerik.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.