Repozytorium zawiera źródło skryptu do zajęć, kod startowy na podszczególne dni (chociaż w wersji niekoniecznie całkowicie poprawnej --- nie ma tu poprawek, które robiliśmy podczas zajęć), kod działającego prototypu raytracera, kody przykładów do zajęć z grafiki dwuwymiarowej.
Skrypt jest napisany przy pomocy Sphinxa, narzędzia do
generowania dokumentacji do Pythona. Sphinx generuje statyczną stronę internetową na podstawie
plików w katalogu skrypt/:
conf.pyto główny skrypt konfiguracyjny.index.rstto główna strona; wszystkie pozosałe pliki z treścią skryptu muszą być dodane przez niego.*.mdto pliki markdown ze skryptami na zajęcia w poszczególne dni.
Żeby zbudować skrypt, trzeba utworzyć venv ze wszystkimi potrzebnymi bibliotekami Pythona
i kazać wygenerować statyczną stronę:
cd skrypt
python3 -m venv .doc_venv
. .doc_venv/bin/activate
pip install -r requirements.txt
make htmlWynik będzie w skrypt/_build/index.html.
...znajdują się w solutions/, ale niekoniecznie zawierają te poprawki, które musieliśmy wprowadzić
na bierząco podczas zajęć. Do eksperymentów chyba lepiej używać kodu z prototypes/ -- on na pewno
się uruchamia.
W katalogu prototypes/ znajdują się programy pokazywane na zajęciach z grafiki dwuwymiarowej
oraz prototyp raytracera. Raytracer (prototypes/simple_raytracer.py) ma w sobie rozwiązania
w miarę wszystkich zadań i generalnie działa, jest trochę mniej posprzątany, niż ten z zajęć.
W starting_code/w2_simple_raytracer.py są źródła biblioteki z kodem startowym.
Do uruchamiania tych plików też przygotowujemy venva:
cd prototypes
python3 -m venv .doc_venv
. .doc_venv/bin/activate
pip install -r requirements.txt
python simple_raytracer.py