Your SlideShare is downloading. ×
8. Open GL Basics - 3D Graphics and Game Development
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

8. Open GL Basics - 3D Graphics and Game Development


Published on

In this presentation, part of the 3D graphics and game develpment course, we discuss the OpenGL & GLUT Basics - window reshaping, keyboard Interaction, camera positioning, orientation, drawing …

In this presentation, part of the 3D graphics and game develpment course, we discuss the OpenGL & GLUT Basics - window reshaping, keyboard Interaction, camera positioning, orientation, drawing objects, Coloring
Telerik Software Academy:
The website and all video materials are in Bulgarian

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. OpenGL & GLUT Basics Window reshaping, Keyboard interaction, Camera, Drawing objectsGeorge GeorgievTechnical TrainerGeorge AtanasovFront-End Developer
  • 2. Table of Contents Project using OpenGL & FreeGLUT in MSVC++ Window reshaping Keyboard Interaction Camera  Positioning, orientation Drawing objects  Coloring  Positioning, orientation Basic Lighting 2
  • 3. Project using OpenGL & FreeGLut A reminder…
  • 4. OpenGL & FreeGLUT Project Step 1 – Creating the project  Setup OpenGL & FreeGLUT (done only once)  Open Visual Studio, Choose C++ as a language  Create a Win32 Console application  Tick “Empty project”  Add a new .cpp file  #include <glglew.h>  #include <glfreeglut.h>  int main(int argc, char ** argv) 4
  • 5. OpenGL & FreeGLUT Project (2) Step 2 - Linking  Go to Project > [YourProjectName] Properties  From the side menu choose Configuration properties > Linker > Input  In the Additional Dependencies type in: glew32.lib freeglut.lib  Do this for both Debug and Release configurations (upper left corner in the window)  Close the properties window, you’re ready to go 5
  • 6. OpenGL & FreeGLUT Project (2) Tip – the faster way to link to the libraries  Skip the entire Step 2  In the .cpp file write:  #pragma comment (lib, “glew32.lib”) #pragma comment (lib, “freeglut.lib”) 6
  • 7. Window reshaping The Reshape function
  • 8. Window reshaping Reshape function  Specified by glutReshapeFunc  Defines how your window reshapes  Write it once, remember it no more 8
  • 9. Window reshaping Live Demo
  • 10. Keyboard interactionThe Keyboard monitoring functions
  • 11. Keyboard interaction Keyboard monitoring functions  Specified by  glutKeyboardFunc  glutKeyboardUpFunc  Monitor key pressing and key releasing  Doesn’t receive device information  Receives translated windows messages 11
  • 12. Keyboard interaction Live Demo
  • 13. Camera controlOrientation and positioning
  • 14. Camera control ‘Moving the world’ method  Using the glTranslate* and glRotate* functions  You do the things the opposite way around  F. e., to move the camera forward, move the objects backward Using the gluLookAt function  Specifies  camera location  Viewed location 14
  • 15. Drawing objectsGLUT predefined objects, Coloring, Positioning
  • 16. Drawing objects GLUT predefined functions  glutSolid*  glutWireframe* Coloring  glColor* - defines the current drawing color Positioning  glTranslate* - moves the renderer by a vector  glRotate* - rotates the renderer by an Euler angle 16
  • 17. Camera control & Drawing objects Live Demo
  • 18. Basic Lighting Enabling lighting
  • 19. Basic lighting Enabling lighting  glEnable Enabling ‘color material’ 19
  • 20. Basic Lighting Live Demo
  • 21. OpenGL Basics курсове и уроци по програмиране, уеб дизайн – безплатно BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране – Телерик академия форум програмиране, форум уеб дизайн уроци по програмиране и уеб дизайн за ученици ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET програмиране за деца – безплатни курсове и уроци ASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC безплатен SEO курс - оптимизация за търсачки алго академия – състезателно програмиране, състезаниякурсове и уроци по програмиране, книги – безплатно от Наков курс мобилни приложения с iPhone, Android, WP7, PhoneGap уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop Дончо Минков - сайт за програмиране free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране безплатен курс "Качествен програмен код" безплатен курс "Разработка на софтуер в cloud среда" C# курс, програмиране, безплатно
  • 22. Free Trainings @ Telerik Academy 3D Graphics and Game Development  development-opengl Telerik Software Academy  Telerik Academy @ Facebook  Telerik Software Academy Forums 