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.
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.
All the informations regarding the software configuration, how to set it up, and how to build the framework, can be found in BUILD.rst.
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.
- Dear ImGui is released under an MIT licence, see Dear ImGui’s licence.
- This project is unlicenced, see the UNLICENCE file.