opengl. leksykon kieszonkowy scan.pdf

(5330 KB) Pobierz
710601824 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
OpenGL. Leksykon
SPIS TRECI
kieszonkowy
KATALOG KSI¥¯EK
KATALOG ONLINE
Autor: Andrzej Or³owski
ISBN: 83-7361-968-2
Format: B6, stron: 160
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Biblioteka OpenGL to narzêdzie s³u¿¹ce do tworzenia realistycznej grafiki
trójwymiarowej w programach. Mo¿liwoci OpenGL mo¿emy dzi podziwiaæ w grach
komputerowych, animacjach, wizualizacjach i filmowych efektach specjalnych.
Wiêkszoæ publikacji dotycz¹cych biblioteki OpenGL przedstawia j¹ w kontekcie
jêzyka C++, z poziomu którego faktycznie jest najczêciej wykorzystywana. Jednak¿e
wielu programistów, którzy czêsto rozpoczynaj¹ swoj¹ naukê od Pascala i zwi¹zanego
z nim rodowiska Delphi, próbuje stosowaæ j¹ równie¿ w po³¹czeniu z tym jêzykiem.
Ksi¹¿ka „OpenGL. Leksykon kieszonkowy” jest przeznaczona w³anie dla tych
programistów. Opisuje bibliotekê OpenGL pod k¹tem zastosowania jej w aplikacjach
tworzonych za pomoc¹ Delphi. Przedstawia wszystkie funkcje s³u¿¹ce do generowania
i wywietlania grafiki — pocz¹wszy od bry³ podstawowych, a skoñczywszy na krzywych
NURBS i Be`ziera. Pokazuje sposoby owietlania i teksturowania obiektów w scenie
oraz metody importowania siatek stworzonych w programach 3D.
• Typy danych w OpenGL
• Metody rzutowania i wywietlania sceny 3D na ekranie monitora
• Obiekty i bry³y podstawowe
• Owietlenie
• Umieszczanie napisów w scenie
• Korzystanie z map bitowych
• Materia³y i tekstury
• Animacja
• Import obiektów 3D
Delphi to nie tylko aplikacje bazodanowe i internetowe. Przekonaj siê, ¿e w Delphi
mo¿na równie¿ stworzyæ realistyczn¹ animacjê 3D.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
710601824.003.png 710601824.004.png 710601824.005.png 710601824.006.png
Spis treci
Wstp ............................................................................................5
1. OpenGL dla Windows ..................................................................7
Typy Object Pascal i OpenGL
7
Przygotowanie rodowiska pracy. Funkcje WGL
10
Aplikacja w oknie
13
Aplikacja pełnoekranowa
19
Komponent (VC) dla Delphi
19
2. Biblioteki OpenGL ......................................................................23
Biblioteka standardowa
23
Biblioteka GLU
59
Biblioteki GLUT
63
3. Metody zobrazowania ...............................................................64
Rzut prostok4tny
64
Rzut perspektywiczny i kamera
67
Organizacja ekranu OpenGL
72
4. Obiekty podstawowe .................................................................74
Punkt
74
Linia
78
Trójk4t
81
Czworok4t
83
Wielok4t
84
3
710601824.001.png
5. Bryły ............................................................................................86
Cylinder
87
Dysk
88
Sfera
91
6. Krzywe i powierzchnie ..............................................................93
Krzywe i powierzchnie Beziera
93
7. 'wiatło ...................................................................................... 108
:wiatło tła (otoczenia)
109
Poło;enie <ródła wiatła w przestrzeni
110
:wiatło rozproszone
112
Reflektor
112
Rozmycie
113
8. Napisy ........................................................................................116
9. Obrazy w OpenG L.....................................................................118
Mapy bitowe
118
Wczytywanie plików BMP
119
Wywietlanie obrazów w formacie BMP
121
Kopiowanie fragmentu ekranu
124
Powi>kszenie
126
10. Materiał i tekstura ................................................................... 128
Materiał
128
Tekstura
133
11. Import siatek ............................................................................ 140
12. Ruch ..........................................................................................148
Przemieszczenie
148
Obroty
150
Skalowanie
153
Skorowidz ................................................................................. 154
4 | Spis treci
Rozdział 4. Obiekty podstawowe
Punkt
Punkt stanowi najwaniejszy element kadej rysowanej sceny.
Wszystkie obiekty rysowane za pomoc procedur OpenGL s
zbudowane z punktów. Punkty te mog wyznacza wierzchołki
obiektów (linia, trójkt) lub stanowi wypełnienie tych obiektów.
Za pomoc punktów mona równie rysowa wykresy funkcji
matematycznych czy te dowolne figury ułoone z kolejnych
punktów. Aby wyznaczy połoenie punktu i jego wielko) ,
wykorzystuje si* specjalne procedury OpenGL. Bardzo wanym
zagadnieniem jest wzajemna zaleno) pomi*dzy punktem ry-
sowanym w OpenGL a pikselem. Piksel jest najmniejszym ob-
szarem ekranu, jaki moe przy rozdzielczo)ci okre)lonej para-
metrami danej karty graficznej w danej chwili by zapalony
(zgaszony). Na rozmiar piksela programista nie ma adnego
wpływu (poza zmian rozdzielczo)ci ekranu). Punkt natomiast
posiada rozmiar okre)lony wielko)ci płaszczyzny rzutowania
i zadeklarowan wielko)ci. Domy)ln wielko)ci punktu jest 1
(jeden), co nie oznacza wcale, e na ekranie b*dzie on odpo-
wiadał jednemu pikselowi. W przypadku zmiany rozmiaru
płaszczyzny rzutowania zmieni si* równie rozmiar wy)wie-
tlanego punktu o wielko)ci jednostkowej (moe wynosi kilka
lub kilkana)cie pikseli). Zagadnienie to jest szczególnie istotne
przy imporcie obrazków, jak równie podczas wykorzystywa-
nia bitmap, których wymiary s okre)lane w pikselach. Rezultat
nieskorelowania wymiarów okna grafiki i płaszczyzny rzuto-
wania przedstawia rysunek 4.1.
74
Rysunek 4.1. Zaleno wymiarów wywietlania obiektu, którego
wymiary okrelane s w pikselach i w punktach
Obrazek z lewej strony został wykonany z wykorzystaniem
procedury glDrawPixels() , tzn. narysowano go pikselami, na-
tomiast ten z prawej strony jest tekstur nałoon na kwadrat
o takich samych wymiarach, ale okre)lonych w punktach. Wy-
miary obrazka wynosz 128 na 128 pikseli, wymiary kwadratu
— 128 na 128 punktów. Okno grafiki okre)lone procedur
glViewPort() ma wymiary 600 na 600 pikseli, a wymiary płasz-
czyzny rzutowania zdefiniowane procedur glOrtho() wyno-
sz 400 na 400 punktów. Jak wynika z przedstawionego rysunku,
proporcje pomi*dzy rzeczywistymi rozmiarami rysunku a obiek-
tem o tych samych wymiarach, ale wyraonych w innych jed-
nostkach, s oczywiste. Z powyszego wywodu wynika wi*c
jasno, e piksel to nie to samo co punkt.
glPointSize()
Deklaracja: procedure glPointSize(Grubo : GLFloat) ;
Działanie: ustala now wielko) rysowanych punktów.
Rozdział 4. Obiekty podstawowe
|
75
710601824.002.png
Zgłoś jeśli naruszono regulamin