Cele przedmiotu
Celem kształcenia jest nabycie podstawowej wiedzy z dziedziny grafiki komputerowej, umiejętności tworzenia obrazów z wykorzystaniem programu Blender, oraz programowania grafiki z wykorzystaniem biblioteki OpenGL.
Wykłady
AktualneStare
- Wprowadzenie
- Percepcja wizualna i modele barw
- Algorytmy rastrowe
- Formaty plików graficznych i kompresja obrazów
- LibPNG
- JPEGlib
- Geometria 3W
- Rzutowanie
- Krzywe i powierzchnie Béziera
- Oświetlenie i cieniowanie
- Teksturowanie
- Podstawy OpenGL i GLSL
- Transformacje w OpenGL
- Podstawy teksturowania w OpenGL
- Podstawy oświetlenia w OpenGL
- Algorytmy metody śledzenia promieni
Ćwiczenia
Instalacja i konfiguracja narzędzi programistycznych na swoim komputerze
Aby skompilować omawiane na wykładach oraz wykorzystywane na ćwiczeniach projekty programistyczne, trzeba mieć zainstalowane na swoim komputerze odpowiednie narzędzia: kompilator C/C++, narzędzie make
i niektóre biblioteki.
Dla systemu Windows jako kompilator może być MinGW-w64 albo Visual C++ 2010-2019. Na Linux, BSD, macOS — domyślny kompilator.
Poniżej znajdziesz wskazówki i instrukcje wystarczające aby wykonać ćwiczenia.
Dla systemu Windows przetestowałem i opisałem wersje z kompilatorem MinGW-w64. Jeżeli znajdziesz błąd w moich instrukcjach, daj mi znać. Jeżeli używasz innego kompilatora bądź systemu i samodzielnie skonfigurowałaś swój system, sporządź instrukcję i przyślij abym mógł umieścić na tej stronie. Twoje doświadczenie na pewno się przyda przyszłym generacjom studentów i zostanie docenione przy zaliczeniu przedmiotu.
Biblioteka libpng
Linux
Należy zainstalować pakiet libpng-dev
Windows
- MinGW-w64
- Kompilator Microsoft
Biblioteki jpeglib
oraz libargtable
Linux
Należy zainstalować paczki libjpeg-dev
oraz libargtable2-dev
Windows
- MinGW-w64
OpenGL, GLFW, GLEW
Trzeba zainstalować najnowsze sterowniki od producenta karty graficznej.
Linux
Zainstalować paczki libglfw3-dev
oraz libglew-dev
. W razie potrzeby libglapi-mesa
(dotyczy głównie kart Intel).
Windows
Czasami potrzebna jest instalacja biblioteki mesa3D (dotyczy głównie kart Intel).
Dostępna jest instrukcja instalacji i konfiguracji kompilatora oraz bibliotek. Wersja z MinGW
.
MacOS
Dostępna jest instrukcja instalacji Stefana Karczewskiego.
GNU Make dla Windows
- MinGW-w64
- Jeżeli wybrałaś ten kompilator, to masz już zainstalowane.
- W przypadku braku komendy
make
Literatura
- Elementy grafiki komputerowej WNT200683-204-3163-8
- Grafika komputerowa I Portal z materiałami dydaktycznymi Wydziału Matematyki, Informatyki i Mechaniki UW, 2011.
- 3D Computer Graphics: A Mathematical Introduction with OpenGL Cambridge University Press2003
- 3D Computer Graphics: A Mathematical Introduction with OpenGL, Revision draft Draft A.10.b. May 28, 2019
- OpenGL. Księga eksperta. Wydanie VII Helion2016978-83-283-2107-6
- OpenGL SuperBible: Comprehensive Tutorial and Reference (6th Edition) Addison-Wesley Professional2013978-0321902948
- OpenGLBook.com2011
- Blender Basics Classroom Tutorial Book. 5th edition2017
- Blender Beginner Tutorial Series 2021
- Wprowadzenie do przetwarzania informacji wizualnej, tom I. Percepcja, akwizycja, wizualizacja EXIT2010978-83-60434-76-5
- What is JPEG? Notices of the AMS, Volume 55, Number 2, pages 226–229, 2008.
- A Basic Introduction to PNG Features 2009.
- Thinking in Postscript, Addison-Wesley, 1990.
- Scalable Vector Graphics (SVG) 1.1 (Second Edition), W3C, 2011.
- Learning Modern 3D Graphics Programming 2012
- OpenGL API Documentation Overview 2012
- Уроки по OpenGL 3 2011
- What's a Tensor? 2011
Zaliczenie
Wykłady
Test pisemny z materiałów wykładów. Dostępny jest zestaw przykładowy.
Ćwiczenia
Zaliczenie ćwiczeń polega na zbieraniu punktów:
- 50% możliwych punktów daje ocenę 3
- 60% punktów daje ocenę 3½
- 70% — ocenę 4
- 80% — 4½
- 90% i więcej — 5
Ograniczenie na wysyłanie zaległych prac: jedno zadanie na miesiąc.
Ostatni dzień, kiedy można wysyłać zadanie mailem, to 20 stycznia 2025. W szczególności, ostatnie zadanie trzeba oddać na zajęciach.
Szczęśliwy numer: 12.
Nieszczęśliwy numer: 13.
Delivered-To: denisjuk@pjwstk.edu.pl Received: by 2002:a67:ce13:0:0:0:0:0 with SMTP id s19-v6csp1008518vsl; Wed, 19 Sep 2022 11:30:27 -0700 (PDT)
W każdym mailu z zadaniem podać imię, nazwisko i pseudonim. W temacie maila powinno się znaleźć GRK2024
Zadania trzeba oddawać wyłącznie mailem, jako załącznik. W szczególności, rozmiar pliku nie powinien być zbyt duży. Nie mam możliwości ściągać plików z Google Drive i podobnych serwisów.
Filmy
Latarnia
Donut
Tutoriale
Jeżeli szukasz pracy jako grafik komputerowy:
Jeżeli po dwóch latach studiów szukasz przyjaznego IDE do pisania kodu: