Developed a ray tracer as group project in university, also implemented a cloud shader.
uni
Find a file
2022-11-06 20:30:29 +01:00
camera Added angle radian conversion 2022-11-06 20:08:09 +01:00
common first commit 2022-11-05 22:08:16 +01:00
data first commit 2022-11-05 22:08:16 +01:00
images first commit 2022-11-05 22:08:16 +01:00
light first commit 2022-11-05 22:08:16 +01:00
primitive Added missing power 2022-11-06 20:30:29 +01:00
renderer Added renderer function 2022-11-06 18:24:52 +01:00
scene first commit 2022-11-05 22:08:16 +01:00
shader first commit 2022-11-05 22:08:16 +01:00
.gitignore first commit 2022-11-05 22:08:16 +01:00
BUILD_INSTRUCTIONS.md first commit 2022-11-05 22:08:16 +01:00
CMakeLists.txt first commit 2022-11-05 22:08:16 +01:00
ex1.cpp first commit 2022-11-05 22:08:16 +01:00
README.md first commit 2022-11-05 22:08:16 +01:00

Git Grundlagen / Workflow

Git Spickzettel: https://files.morr.cc/git-spickzettel.png

Guter Schnellstart mit Begriffen und Konzepten ist Kapitel 2 des pro Git Buches: https://git-scm.com/book/de/v2/Git-Grundlagen-Ein-Git-Repository-anlegen

Musterlösung integrieren (ohne die ganze History wegzuwerfen)

Angepasst von https://medium.com/@topspinj/how-to-git-rebase-into-a-forked-repo-c9f05e821c8a

Das Musterlösungs-Repository als remote mit Namen upstream (oder ähnlich) hinzufügen:

git remote add upstream gogs@git.cg.cs.tu-bs.de:CG1/WS2021.git

Alle Branches von upstream und deren Änderungen herunterladen

git fetch upstream

Die Änderungen hineinmergen und Konflikte so auflösen, dass die Musterlösung bevorzugt wird

git merge -X theirs upstream/master

bitte beachten: Dies löst nur Konflikte so auf, dass die Änderungen der Musterlösung bevorzugt werden. Wenn ihr andere Dateien hinzugefügt habt, werden diese immer noch nach dem Merge vorhanden sein. Ebenso verhält es sich, wenn ihr Interfaces von Funktionen geändert oder Änderungen vorgenommen habt, die nicht mit der upstream-Version in Konflikt stehen (z.B wenn ihr in Aufgabe 03 etwas an der Schnittpunktberechnung aus Aufgabe 01 ändert, das nicht in Aufgabe 03 angepasst wurde, wird die Änderung nach dem Merge immer noch da sein). Deswegen kann so ein Merge immer noch in nicht-kompilierbaren Code resultieren oder Bugs einführen.

Daher ist es immer eine gute Idee, sich noch einmal einen Diff zwischen der aktuellen Version und der Musterlösung zu Gemüte zu führen:

git diff master upstream/master

hier kann man dann noch ggf. selbst Hand anlegen und die Änderungen dann wieder auf das eigene Repository schieben:

git commit -am "Merge solution"

git push origin master

evtl. muss noch --force angegeben werden