55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# 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.
|
|
|
|
## 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
|
|
|
|
Depending on the file,
|
|
[GPL-3.0-or-later](https://spdx.org/licenses/GPL-3.0-or-later.html)
|
|
or [LGPL-3.0-or-later](https://spdx.org/licenses/LGPL-3.0-or-later.html)
|
|
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](./gpl-3.0.txt) and [lgpl-3.0.txt](./lgpl-3.0.txt) for details.
|