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

  • 2,019 views
Uploaded 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
http://academy.telerik.com/.../3d-game-development-opengl
Telerik Software Academy: http://www.academy.telerik.com
The website and all video materials are in Bulgarian

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,019
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
46
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. OpenGL & GLUT Basics Window reshaping, Keyboard interaction, Camera, Drawing objectsGeorge GeorgievTechnical TrainerGeorge AtanasovFront-End Developerhttp://academy.telerik.com
  • 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 http://academy.telerik.com/ програмиране за деца – безплатни курсове и уроци 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  academy.telerik.com/.../3d-game- development-opengl Telerik Software Academy  academy.telerik.com Telerik Academy @ Facebook  facebook.com/TelerikAcademy Telerik Software Academy Forums  forums.academy.telerik.com