You are on page 1of 9

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE

OpenGL. wiczenia
Autor: Waldemar Pokuta
ISBN: 83-7361-172-X
Format: B5, stron: 144

ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

Biblioteka OpenGL to zestaw procedur graficznych, ktrych moemy uywa


w rozmaitych jzykach programowania dla rnych systemw operacyjnych.
Jest to oglnie uznany standard jego znajomo to podstawa do zajmowania
si grafik komputerow.
Ksika, ktr trzymasz w rku, przedstawia jedynie fragment moliwoci OpenGL,
wystarczajcy jednak, by rozpocz przygod z programowaniem grafiki
trjwymiarowej. W odrnieniu od innych pozycji powiconych tej bibliotece, przykady
zostay napisane w jzyku ObjectPascal (Delphi), co umoliwi take programistom
nie posugujcym si jzykami C/C++ rozpoczcie przygody z grafik 3D.
W ksice omwiono:

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Podstawy OpenGL: punkty, linie, trjkty, wielokty, kolorowanie


Rysowanie zoonych obiektw za pomoc kwadryk
Posugiwanie si perspektyw i kamer
Materiay: kolor, poysk, emisj
Zagadnienia zwizane ze wiatem
Tworzenie dynamicznych scen
Skadanie przeksztace
Operacje na macierzach
Tworzenie bry
Tekstury i ich waciwoci
Napisy w OpenGL
Tworzenie prostej gry

Spis treci
Wstp............................................................................................................................................................... 7
Jzyk programowania ................................................................................................... 7
Struktura moduu .................................................................................................... 8
Wymagania ................................................................................................................... 9
Przykady ...................................................................................................................... 9
Rozdzia 1.

Podstawy...................................................................................................................................................... 11
Na pocztku ................................................................................................................ 11
Punkty ......................................................................................................................... 12
Rozmiar punktw ....................................................................................................... 16
Linie............................................................................................................................ 17
Typ linii ...................................................................................................................... 17
Trjkty....................................................................................................................... 18
Gbia.......................................................................................................................... 19
Widoczno................................................................................................................. 19
Czworokty................................................................................................................. 20
Typ wieloktw .......................................................................................................... 20
Paski trjktw ........................................................................................................... 21
Kolorowanie paskie ................................................................................................... 22
Wierzchoki trjktw ................................................................................................ 22
Kolorowanie pynne ................................................................................................... 23

Rozdzia 2. Kwadryki .....................................................................................................................................................25


Kwadryki z punktw .................................................................................................. 25
Linie............................................................................................................................ 26
Cieniowanie kwadryk ................................................................................................. 27
Rozdzia 3. Perspektywa i kamera ......................................................................................................................... 31
Perspektywa................................................................................................................ 31
Kamera........................................................................................................................ 32

OpenGL. wiczenia

Rozdzia 4. Materia ...................................................................................................................................................... 35


Kolor materiau........................................................................................................... 35
Poysk ......................................................................................................................... 36
Emisja ......................................................................................................................... 37
Przeroczysto .......................................................................................................... 38
Mga............................................................................................................................ 38
Rozdzia 5. wiato ......................................................................................................................................................... 41
Wczenie owietlenia ................................................................................................ 41
wiato ta ................................................................................................................... 42
wiato rozproszone ................................................................................................... 43
Rozbyski .................................................................................................................... 44
Pozycja........................................................................................................................ 45
Reflektor ..................................................................................................................... 45
Rozmycie .................................................................................................................... 47
Rozdzia 6. Dynamika sceny......................................................................................................................................49
Przesuw....................................................................................................................... 49
Obrt ........................................................................................................................... 50
Skalowanie.................................................................................................................. 51
Kolor ........................................................................................................................... 52
wiato ........................................................................................................................ 52
Reflektor ..................................................................................................................... 53
Ruch kamery............................................................................................................... 54
Rozmycie .................................................................................................................... 54
Rozdzia 7.

Skadanie przeksztace .................................................................................................................... 57


Pierwszy obiekt........................................................................................................... 57
Obrt wok wasnej osi ............................................................................................. 59
Orbita .......................................................................................................................... 59
Podorbita..................................................................................................................... 62
Ruch po elipsie ........................................................................................................... 64

