Computer Graphics Laboratory
Hot NEWS
Ostatnio zakupiony serwer obliczeniowo-wizualizacyjny znajduje się w fazie instalacji.
Stanowi on klaster 4 komputerów z procesorem Nahelem (Core i7), w każdym z nich są zainstalowane dwie karty graficzne Nvidia, komunikacja pomiędzy serwerami realizowana w standardzie IB QDR. Rozwój oprogramowania oraz obliczenia specjalizowane środowisko programistyczne.
Więcej informacji na stronie głównej.
Wyposażenie pracowni
W pracowni grafiki komputerowej znajduje się następujący sprzęt:
Stacje graficzne
DELL 670 | 2 * Intel Xeon 2.8GHz HT cache 1MB, 1GB RAM, nVidia Quadro FX 1300 | 2 szt |
DELL 470 | 2 * Intel Pentium 4 2.8GHz HT cache 1MB, 1GB RAM, ATI FireGL V3100 | 3 szt. |
DELL 370 | Intel Pentium 4 2.8GHz HT cache 1MB, 1GB RAM, ATI FireGL V3100 | 2 szt. |
SGI | Intel Pentium 3 800MHz cache 256KB, 128MB RAM, ATI Radeon 9200 | 5 szt. |
Inny sprzęt
Kamera cyfrowa miniDV SONY DCR HC 14 | 1 szt. |
Aparat cyfrowy Nikon Coolpix 5400 | 1 szt. |
Skaner Microtek ScanMaker 4800 | 1 szt. |
Tablet Pentagram O`pen XXL | 2 szt. |
Okulary migawkowe i-O Display Systems | 3 szt. |
Oprogramowanie
Na każdym komputerze zainstalowane są dwa systemy operacyjne: Linux Fedora Core oraz Windows 2000 Proffesional. W systemie Linux oprócz standardowych narzędzi programistycznych (kompilatory języka C/C++, biblioteka GLUT, itp) dostępne są programy Gimp i Blender. Z kolei w systemie Windows zainstalowane jest między innym środowisko .NET, DirectX SDK, itp.
Rozbudowę tej podstawowej bazy programistycznej stanowi specjalistyczne oprogramowanie wyszczególnione w poniższej tabeli:
Adobe Photoshop CS CE | 5 szt. |
3ds max 7 | 3 szt. |
Amira | 2 szt. |
Pinnacle Studio 9 | 1 szt. |
Prowadzone zajęcia
W laboratorium odbywają się zajęcia z przedmiotu "grafika komputerowa". W czasie ich trwania studenci wykonują następujące ćwiczenia.
Transformacje geometryczne i rzutowanie w OpenGL Wykonanie ćwiczenia polega na napisaniu programu w języku C lub C++, który wykorzystywać będzie bibliotekę OpenGL oraz GLUT. Program ten powinien zawierać następujące elementy:
- Stworzenie dowolnej trójwymiarowej sceny z wykorzystaniem dostępnych prymitywów;
- Wykonanie transformacji geometrycznych w czasie budowania sceny;
- Zastosowanie rzutowania ortogonalnego oraz perspektywy w wyświetlaniu sceny na ekranie;
- Wykorzystanie przekształceñ geometrycznych do zmiany położenia obserwatora - oglądanie animowanej sceny z różnych punktów.
Modelowanie oświetlenia sceny i nakładanie tekstur w OpenGL Wykonanie ćwiczenia polega na napisaniu programu w języku C lub C++, który wykorzystywać będzie bibliotekę OpenGL oraz GLUT. Program ten powinien zawierać następujące elementy:
- Stworzenie dowolnej trójwymiarowej sceny z wykorzystaniem dostępnych prymitywów oraz utworzeniem własnych obiektów złożonych z wielokątów (oprócz zbudowania dowolnych brył należy stworzyć pofalowaną siatkę z trójkątów lub prostokątów);
- Policzenie wektorów normalnych dla tworzonych obiektów;
- Zdefiniowanie kilku źródeł światła - zarówno punktowych jak i kierunkowych;
- Dobranie różnych własności materiałów w celu uzyskania efektów różnych powierzchni (matowe, błyszczące, metaliczne itp);
- Nałożenie tekstur na tworzone obiekty.
Wykorzystanie okularów migawkowych do oglądania wirtualnej sceny stworzonej w OpenGL Wykonanie ćwiczenia polega na napisaniu programu w języku C lub C++, który wykorzystywać będzie bibliotekę OpenGL oraz GLUT. Program ten powinien zawierać następujące elementy:
- Poszerzenie programu stworzonego w OpenGL o dodatkowe efekty, takie jak: przeźroczystość, wygładzanie (anntialiasing), mgła, tworzenie cienia, itp;
- Poszerzenie programu o możliwość oglądania za pomocą okularów migawkowych (przy wykorzystaniu biblioteki GLUT).;
Obróbka obrazu rastrowego z wykorzystaniem programu Adobe Photoshop Celem ćwiczenia jest uzyskanie zdjęć (wykonanie aparatem cyfrowym i skanowanie) oraz ich korekcji i przygotowanie do druku oraz do publikacji na stronie WWW. W ćwiczeniu należy zrealizować następujące etapy:
- Wykonanie kilku zdjęć aparatem cyfrowym (z użyciem lampy błyskowej i bez);
- Zeskanowanie przykładowych zdjęć oraz fragmentu ulotki promocyjnej;
- Korekcja uzyskanych zdjęć pod kątem wad geometrii (zniekształcenia perspektywistyczne, krzywy horyzont, itp.);
- Korekcja obrazu w przestrzeniach CMYK i LAB;
- Wyodrębnienie żądanego obiektu z zeskanowanej ulotki i dokonanie jego korekcji;
- Przygotowanie uzyskanych obrazów do publikacji na stronie WWW oraz do wydruku.
Elementy programowania w języku Cg Celem ćwiczenia jest napisanie programu w języku Cg (stworzony przez nVidię i pozwalający na współpracę zarówno z biblioteką OpenGL jak i DirectX). Program ten powinien zawierać następujące elementy:
- Wykonanie i uruchomienie programu wykorzystującego OpenGL i Cg, który dla zadanej sceny wylicza model oświetlenia metodą Phonga;
- Rozbudowa programu o mapowanie na obiekty sceny otoczenia rozpiętego na kostce sześciennej;
- Rozbudowa programu o wykonanie mapowania nierówności (bumpmapping) na powierzchni obiektów sceny.
Programowanie kart graficznych (vertex shader i pixel shader) Celem ćwiczenia jest napisanie programów wykorzystujących techniki związane z vertex shader i pixel shader obrazujące przykładowe efekty możliwe do uzyskania przez te techniki. Powinny one współpracować z biblioteką OpenGL lub DirectX. Tworzenie animacji w programie Blender lub 3ds max Celem ćwiczenia jest stworzenie w programie Blender lub 3ds max animowanej sceny zawierającej następujące elementy:
- Utworzenie trójwymiarowej sceny zawierającej różne obiekty i kilka świateł;
- Stworzenie animacji sceny i świateł;
- Nałożenie tekstur na obiekty.