u01 | ||
u02 | ||
u03/dependencies/qdbmp | ||
.envrc | ||
.gitignore | ||
archive.sh | ||
filter.sh | ||
flake.lock | ||
flake.nix | ||
gpl-3.0.txt | ||
lgpl-3.0.txt | ||
mit.txt | ||
README.md |
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.
Note:
Due to copyright restrictions,
I am not allowed to publish many of my solutions.
The repository ecg-prog-filtered
only includes files solely written by me.
It is filtered with the filter.sh
script.
Please don’t rely on the history of this repository,
as rewriting is part of how it can exist.
See Licence for more information on the licencing.
If you want access to all of my solutions, please write me an email (or contact me in another way), I’ll see what I can do.
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” or MIT. Please see the specific files for what applies to them.
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, lgpl-3.0.txt and mit.txt for details.