Rozdzia 8. Macierze..................................................................................................................................................... 69
Pobranie macierzy ...................................................................................................... 69
Zaadowanie macierzy................................................................................................ 70
Macierz tosamociowa.............................................................................................. 71
Mnoenie macierzy..................................................................................................... 72
Rozdzia 9. Tworzenie bry...........................................................................................................................................77
Szecian ...................................................................................................................... 77
Czworocian ............................................................................................................... 79
Omiocian ................................................................................................................. 80
Czternastocian ........................................................................................................... 81
Dwunastocian............................................................................................................ 83
Dwudziestocian ......................................................................................................... 86
Czsteczka metanu ..................................................................................................... 88
Maczuga elegancka..................................................................................................... 91
Maczuga profesjonalna............................................................................................... 92
Maczuga wspczesna ................................................................................................ 93

Spis treci

Rozdzia 10. Tekstury...................................................................................................................................................... 95


Tekstura 1D ................................................................................................................ 95
Teksturowanie kwadryk ............................................................................................. 96
Nakadanie tekstury po kawaku................................................................................. 98
Lustro przeroczysto tekstur ............................................................................ 100
Zdjcie bitmapa z pliku ....................................................................................... 101
Rozdzia 11. Napisy........................................................................................................................................................ 105
Czcionki bitmapowe ................................................................................................. 105
Kontur ....................................................................................................................... 107
Czcionka 3D ............................................................................................................. 108
Czcionka teksturowana............................................................................................. 109
Metalowy poysk ...................................................................................................... 110
Rozdzia 12. Prosta gra 3D .......................................................................................................................................... 113
Szecian .................................................................................................................... 113
Owietlenie ............................................................................................................... 115
Figura........................................................................................................................ 117
Obrt sceny............................................................................................................... 118
Osiem figur ............................................................................................................... 121
Przesuw..................................................................................................................... 122
Pynny przesuw......................................................................................................... 123
Obrt ......................................................................................................................... 124
Pynny obrt ............................................................................................................. 126
Skrzynka ................................................................................................................... 127
Kolizja....................................................................................................................... 129
Napisy ....................................................................................................................... 131
Dodatek A

Wasny komponent GlBox................................................................................................................ 137

4.
Materia
Rozdzia

W tym rozdziale dodamy waciwoci materiau rysowanych obiektw. Kolor, poysk, emisja
wiata, przeroczysto i efekt mgy mog bardzo oywi rysowan scen.
Otwrz w Delphi projekt \Cwiczenia\R04_Material\C04_00_Poczatek\Material.dpr.
Scena zawiera dwanacie obracajcych si szecianw. Naszym zadaniem bdzie nada im
rne waciwoci.

Kolor materiau
Nowa procedura:
 
    ustawienie materiau obiektw.
Pierwszy argument okrela stron, z ktrej chcemy zmienia waciwoci materiau
(przd, ty czy obydwie). Drugi parametr okrela cech, ktr chcemy ustawi
(  to odbijanie wiata ta i wiata rozproszonego). Ostatni
parametr to wskanik do tablicy skadowych koloru (!  "# $).
wiczenie 4.1.

Niech pierwsze dwa szeciany maj kolor materiau zbliony do tego, a pozostae do
niebieskiego.
W procedurze %! dopisz:

  



36

OpenGL. wiczenia

 !"#

  

  

!$!%$%&'

(%&) %*(+ ,%&'

(%&) 
--./01 1/2 30
!)4
--30!
'00!
! !5#6#67 8#
--405
!579#6 6#6#
!57 6#6#6 
5"# 
 !"#"$ %&'( ()*+, #*-.( ())-%%/0.1 
"2!"#"$ %&'( ()*+, #*-.( ())-%%/0.1
!+:;<
!5=>#6#6#6 
! !5#678#6#
!5>= ?=>#6# @6 6# A8
1B#
!+;<

 " ? 


Poysk
Aby uzyska efekt rozbyskw, naley uy procedury 
z drugim parametrem rwnym  &'%.
Nowa procedura:
      procedura podobna do poprzedniej.
Jeeli drugi parametr jest rwny  ( , to trzeci zmienia wielko
plamy rozbyskw na obiektach.
wiczenie 4.2.

Dodaj poysk do wszystkich oprcz pierwszych czterech szecianw.


W procedurze %! dopisz:

 %5  C45A"# D6# D6# B6 #
 %5B C45A"# B6# B6# E6 #
234 
  
234
 555 


5FB:!;!5%
G %CG*%&C$H6%C;&)(G %CG*%*)

'(6I %5 
!!;!5%
G %CG*%&C$H6%C;&)(G %CG*%*)

