Rzezba Lab4, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB4


WOJSKOWA AKADEMIA TECHNICZNA

im. Jarosława Dąbrowskiego

Laboratorium z przedmiotu

Grafika Komputerowa

0x08 graphic

SPRAWOZDANIE

Z ĆWICZENIA LABORATORYJNEGO

nr 4


Temat ćwiczenia: Modelowanie Oświetlenia

Prowadzący: kpt. Wojciech Sulej

Wykonał: Bartłomiej Sujkowski

Grupa: I8Y4S1

Data wykonania ćwiczenia: 26.01.2009

  1. Treść zadania

0x01 graphic

  1. Ustawienie świateł materiałów i definicje

0x01 graphic

0x01 graphic

Funkcja wykorzystuje zadeklarowane wcześniej tablice dwuwymiarowe jako argumenty wykorzystywane we wnętrzu. Kolejne wartości ustawiane przez funkcje glMaterialfv() mają następujące znaczenia:

- GL_FRONT - opisywana jest frontowa płaszczyzna prymitywów (można również użyć GL_BACK - tylna płaszczyzna oraz GL_FRONT_AND_BACK - obie płaszczyzny)

- GL_AMBIENT - światło otaczające, nie pochodzi z żadnego kierunku, choć ma źródło.

Wszystkie obiekty na scenie są nim równomiernie oświetlone ze wszystkich stron i na

wszystkich powierzchniach.

- GL_DIFFUSE - światło rozproszone. W przeciwieństwie do poprzedniej składowej ma zdefiniowane źródło. Jasność powierzchni zależy od kąta, pod jakim pada na nią światło.

Światło rozproszone padające jest traktowane jako kierunkowe, w przypadku światła

odbitego już jako bezkierunkowe.

- GL_SPECULAR - światło odbłysków, ma kierunek i jest odbijane od powierzchni w jedną stronę.

- GL_SHININESS - współczynnik tłumienia. Opisuje ile energii powinno być odbite od

powierzchni zazwyczaj ściśle powiązany z GL_SPECULAR (właściwości emisyjne można opisać za pomocą GL_EMISSION) .

Tablice opisu materiału określają jego parametru za pomocą wektora RGBA (reed green blue alfa) z czego każda składowa mieści sie w przedziale <0;1>. Wyjątkiem w tym przypadku jest atrybut GL_SHININESS, który ma jeden parametr z przedziału <0; 27>.

  1. Ustawienie światła reflektora i światła kierunkowego.

0x01 graphic

Przedstawione funkcje określają i uruchamiają dwa rodzaje światła: kierunkowe włączane przez Swiatlo_glowne(); reflektora włączane przez funkcje Swiatlo_reflektor(). Bazują one podobnie jak funkcje opisujące materiał na macierzach o składowych wektorów RGBA. Obydwie funkcje są wywołane po narysowaniu obiektu (w funkcji RysujElipsoide();). Bardziej złożona w tym przypadku

jest funkcja Swiatlo_reflektor() i to jest jeden z powodów dlaczego omówię przykład modelowania światła właśnie na jej podstawie. Drugim aspektem jest to iż funkcja Swiatlo_glowne() nie wnosi praktycznie żadnych nowych teoretycznych wiadomości do jej poprzedniczki.

Procedura zaczyna i kończy się od odłożenia na stosie macierzy i kończy się jej zdjęciem. Takie postępowanie jest uzasadnione tym iż w jej wnętrzu jest rysowana sfera która służy jako graficzne zobrazowanie miejsca źródła światła. Źródło to jest obracane wokół osi OY na podstawie zmiennej kąt (jest ona albo automatycznie inkrementowana/dekrementowana w funkcji WyswietlObraz(); bądź zmieniana o ustalony skok z klawiatury), nachylane do osi OZ pod kątem określonym przez

zmienną kat_z (ustalaną przez operatora z klawiatury) oraz jest oddalane lub przybliżane do obiektu na podstawie zmiennej R_L1 ustalanej z klawiatury. Następnie jest rysowana zapowiedziana przeze mnie wcześniej sfera wraz z paroma „kosmetycznymi” detalami. Właściwa część zaczyna się dopiero w tym miejscu. Funkcja glLightfv(); ustawia parametry światła posługując się parametrami:

- GL_LIGHTi - określa numer źródła światła charakteryzowany w danej chwili gdzie i należy do przedziału <0;7>).

- GL_DIFUSE - jak w przypadku materiału.

- GL_SPECULAR - działanie zbliżone do wykorzystanego w opisie materiału.

- GL_POSITION - pozycja źródła w układzie współrzędnych.

- GL_SPOT_CUTOFF - kąt odcięcia czyli kąt, w którym źródło oświetla przedmiot.

