Kwadryki

Transkrypt

Kwadryki
Laboratorium nr 5
Instrukcja
laboratoryjna
5
1)
1/3
Grafika Komputerowa 3D
Temat: Kwadryki
Przygotował: mgr inż. Maciej Lasota
Kwadryki
Kwadryką nazywamy zbiór punktów w przestrzeni tworzący określoną powierzchnię.
Przykładami kwadryk są między innymi cylindry, dyski, sfery, walce oraz stożki itp.
W OpenGL za rysowanie kwadryk odpowiada biblioteka pomocnicza GLU.
Każda tworzona w OpenGL kwadryka ma pewien stan. Przed narysowaniem
kwadryki musimy za pomocą funkcji gluNewQuadric stworzyć obiekt opisujący aktualny styl
rysowania, orientację, tryb oświetlenia, tryb teksturowania oraz funkcję zwrotną. Funkcja ta
zwraca wskaźnik na obiekt typu GLUquadricObj.
UWAGA!!! Stan kwadryki nie określa kształtu geometrycznego, jaki zostanie
utworzony. Opisuje jedynie jak rysować kształt
Przykład :
GLUquadricObj *obiekt;
obiekt = gluNewQuadric();
UWAGA!!! Stworzony obiekt stanu kwadryki można usunąć za pomocą funkcji
gluDeleteQuadric.
Po stworzeniu obiektu opisującego stan kwadryki, można dostosować lub zmienić
określone parametry stanu. Służą do tego specjalne funkcje biblioteki GLU.
1.1)
Styl rysowania powierzchni
gluQuadricDrawStyle(GLUquadricObj*obiekt, GLenum parametr)
Laboratorium nr 5
2/3
Parametry
Opis
GLU_FILL
Tworzone kwadryki będą wypełnione przy użyciu wielokątów i
pasków prymitywów
GLU_LINE
Tworzone kwadryki będą rysowane w postaci siatki, za pomocą
odcinków
GLU_SILHOUETTE
Tworzone kwadryki będą rysowane za pomocą odcinków, widoczne
są jedynie zewnętrze krawędzie
GLU_POINT
Tworzone kwadryki będą rysowane jako zbiór punktów
1.2)
Wektory normalne
gluQuadricNormals(GLUquadricObj*obiekt, GLenum parametr)
1.3)
Parametry
Opis
GLU_NONE
Nie są generowane normalne
GLU_FLAT
Normalne są generowane dla wielokątów
GLU_SMOOTH
Normalne są generowane dla wierzchołków
Orientacja
gluQuadricOrientation(GLUquadricObj*obiekt, GLenum parametr)
1.4)
Parametry
Opis
GLU_OUTSIDE
Normalne skierowane są na zewnątrz
GLU_INSIDE
Normalne skierowane są do wewnątrz
Teksturowanie
gluQuadricTexture(GLUquadricObj*obiekt, GLenum parametr)
Parametry
Opis
GLU_TRUE
Współrzędne tekstury są tworzone
GLU_FALSE
Współrzędne tekstury nie są tworzone
Laboratorium nr 5
2)
3/3
Rysowanie cylindrów
Do rysowania cylindrów służy funkcja gluCylinder. Parametry baseRadius i
topRadius określają promień cylindra przy dolnej i górnej podstawie. Parametr height określa
wysokość (długość) cylindra. Parametry slices i stacks określają, z ilu części oraz z ilu
segmentów będzie składał się cylinder.
void gluCylinder(GLUquadricObj*obiekt, GLdouble baseRadius, GLdouble
topRadius, GLdouble height, GLint slices, GLint stacks)
3)
Rysowanie dysków
Dyski to okrągłe płaskie kształty, które mogą wewnątrz zawierać otwory. Parametry
outRadius i inRadius określają promień całego dysku, oraz zawartego w nim otworu.
Parametr slices określa ilość ścianek dysku. Parametr loops określa ilość koncentrycznych
okręgów tworzących dysk.
void gluDisk(GLUquadricObj*obiekt, GLdouble inRadius, GLdouble outRadius,
GLint slices, GLint loops)
4)
Rysowanie sfer
Do rysowania sfer służy funkcja gluSphere. Parametr radius określa promień sfery.
Parametr slices reprezentuje ilość południków, zaś parametr stacks ilość równoleżników.
void gluSphere(GLUquadricObj*obiekt, GLdouble radius, GLint slices, GLint
stacks)

Podobne dokumenty