This repository has been archived on 2024-01-28. You can view files and clone it, but cannot push or open issues/pull-requests.
ecg-prog-filtered/README.md

63 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Programming tasks for ECG
This repository includes my solutions to the tasks
for the module [*Einführung in die Computergraphik* (Introduction to computer graphics)](https://tu-dresden.de/ing/informatik/smt/cgv/studium/lehrveranstaltungen/ss2023/ecg)
in the summer semester 2023 at the [TU Dresden](https://tu-dresden.de/).
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`](./filter.sh) script.
Please **dont** rely on the history of this repository,
as rewriting is part of how it can exist.
See [Licence](#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),
Ill see what I can do.
## Usage
### Build
To build a specific exercise,
you can use [Nix](https://nixos.org/) with flake support:
```bash
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`](https://direnv.net/).
To create a `compile_commands.json` for `ccls` (or similar),
create a `build` directory inside the exercise directory,
and from that, execute:
```bash
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
ln -sf build/compile_commands.json ..
```
## Licence
This project is [REUSE](https://reuse.software/) compliant.
Please use the reuse specification for finding out,
what licence each file is under.
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.