Programming tasks for ECG (filtered version)
This repository has been archived on 2024-01-28. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2023-05-09 23:47:47 +02:00
u01 u01: Accept reference for node::set_name 2023-05-09 23:25:04 +02:00
u02 u02: Improve test performance 2023-05-09 23:47:47 +02:00
.envrc Init project structure 2023-04-21 22:46:49 +02:00
.gitignore Init project structure 2023-04-21 22:46:49 +02:00
flake.lock Init project structure 2023-04-21 22:46:49 +02:00
flake.nix u02: Add skeleton 2023-05-09 23:47:46 +02:00
gpl-3.0.txt Licence under GPL v3 or later 2023-05-09 23:25:04 +02:00
lgpl-3.0.txt u02: Add skeleton 2023-05-09 23:47:46 +02:00
README.md u02: Add skeleton 2023-05-09 23:47:46 +02:00

Programming tasks for ECG

This repository includes my solutions to the tasks for the module Einführung in die Computergraphik (Introduction to computer graphics) in the summer semester 2023 at the TU Dresden.

Each exercise includes a separate readme.txt that describes things specific to how I implemented the task. However, those documents are in German, which is a requirement.

Usage

Build

To build a specific exercise, you can use Nix with flake support:

nix build -L .#u01

You can also manually invoke CMake. This requires you to have all dependencies installed. Because this is not my preferred way, there is no canonical list of dependencies, but you can find them in flake.nix.

Development

You can use nix develop or direnv.

To create a compile_commands.json for ccls (or similar), create a build directory inside the exercise directory, and from that, execute:

cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
ln -sf build/compile_commands.json ..

Licence

Depending on the file, GPL-3.0-or-later or LGPL-3.0-or-later or “Copyright (C) CGV TU Dresden - All Rights Reserved”.

The published version only includes files under free software licences. Sadly, that makes them very incomplete, because most implementations done by me are in files from the template, which makes my additions a derivative work.

All files not marked differently are released under GPL-3.0-or-later.

See gpl-3.0.txt and lgpl-3.0.txt for details.