'(6I %5B

Rozdzia 4.  Materia

37

 !"#"$ %&'( ()*+, 06.+/ &1234 


"2!"#"$ %&'( ()*+, 06.+/ &1234
!+:;<
!5=>#6#6#6 

wiczenie 4.3.

Ustaw wielko plamy rozbysku na warto 80 w szecianach 6 do 12.


W procedurze %! dopisz:

5FA:!;!5%
G %CG*%&C$H6%+($'C6I 
!!;!5%
G %CG*%&C$H6%+($'C6IB
5 !"#" %&'( ()*+, 07-(-(.00
"2!"#" %&'( ()*+, 07-(-(.00
!+:;<
!5=>#6#6#6 

Emisja
Aby sprawi, e obiekty same bd emitowa wiato, naley uy procedury )

z drugim parametrem rwnym  *.
wiczenie 4.4.

Niech szeciany 8 do 12 zaczn emitowa wiato zblione do czerwieni.


W procedurze %! dopisz:

  C45A"# #6# #6# #6 #
B C45A"# 96# 96# 96 #
2 
  
2
 8   


5F9:!;!5%
G %CG*%&C$H6%,)G)G(6#
!!;!5%
G %CG*%&C$H6%,)G)G(6D#
 !"#"$ %&'( ()*+, .#-00-'(12 
"2!"#"$ %&'( ()*+, .#-00-'(12
!+:;<
!5=>#6#6#6 

38

OpenGL. wiczenia

Przeroczysto
Aby sprawi, e obiekty stan si przeroczyste, naley zmieni parametr $ (stopie
przeroczystoci) w tablicy okrelajcej kolor materiau, uy procedury !#
z odpowiednimi argumentami oraz wczy przeroczysto procedur ".
Nowa procedura:
 !#   + !  + procedura okrela sposb, w jaki ma by
obliczana przeroczysto obiektw. Domylne uycie procedury to:
!#  %'&( *  %'&(.
wiczenie 4.5.

Niech szeciany 10 do 12 bd ze szka.


W procedeurze %! dopisz:


 !"#
 %5  C45A"# D6# D6# B6 #
 %5B C45A"# B6# B6# E68
  C45A"# #6# #6# #6 #

5FD:!;!5%
G %CG*%&C$H6%(;))G6I  
!!;!5%
G %CG*%&C$H6%(;))G6I B
  !")2" * .()
"2!
!". " * .()
!"*" %9 4 0&+ 67 '(.#-(/00&+ 67
 
!+:;<
!5=>#6#6#6 

Mga
Aby uzyska efekt mgy, naley procedur " wczy opcj *, a procedurami +, + i +
trzeba ustawi jej waciwoci.
Nowe procedury:
 +   +   ustalenie waciwoci mgy.
Jeeli pierwszym argumentem jest **, to drugi argument ustala sposb,
w jaki jest obliczana przeroczysto mgy. Jeeli pierwszym argumentem jest
* % lub *, to jest ustalany odpowiednio pocztek i koniec
obszaru mgy;

Rozdzia 4.  Materia

39

 +
  procedura podobna do poprzedniej. Jeeli pierwszym
argumentem jest *'**%, to drugi wskazuje na tablic, ktra okrela kolor mgy.
wiczenie 4.6.

Dodaj do sceny efekt czarnej mgy.


W procedurze %! dopisz:

   C45A"# #6# #6# #6 #
 B C45A"# 86# 6# 6 #
:!+:"
  


'00!
! !5#6#67 8#
;;#!<
!"%:! %' #').  -(.&
!"%:!$ %' +' '&1:!+:"
!"%:! %' 0 &  
!"%:! %' .() 5
!". " %' 
--405
!579#6 6#6#
!57 6#6#6 

Rysunek 4.1.
Efekt kocowy
dziaania programu

You might also like