Skip to content

Repository for Computer Graphics courses EDAF80 (ex EDA221) and EDAN35 at Lund University, Sweden.

License

Notifications You must be signed in to change notification settings

LUGGPublic/CG_Labs

Repository files navigation

UbuntuBadge MacOSBadge WindowsBadge

CG_Labs contains the source code for the various Computer Graphics courses taught at Lund University (EDAF80 and EDAN35). All assignments of EDAF80 are available, as well as the second assignment of EDAN35.

The public repository is found at https://github.com/LUGGPublic/CG_Labs, and its documentation at https://luggpublic.github.io/CG_Labs.

Dependencies

CG_Labs uses the following dependencies:

  • assimp (>= 5.0.0): to load OBJ models;
  • CMake (>= 3.13): to generate project files and handle dependencies;
  • Dear ImGui (1.84.2): to display information on screen, such as logs;
  • Git: to clone missing dependencies;
  • GLAD (0.1.33): to load OpenGL extensions;
  • GLFW (>= 3.2.0): to create a window and an OpenGL context, as well as handle inputs;
  • GLM (0.9.9.5): for linear algebra operations;
  • stb: to load image files;
  • tinyfiledialogs (>= 3.1.2): to display dialogue windows to the user, in case of errors for example.

The project contains the needed files for GLAD and Dear ImGui, and it will download assimp, GLM, GLFW, stb and tinyfiledialogs if they are not found on your computer, so you only need to make sure that CMake and Git are installed on your computer.

An OpenGL 4.1 context is created by the project; if your hardware or its driver does not support OpenGL 4.1, you should use the OpenGL 3.3 branch instead which will create a 3.3 context.

C++14 features are used by this project, so you will need a C++14-capable compiler; if you are using Visual Studio, that means Visual Studio 2015 or later.

The different resources used in the assignments, textures, object files, can be found in this ZIP file, which should be automatically retrieved by CMake.

Configuring and building

All the informations regarding the software configuration, how to set it up, and how to build the framework, can be found in BUILD.rst.

Miscellaneous

If you are on a laptop and would like to force the assignments to run on the discrete GPU, set the option GLFW_USE_HYBRID_HPG to ON using CMake — either from the CMake GUI or using CMake on the command line.

Licence