Skip to content

The OpenGL exercises I have done for the "Computer Graphics Programming" course. The course was about how a 3D computer graphics works and how to use the OpenGL and shaders to create simple 3D scenes. The repository is a fork of the startup project that contain necessary libraries. Branches "ex2", "ex3" and "ex4" contain consecutive exercises.

License

Notifications You must be signed in to change notification settings

arturn-dev/OpenGLPAG

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenGLPAG

The OpenGL exercises I have done for the "Computer Graphics Programming" course. The course was about how a 3D computer graphics works and how to use the OpenGL and shaders to create simple 3D scenes. The repository is a fork of the startup project that contain necessary libraries. Branches "ex2", "ex3" and "ex4" contain consecutive exercises.

The last (ex4) exercise contains almost everything that was implemented in the previous ones. Summary of implemented features:

  • Rendering meshes using VAOs, VBOs and EBOs
  • Vertex and fragment shaders includes:
    • Texture drawing
    • Cubemap drawing
    • Drawing objects that refract and reflect a cubemap
    • Lighting calculations using Blinn-Phong model: directional (global) light, spotlight, point light
  • Instanced rendering
  • Scene graph
  • Camera
  • Importing models using the Assimp library
  • Changing the scene in runtime with GUI controls using ImGui library

Exercise 2 (branch "ex2") - Solar system

Solar system Solar system with textured planets and moons. Objects are stored in a scene graph.
Rotatable view.

Exercise 3 ("ex3") - Housing estate

Housing estate Grid of houses using instanced rendering.
3 types of lighting: global, spotlight and point light (diffuse and specular).

Exercise 4 ("ex4") - Motorbike

Motorbike
Motorbike
Video: https://i.imgur.com/c2CNsay.mp4
Controllable motorbike with moving wheels and handlebar.
Mirrors are reflecting the skybox. Windshield is refracting the skybox.
The camera (view) can be "attached" behind the motorbike.

About

The OpenGL exercises I have done for the "Computer Graphics Programming" course. The course was about how a 3D computer graphics works and how to use the OpenGL and shaders to create simple 3D scenes. The repository is a fork of the startup project that contain necessary libraries. Branches "ex2", "ex3" and "ex4" contain consecutive exercises.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.0%
  • GLSL 5.6%
  • CMake 1.9%
  • C 1.5%