- GL_SPOT_DIRECTION - wektor kierunku padania światła ze źródła.

- GL_SPOT_EXPONENT - kątowe tłumienie światła. Domyślnie przyjmuje wartość 0 (brak tłumienia), maksymalnie może to być 27. Im większa wartość tym bardziej skupiona jest wiązka.

Światło jest włączane za pomocą funkcji glEnable(); natomiast wyłączane za pomocą glDisable();.

Parametrami tych funkcji są numery źródeł świateł natomiast aby światło działało po wywołaniu takiej konstrukcji należy uprzednio odblokować oświetlenie za pomocą glEnable(GL_LIGHTING); Włączać jak i wyłączać oświetlenie możemy obsługiwać zadeklarowanymi wcześniej klawiszami.

  1. Funkcja rysująca elipsoidę o zmiennej parzystej liczbie podziałów poziomych i pionowych.

0x01 graphic

Funkcja ta wyrysowuje ¾ elipsoidy i pokrywa ją materiałami zmieniając ich kolor co odpowiednio co drugi „pas pionowy” który jest rysowany. Dodatkowo uruchamia przedstawioną powyżej funkcję Światło_reflektor(); która jest odpowiedzialna za wyrysowanie i dołączenie do elipsoidy i jej układu współrzędnych reflektora.

Sposobu rysowania elipsoidy nie będę omawiał, gdyż robiliśmy to na drugich laboratoriach.

  1. Sterowanie

Elipsoidę obraca się klawiszami „w” „s” „a” „d” zgodnie z ich rozmieszczeniem, dodatkowo można ją obrócić wokół jednej z osi klawiszami „q” i „e”.

Klawisze „1”, „2” służą za zwiększanie/ zmniejszanie liczby podziałów wzdłuż, natomiast „3” i „4” w poprzek (podziałami pionowymi).

Klawisz „f” - włącza reflektor, natomiast „F” wyłącza.

Klawisz „g” - włącza światło kierunkowe, natomiast „G” wyłącza.

Dodatkowo obiekt można przybliżyć i oddalić klawiszami „+” i „-„

Klawisze „z” i „Z” odpowiadają za oddalanie i przybliżanie się reflektora do obiektu, natomiast klawisze ”c” i „C” za ruch wzdłuż jednej z osi obiektu.

  1. Prezentacja działania programu:

Screen pierwszy: ¾ elipsoidy oświetlone światłem reflektora.

0x01 graphic

Screen drugi ze światłem kierunkowym, zmienioną liczbą podziałów przybliżony i obrócony.

0x01 graphic

Screen przedstawiający razem działające oświetlenia jak widać oświetlenie kierunkowe jest stale natomiast reflektor oświetla obiekt z innej strony.

0x01 graphic

  1. Wnioski

Podczas ćwiczenia zadaniem było zamodelowanie figury o zadanym w treści stylu,

materiale i oświetleniu. Celem było zaprzyjaźnienie się z rolą światła oraz oświetlenia w modelowaniu brył oraz nakładaniu na nich materiału. Umiejętne posługiwanie się

oświetleniem pozwala ożywić i stworzyć scenę bliższą rzeczywistemu odpowiednikowi danego obiektu. Wykorzystanie wielu świateł pozwala wzmocnić to złudzenie.

Zadanie jakie mieliśmy wykonać podczas laboratorium było według mnie nastawione na przyswojenie podstawowej wiedzy o oświetleniu i materiałach. Miało ono też służyć jako przykład mieszania się rożnych materiałów z rożnym światłem.

Sądzę, iż zadanie wykonane zostało poprawnie i zgodnie z założeniami postawionymi w treści.



Wyszukiwarka

Podobne podstrony:
GK LAB3, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB4
Zadania I1Y3S1, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB4
gk sprawko lab4 w szachownice wook, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB4
lab4 Paweł Madejski I7X1, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB4
Zadanie IY4S1, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
Zadania I1Y3S1, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB3
lab2 Paweł Madejski I7X1, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
Samolot animacja, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
Wyrzutnia animacja, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
Samolot animacja 2, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
BWP animacja 3, Studia, WAT Informatyka, s3 - GK - grafika komputerowa, LAB2
sprawozdanie3, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab4
OpenGl, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab4
Zadania L3 I6X4S1, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab4
Zadania L4 I6Y4S1, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab4
Opała GK sprawozdanie lab4, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab4
Zadania L4 I6Y3S1, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab4
SPR-ANKI, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab2
sprawozdanie oswietlenie, Studia, WAT Informatyka, s3 - GK - lab grafika komputerowa, Lab3

więcej podobnych podstron