SlideShare uma empresa Scribd logo
1 de 9
Baixar para ler offline
IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TRE CI   OpenGL. Æwiczenia
                                         Autor: Waldemar Pokuta
           KATALOG KSI¥¯EK               ISBN: 83-7361-172-X
                                         Format: B5, stron: 144
                      KATALOG ONLINE

       ZAMÓW DRUKOWANY KATALOG


              TWÓJ KOSZYK
                    DODAJ DO KOSZYKA     Biblioteka OpenGL to zestaw procedur graficznych, których mo¿emy u¿ywaæ
                                         w rozmaitych jêzykach programowania dla ró¿nych systemów operacyjnych.
                                         Jest to ogólnie uznany standard — jego znajomo æ to podstawa do zajmowania
         CENNIK I INFORMACJE             siê grafik¹ komputerow¹.
                                         Ksi¹¿ka, któr¹ trzymasz w rêku, przedstawia jedynie fragment mo¿liwo ci OpenGL,
                   ZAMÓW INFORMACJE      wystarczaj¹cy jednak, by rozpocz¹æ przygodê z programowaniem grafiki
                     O NOWO CIACH        trójwymiarowej. W odró¿nieniu od innych pozycji po wiêconych tej bibliotece, przyk³ady
                                         zosta³y napisane w jêzyku ObjectPascal (Delphi), co umo¿liwi tak¿e programistom
                       ZAMÓW CENNIK      nie pos³uguj¹cym siê jêzykami C/C++ rozpoczêcie przygody z grafik¹ 3D.
                                         W ksi¹¿ce omówiono:

                 CZYTELNIA                  • Podstawy OpenGL: punkty, linie, trójk¹ty, wielok¹ty, kolorowanie
                                            • Rysowanie z³o¿onych obiektów za pomoc¹ kwadryk
          FRAGMENTY KSI¥¯EK ONLINE          • Pos³ugiwanie siê perspektyw¹ i kamer¹
                                            • Materia³y: kolor, po³ysk, emisjê
                                            • Zagadnienia zwi¹zane ze wiat³em
                                            • Tworzenie dynamicznych scen
                                            • Sk³adanie przekszta³ceñ
                                            • Operacje na macierzach
                                            • Tworzenie bry³
                                            • Tekstury i ich w³a ciwo ci
                                            • Napisy w OpenGL
                                            • Tworzenie prostej gry


Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
                       Wstęp............................................................................................................................................................... 7
                       Język programowania ................................................................................................... 7
                          Struktura modułu .................................................................................................... 8
                       Wymagania ................................................................................................................... 9
                       Przykłady ...................................................................................................................... 9
Rozdział 1.            Podstawy...................................................................................................................................................... 11
                       Na początku ................................................................................................................ 11
                       Punkty ......................................................................................................................... 12
                       Rozmiar punktów ....................................................................................................... 16
                       Linie............................................................................................................................ 17
                       Typ linii ...................................................................................................................... 17
                       Trójkąty....................................................................................................................... 18
                       Głębia.......................................................................................................................... 19
                       Widoczność................................................................................................................. 19
                       Czworokąty................................................................................................................. 20
                       Typ wielokątów .......................................................................................................... 20
                       Paski trójkątów ........................................................................................................... 21
                       Kolorowanie płaskie ................................................................................................... 22
                       Wierzchołki trójkątów ................................................................................................ 22
                       Kolorowanie płynne ................................................................................................... 23
Rozdział 2. Kwadryki .....................................................................................................................................................25
            Kwadryki z punktów .................................................................................................. 25
            Linie............................................................................................................................ 26
            Cieniowanie kwadryk ................................................................................................. 27
Rozdział 3. Perspektywa i kamera ......................................................................................................................... 31
            Perspektywa................................................................................................................ 31
            Kamera........................................................................................................................ 32
4                                                                                                                                                OpenGL. Ćwiczenia


Rozdział 4. Materiał ...................................................................................................................................................... 35
            Kolor materiału........................................................................................................... 35
            Połysk ......................................................................................................................... 36
            Emisja ......................................................................................................................... 37
            Przeźroczystość .......................................................................................................... 38
            Mgła............................................................................................................................ 38
Rozdział 5. Światło ......................................................................................................................................................... 41
            Włączenie oświetlenia ................................................................................................ 41
            Światło tła ................................................................................................................... 42
            Światło rozproszone ................................................................................................... 43
            Rozbłyski .................................................................................................................... 44
            Pozycja........................................................................................................................ 45
            Reflektor ..................................................................................................................... 45
            Rozmycie .................................................................................................................... 47
Rozdział 6. Dynamika sceny......................................................................................................................................49
            Przesuw....................................................................................................................... 49
            Obrót ........................................................................................................................... 50
            Skalowanie.................................................................................................................. 51
            Kolor ........................................................................................................................... 52
            Światło ........................................................................................................................ 52
            Reflektor ..................................................................................................................... 53
            Ruch kamery............................................................................................................... 54
            Rozmycie .................................................................................................................... 54
Rozdział 7.            Składanie przekształceń .................................................................................................................... 57
                       Pierwszy obiekt........................................................................................................... 57
                       Obrót wokół własnej osi ............................................................................................. 59
                       Orbita .......................................................................................................................... 59
                       Podorbita..................................................................................................................... 62
                       Ruch po elipsie ........................................................................................................... 64
Rozdział 8. Macierze..................................................................................................................................................... 69
            Pobranie macierzy ...................................................................................................... 69
            Załadowanie macierzy................................................................................................ 70
            Macierz to samościowa.............................................................................................. 71
            Mno enie macierzy..................................................................................................... 72
Rozdział 9. Tworzenie brył...........................................................................................................................................77
            Sześcian ...................................................................................................................... 77
            Czworościan ............................................................................................................... 79
            Ośmiościan ................................................................................................................. 80
            Czternastościan ........................................................................................................... 81
            Dwunastościan............................................................................................................ 83
            Dwudziestościan ......................................................................................................... 86
            Cząsteczka metanu ..................................................................................................... 88
            Maczuga elegancka..................................................................................................... 91
            Maczuga profesjonalna............................................................................................... 92
            Maczuga współczesna ................................................................................................ 93
Spis treści                                                                                                                                                                 5


Rozdział 10. Tekstury...................................................................................................................................................... 95
             Tekstura 1D ................................................................................................................ 95
             Teksturowanie kwadryk ............................................................................................. 96
             Nakładanie tekstury po kawałku................................................................................. 98
             Lustro — przeźroczystość tekstur ............................................................................ 100
             Zdjęcie — bitmapa z pliku ....................................................................................... 101
Rozdział 11. Napisy........................................................................................................................................................ 105
             Czcionki bitmapowe ................................................................................................. 105
             Kontur ....................................................................................................................... 107
             Czcionka 3D ............................................................................................................. 108
             Czcionka teksturowana............................................................................................. 109
             Metalowy połysk ...................................................................................................... 110
Rozdział 12. Prosta gra 3D .......................................................................................................................................... 113
             Sześcian .................................................................................................................... 113
             Oświetlenie ............................................................................................................... 115
             Figura........................................................................................................................ 117
             Obrót sceny............................................................................................................... 118
             Osiem figur ............................................................................................................... 121
             Przesuw..................................................................................................................... 122
             Płynny przesuw......................................................................................................... 123
             Obrót ......................................................................................................................... 124
             Płynny obrót ............................................................................................................. 126
             Skrzynka ................................................................................................................... 127
             Kolizja....................................................................................................................... 129
             Napisy ....................................................................................................................... 131
Dodatek A              Własny komponent GlBox................................................................................................................ 137
4. Rozdział

                                                                     Materiał
           W tym rozdziale dodamy właściwości materiału rysowanych obiektów. Kolor, połysk, emisja
           światła, przeźroczystość i efekt mgły mogą bardzo o ywić rysowaną scenę.

           Otwórz w Delphi projekt …CwiczeniaR04_MaterialC04_00_PoczatekMaterial.dpr.

           Scena zawiera dwanaście obracających się sześcianów. Naszym zadaniem będzie nadać im
           ró ne właściwości.




Kolor materiału
           Nowa procedura:
                 IN/CVGTKCNHX
HCEG RPCOG RCTCOU — ustawienie materiału obiektów.
                 Pierwszy argument określa stronę, z której chcemy zmieniać właściwości materiału
                 (przód, tył czy obydwie). Drugi parametr określa cechę, którą chcemy ustawić
                 ().A#/$+'06A#0A+((75' to odbijanie światła tła i światła rozproszonego). Ostatni
                 parametr to wskaźnik do tablicy składowych koloru (TGF ITGGP DNWG CNRJC).

Ćwiczenie 4.1.

           Niech pierwsze dwa sześciany mają kolor materiału zbli ony do ółtego, a pozostałe do
           niebieskiego.

           W procedurze ).4GPFGT dopisz:
             RTQEGFWTG 6(QTO).4GPFGT
5GPFGT 61DLGEV
             XCT
               K KPVGIGT
36                                                                                  OpenGL. Ćwiczenia


             EQPUV
               MCV TGCN  
               CODAFKH 6).#TTC[H  
   
               CODAFKH 6).#TTC[H  
   
             DGIKP
               IN%NGCT 
).A%1.14A$7(('4A$+6 QT ).A'26*A$7(('4A$+6
                C CFQYCPKG RTGMUVC EGPKC VQ UCOQ EKQYGIQ
               IN.QCF+FGPVKV[
                1 YKGVNGPKG
               7UVCY1UYKGVNGPKG
               IN6TCPUNCVGH
  
                4[UQYCPKG HKIWT
               IN4QVCVGH
    
               IN4QVCVGH
 MCV   
               HQT K   VQ  FQ DGIKP
                 KH K VJGP IN/CVGTKCNHX
).A(4106A#0A$#%- ).A#/$+'06A#0A+((75' CODAFKH
                 GNUG IN/CVGTKCNHX
).A(4106A#0A$#%- ).A#/$+'06A#0A+((75' CODAFKH
                 IN2WUJ/CVTKZ
                 IN4QVCVGH
K
IN6TCPUNCVGH
  
                 IN4QVCVGH
MCV
K
5GUEKCP

                 IN2QR/CVTKZ
               GPF
               MCV  MCV

             GPF




Połysk
           Aby uzyskać efekt rozbłysków, nale y u yć procedury IN/CVGTKCNHX z drugim parame-
           trem równym ).A52'%7.#4.

           Nowa procedura:
                 IN/CVGTKCNH
HCEG RPCOG RCTCO — procedura podobna do poprzedniej.
                 Je eli drugi parametr jest równy ).A5*+0+0'55, to trzeci zmienia wielkość
                 plamy rozbłysków na obiektach.

Ćwiczenie 4.2.

           Dodaj połysk do wszystkich — oprócz pierwszych czterech — sześcianów.

           W procedurze ).4GPFGT dopisz:
             
               CODAFKH 6).#TTC[H  
   
               CODAFKH 6).#TTC[H  
   
               URGE  6).#TTC[H  
   
               URGE  6).#TTC[H  
   
             DGIKP
             
                 KH K VJGP IN/CVGTKCNHX
).A(4106A#0A$#%- ).A#/$+'06A#0A+((75' CODAFKH
                 GNUG IN/CVGTKCNHX
).A(4106A#0A$#%- ).A#/$+'06A#0A+((75' CODAFKH

Mais conteúdo relacionado

Mais procurados

Mais procurados (17)

3ds max 5. Ćwiczenia praktyczne
3ds max 5. Ćwiczenia praktyczne3ds max 5. Ćwiczenia praktyczne
3ds max 5. Ćwiczenia praktyczne
 
Po prostu JavaScript i Ajax. Wydanie VI
Po prostu JavaScript i Ajax. Wydanie VIPo prostu JavaScript i Ajax. Wydanie VI
Po prostu JavaScript i Ajax. Wydanie VI
 
Photoshop CS
Photoshop CSPhotoshop CS
Photoshop CS
 
JavaScript dla każdego
JavaScript dla każdegoJavaScript dla każdego
JavaScript dla każdego
 
Java. Tworzenie gier
Java. Tworzenie gierJava. Tworzenie gier
Java. Tworzenie gier
 
3ds Max 8. Biblia
3ds Max 8. Biblia3ds Max 8. Biblia
3ds Max 8. Biblia
 
Po prostu Photoshop CS
Po prostu Photoshop CSPo prostu Photoshop CS
Po prostu Photoshop CS
 
Po prostu 3ds max 5
Po prostu 3ds max 5Po prostu 3ds max 5
Po prostu 3ds max 5
 
Adobe Illustrator CS3/CS3 PL. Oficjalny podręcznik
Adobe Illustrator CS3/CS3 PL. Oficjalny podręcznikAdobe Illustrator CS3/CS3 PL. Oficjalny podręcznik
Adobe Illustrator CS3/CS3 PL. Oficjalny podręcznik
 
OpenGL. Programowanie gier
OpenGL. Programowanie gierOpenGL. Programowanie gier
OpenGL. Programowanie gier
 
CorelDRAW 11. Vademecum profesjonalisty. Tom 1
CorelDRAW 11. Vademecum profesjonalisty. Tom 1CorelDRAW 11. Vademecum profesjonalisty. Tom 1
CorelDRAW 11. Vademecum profesjonalisty. Tom 1
 
Ruby. Wzorce projektowe
Ruby. Wzorce projektoweRuby. Wzorce projektowe
Ruby. Wzorce projektowe
 
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatceFlash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce
Flash CS3 Professional PL. Techniki zaawansowane. Klatka po klatce
 
GIMP. Praktyczne projekty
GIMP. Praktyczne projektyGIMP. Praktyczne projekty
GIMP. Praktyczne projekty
 
ABC Photoshop CS3/CS3 PL
ABC Photoshop CS3/CS3 PLABC Photoshop CS3/CS3 PL
ABC Photoshop CS3/CS3 PL
 
ABC Photoshop CS
ABC Photoshop CSABC Photoshop CS
ABC Photoshop CS
 
Flash MX. Ćwiczenia zaawansowane
Flash MX. Ćwiczenia zaawansowaneFlash MX. Ćwiczenia zaawansowane
Flash MX. Ćwiczenia zaawansowane
 

Destaque

Delphi 7. Kompendium programisty
Delphi 7. Kompendium programistyDelphi 7. Kompendium programisty
Delphi 7. Kompendium programistyWydawnictwo Helion
 
Fotografia cyfrowa. Edycja zdjęć
Fotografia cyfrowa. Edycja zdjęćFotografia cyfrowa. Edycja zdjęć
Fotografia cyfrowa. Edycja zdjęćWydawnictwo Helion
 
Oracle9i. Programowanie w języku PL/SQL
Oracle9i. Programowanie w języku PL/SQLOracle9i. Programowanie w języku PL/SQL
Oracle9i. Programowanie w języku PL/SQLWydawnictwo Helion
 
Photoshop CS. Ćwiczenia zaawansowane
Photoshop CS. Ćwiczenia zaawansowanePhotoshop CS. Ćwiczenia zaawansowane
Photoshop CS. Ćwiczenia zaawansowaneWydawnictwo Helion
 

Destaque (7)

Delphi 7. Kompendium programisty
Delphi 7. Kompendium programistyDelphi 7. Kompendium programisty
Delphi 7. Kompendium programisty
 
Fotografia cyfrowa. Edycja zdjęć
Fotografia cyfrowa. Edycja zdjęćFotografia cyfrowa. Edycja zdjęć
Fotografia cyfrowa. Edycja zdjęć
 
Anatomia PC. Kompendium
Anatomia PC. KompendiumAnatomia PC. Kompendium
Anatomia PC. Kompendium
 
Oracle9i. Programowanie w języku PL/SQL
Oracle9i. Programowanie w języku PL/SQLOracle9i. Programowanie w języku PL/SQL
Oracle9i. Programowanie w języku PL/SQL
 
Photoshop CS. Ćwiczenia zaawansowane
Photoshop CS. Ćwiczenia zaawansowanePhotoshop CS. Ćwiczenia zaawansowane
Photoshop CS. Ćwiczenia zaawansowane
 
Po prostu Red Hat Linux 8
Po prostu Red Hat Linux 8Po prostu Red Hat Linux 8
Po prostu Red Hat Linux 8
 
Visio 2002 dla każdego
Visio 2002 dla każdegoVisio 2002 dla każdego
Visio 2002 dla każdego
 

Semelhante a OpenGL. Ćwiczenia

Semelhante a OpenGL. Ćwiczenia (20)

CorelDraw X3 PL. Kurs
CorelDraw X3 PL. KursCorelDraw X3 PL. Kurs
CorelDraw X3 PL. Kurs
 
OpenGL. Księga eksperta. Wydanie III
OpenGL. Księga eksperta. Wydanie IIIOpenGL. Księga eksperta. Wydanie III
OpenGL. Księga eksperta. Wydanie III
 
C#. Ćwiczenia
C#. ĆwiczeniaC#. Ćwiczenia
C#. Ćwiczenia
 
Po prostu CorelDRAW 11
Po prostu CorelDRAW 11Po prostu CorelDRAW 11
Po prostu CorelDRAW 11
 
Perełki programowania gier. Vademecum profesjonalisty. Tom 2
Perełki programowania gier. Vademecum profesjonalisty. Tom 2Perełki programowania gier. Vademecum profesjonalisty. Tom 2
Perełki programowania gier. Vademecum profesjonalisty. Tom 2
 
Adobe Illustrator 10. Ćwiczenia
Adobe Illustrator 10. ĆwiczeniaAdobe Illustrator 10. Ćwiczenia
Adobe Illustrator 10. Ćwiczenia
 
ABC Delphi 6
ABC Delphi 6ABC Delphi 6
ABC Delphi 6
 
ABC grafiki komputerowej. Wydanie II
ABC grafiki komputerowej. Wydanie IIABC grafiki komputerowej. Wydanie II
ABC grafiki komputerowej. Wydanie II
 
Photoshop CS. Kurs
Photoshop CS. KursPhotoshop CS. Kurs
Photoshop CS. Kurs
 
AutoCAD 2005 dla użytkowników AutoCAD 2004
AutoCAD 2005 dla użytkowników AutoCAD 2004AutoCAD 2005 dla użytkowników AutoCAD 2004
AutoCAD 2005 dla użytkowników AutoCAD 2004
 
JavaScript. Projekty
JavaScript. ProjektyJavaScript. Projekty
JavaScript. Projekty
 
C++ Builder. Symulacje komputerowe
C++ Builder. Symulacje komputeroweC++ Builder. Symulacje komputerowe
C++ Builder. Symulacje komputerowe
 
C++. Sztuka programowania
C++. Sztuka programowaniaC++. Sztuka programowania
C++. Sztuka programowania
 
ABC Delphi 7
ABC Delphi 7ABC Delphi 7
ABC Delphi 7
 
Wstęp do programowania w języku C#
Wstęp do programowania w języku C#Wstęp do programowania w języku C#
Wstęp do programowania w języku C#
 
C++ bez obaw
C++ bez obawC++ bez obaw
C++ bez obaw
 
.Net. Najpilniej strzeżone tajemnice
.Net. Najpilniej strzeżone tajemnice.Net. Najpilniej strzeżone tajemnice
.Net. Najpilniej strzeżone tajemnice
 
100 sposobów na Flash
100 sposobów na Flash100 sposobów na Flash
100 sposobów na Flash
 
CorelDRAW 12. Oficjalny podręcznik
CorelDRAW 12. Oficjalny podręcznikCorelDRAW 12. Oficjalny podręcznik
CorelDRAW 12. Oficjalny podręcznik
 
Perl. Ćwiczenia
Perl. ĆwiczeniaPerl. Ćwiczenia
Perl. Ćwiczenia
 

Mais de Wydawnictwo Helion

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyWydawnictwo Helion
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikWydawnictwo Helion
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczneWydawnictwo Helion
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieWydawnictwo Helion
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IIWydawnictwo Helion
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuWydawnictwo Helion
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIWydawnictwo Helion
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningWydawnictwo Helion
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykWydawnictwo Helion
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
 

Mais de Wydawnictwo Helion (20)

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. Projekty
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnik
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółu
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie II
 
JavaScript. Pierwsze starcie
JavaScript. Pierwsze starcieJavaScript. Pierwsze starcie
JavaScript. Pierwsze starcie
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny trening
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktyk
 
Excel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktykExcel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
 
Access 2007 PL. Seria praktyk
Access 2007 PL. Seria praktykAccess 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
 
Word 2007 PL. Seria praktyk
Word 2007 PL. Seria praktykWord 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacja
 
AutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PLAutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PL
 
Bazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcieBazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcie
 
Inventor. Pierwsze kroki
Inventor. Pierwsze krokiInventor. Pierwsze kroki
Inventor. Pierwsze kroki
 

OpenGL. Ćwiczenia

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TRE CI OpenGL. Æwiczenia Autor: Waldemar Pokuta KATALOG KSI¥¯EK ISBN: 83-7361-172-X Format: B5, stron: 144 KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK DODAJ DO KOSZYKA Biblioteka OpenGL to zestaw procedur graficznych, których mo¿emy u¿ywaæ w rozmaitych jêzykach programowania dla ró¿nych systemów operacyjnych. Jest to ogólnie uznany standard — jego znajomo æ to podstawa do zajmowania CENNIK I INFORMACJE siê grafik¹ komputerow¹. Ksi¹¿ka, któr¹ trzymasz w rêku, przedstawia jedynie fragment mo¿liwo ci OpenGL, ZAMÓW INFORMACJE wystarczaj¹cy jednak, by rozpocz¹æ przygodê z programowaniem grafiki O NOWO CIACH trójwymiarowej. W odró¿nieniu od innych pozycji po wiêconych tej bibliotece, przyk³ady zosta³y napisane w jêzyku ObjectPascal (Delphi), co umo¿liwi tak¿e programistom ZAMÓW CENNIK nie pos³uguj¹cym siê jêzykami C/C++ rozpoczêcie przygody z grafik¹ 3D. W ksi¹¿ce omówiono: CZYTELNIA • Podstawy OpenGL: punkty, linie, trójk¹ty, wielok¹ty, kolorowanie • Rysowanie z³o¿onych obiektów za pomoc¹ kwadryk FRAGMENTY KSI¥¯EK ONLINE • Pos³ugiwanie siê perspektyw¹ i kamer¹ • Materia³y: kolor, po³ysk, emisjê • Zagadnienia zwi¹zane ze wiat³em • Tworzenie dynamicznych scen • Sk³adanie przekszta³ceñ • Operacje na macierzach • Tworzenie bry³ • Tekstury i ich w³a ciwo ci • Napisy w OpenGL • Tworzenie prostej gry Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl
  • 2. Spis treści Wstęp............................................................................................................................................................... 7 Język programowania ................................................................................................... 7 Struktura modułu .................................................................................................... 8 Wymagania ................................................................................................................... 9 Przykłady ...................................................................................................................... 9 Rozdział 1. Podstawy...................................................................................................................................................... 11 Na początku ................................................................................................................ 11 Punkty ......................................................................................................................... 12 Rozmiar punktów ....................................................................................................... 16 Linie............................................................................................................................ 17 Typ linii ...................................................................................................................... 17 Trójkąty....................................................................................................................... 18 Głębia.......................................................................................................................... 19 Widoczność................................................................................................................. 19 Czworokąty................................................................................................................. 20 Typ wielokątów .......................................................................................................... 20 Paski trójkątów ........................................................................................................... 21 Kolorowanie płaskie ................................................................................................... 22 Wierzchołki trójkątów ................................................................................................ 22 Kolorowanie płynne ................................................................................................... 23 Rozdział 2. Kwadryki .....................................................................................................................................................25 Kwadryki z punktów .................................................................................................. 25 Linie............................................................................................................................ 26 Cieniowanie kwadryk ................................................................................................. 27 Rozdział 3. Perspektywa i kamera ......................................................................................................................... 31 Perspektywa................................................................................................................ 31 Kamera........................................................................................................................ 32
  • 3. 4 OpenGL. Ćwiczenia Rozdział 4. Materiał ...................................................................................................................................................... 35 Kolor materiału........................................................................................................... 35 Połysk ......................................................................................................................... 36 Emisja ......................................................................................................................... 37 Przeźroczystość .......................................................................................................... 38 Mgła............................................................................................................................ 38 Rozdział 5. Światło ......................................................................................................................................................... 41 Włączenie oświetlenia ................................................................................................ 41 Światło tła ................................................................................................................... 42 Światło rozproszone ................................................................................................... 43 Rozbłyski .................................................................................................................... 44 Pozycja........................................................................................................................ 45 Reflektor ..................................................................................................................... 45 Rozmycie .................................................................................................................... 47 Rozdział 6. Dynamika sceny......................................................................................................................................49 Przesuw....................................................................................................................... 49 Obrót ........................................................................................................................... 50 Skalowanie.................................................................................................................. 51 Kolor ........................................................................................................................... 52 Światło ........................................................................................................................ 52 Reflektor ..................................................................................................................... 53 Ruch kamery............................................................................................................... 54 Rozmycie .................................................................................................................... 54 Rozdział 7. Składanie przekształceń .................................................................................................................... 57 Pierwszy obiekt........................................................................................................... 57 Obrót wokół własnej osi ............................................................................................. 59 Orbita .......................................................................................................................... 59 Podorbita..................................................................................................................... 62 Ruch po elipsie ........................................................................................................... 64 Rozdział 8. Macierze..................................................................................................................................................... 69 Pobranie macierzy ...................................................................................................... 69 Załadowanie macierzy................................................................................................ 70 Macierz to samościowa.............................................................................................. 71 Mno enie macierzy..................................................................................................... 72 Rozdział 9. Tworzenie brył...........................................................................................................................................77 Sześcian ...................................................................................................................... 77 Czworościan ............................................................................................................... 79 Ośmiościan ................................................................................................................. 80 Czternastościan ........................................................................................................... 81 Dwunastościan............................................................................................................ 83 Dwudziestościan ......................................................................................................... 86 Cząsteczka metanu ..................................................................................................... 88 Maczuga elegancka..................................................................................................... 91 Maczuga profesjonalna............................................................................................... 92 Maczuga współczesna ................................................................................................ 93
  • 4. Spis treści 5 Rozdział 10. Tekstury...................................................................................................................................................... 95 Tekstura 1D ................................................................................................................ 95 Teksturowanie kwadryk ............................................................................................. 96 Nakładanie tekstury po kawałku................................................................................. 98 Lustro — przeźroczystość tekstur ............................................................................ 100 Zdjęcie — bitmapa z pliku ....................................................................................... 101 Rozdział 11. Napisy........................................................................................................................................................ 105 Czcionki bitmapowe ................................................................................................. 105 Kontur ....................................................................................................................... 107 Czcionka 3D ............................................................................................................. 108 Czcionka teksturowana............................................................................................. 109 Metalowy połysk ...................................................................................................... 110 Rozdział 12. Prosta gra 3D .......................................................................................................................................... 113 Sześcian .................................................................................................................... 113 Oświetlenie ............................................................................................................... 115 Figura........................................................................................................................ 117 Obrót sceny............................................................................................................... 118 Osiem figur ............................................................................................................... 121 Przesuw..................................................................................................................... 122 Płynny przesuw......................................................................................................... 123 Obrót ......................................................................................................................... 124 Płynny obrót ............................................................................................................. 126 Skrzynka ................................................................................................................... 127 Kolizja....................................................................................................................... 129 Napisy ....................................................................................................................... 131 Dodatek A Własny komponent GlBox................................................................................................................ 137
  • 5. 4. Rozdział Materiał W tym rozdziale dodamy właściwości materiału rysowanych obiektów. Kolor, połysk, emisja światła, przeźroczystość i efekt mgły mogą bardzo o ywić rysowaną scenę. Otwórz w Delphi projekt …CwiczeniaR04_MaterialC04_00_PoczatekMaterial.dpr. Scena zawiera dwanaście obracających się sześcianów. Naszym zadaniem będzie nadać im ró ne właściwości. Kolor materiału Nowa procedura: IN/CVGTKCNHX HCEG RPCOG RCTCOU — ustawienie materiału obiektów. Pierwszy argument określa stronę, z której chcemy zmieniać właściwości materiału (przód, tył czy obydwie). Drugi parametr określa cechę, którą chcemy ustawić ().A#/$+'06A#0A+((75' to odbijanie światła tła i światła rozproszonego). Ostatni parametr to wskaźnik do tablicy składowych koloru (TGF ITGGP DNWG CNRJC). Ćwiczenie 4.1. Niech pierwsze dwa sześciany mają kolor materiału zbli ony do ółtego, a pozostałe do niebieskiego. W procedurze ).4GPFGT dopisz: RTQEGFWTG 6(QTO).4GPFGT 5GPFGT 61DLGEV XCT K KPVGIGT
  • 6. 36 OpenGL. Ćwiczenia EQPUV MCV TGCN CODAFKH 6).#TTC[H CODAFKH 6).#TTC[H DGIKP IN%NGCT ).A%1.14A$7(('4A$+6 QT ).A'26*A$7(('4A$+6 C CFQYCPKG RTGMUVC EGPKC VQ UCOQ EKQYGIQ IN.QCF+FGPVKV[ 1 YKGVNGPKG 7UVCY1UYKGVNGPKG IN6TCPUNCVGH 4[UQYCPKG HKIWT IN4QVCVGH IN4QVCVGH MCV HQT K VQ FQ DGIKP KH K VJGP IN/CVGTKCNHX ).A(4106A#0A$#%- ).A#/$+'06A#0A+((75' CODAFKH GNUG IN/CVGTKCNHX ).A(4106A#0A$#%- ).A#/$+'06A#0A+((75' CODAFKH IN2WUJ/CVTKZ IN4QVCVGH K
  • 7. IN6TCPUNCVGH IN4QVCVGH
  • 9. 5GUEKCP IN2QR/CVTKZ GPF MCV MCV GPF Połysk Aby uzyskać efekt rozbłysków, nale y u yć procedury IN/CVGTKCNHX z drugim parame- trem równym ).A52'%7.#4. Nowa procedura: IN/CVGTKCNH HCEG RPCOG RCTCO — procedura podobna do poprzedniej. Je eli drugi parametr jest równy ).A5*+0+0'55, to trzeci zmienia wielkość plamy rozbłysków na obiektach. Ćwiczenie 4.2. Dodaj połysk do wszystkich — oprócz pierwszych czterech — sześcianów. W procedurze ).4GPFGT dopisz: CODAFKH 6).#TTC[H CODAFKH 6).#TTC[H URGE 6).#TTC[H URGE 6).#TTC[H DGIKP KH K VJGP IN/CVGTKCNHX ).A(4106A#0A$#%- ).A#/$+'06A#0A+((75' CODAFKH GNUG IN/CVGTKCNHX ).A(4106A#0A$#%- ).A#/$+'06A#0A+((75' CODAFKH
  • 10. Rozdział 4. Materiał 37 KH K VJGP IN/CVGTKCNHX ).A(4106A#0A$#%- ).A52'%7.#4 URGE GNUG IN/CVGTKCNHX ).A(4106A#0A$#%- ).A52'%7.#4 URGE IN2WUJ/CVTKZ IN4QVCVGH K
  • 11. Ćwiczenie 4.3. Ustaw wielkość plamy rozbłysku na wartość 80 w sześcianach 6 do 12. W procedurze ).4GPFGT dopisz: KH K VJGP IN/CVGTKCNHX ).A(4106A#0A$#%- ).A52'%7.#4 URGE GNUG IN/CVGTKCNHX ).A(4106A#0A$#%- ).A52'%7.#4 URGE KH K VJGP IN/CVGTKCNH ).A(4106A#0A$#%- ).A5*+0+0'55 GNUG IN/CVGTKCNH ).A(4106A#0A$#%- ).A5*+0+0'55 IN2WUJ/CVTKZ IN4QVCVGH K
  • 12. Emisja Aby sprawić, e obiekty same będą emitować światło, nale y u yć procedury IN/CVG TKCNHX z drugim parametrem równym ).A'/+55+10. Ćwiczenie 4.4. Niech sześciany 8 do 12 zaczną emitować światło zbli one do czerwieni. W procedurze ).4GPFGT dopisz: URGE 6).#TTC[H URGE 6).#TTC[H GOKU 6).#TTC[H GOKU 6).#TTC[H DGIKP KH K VJGP IN/CVGTKCNH ).A(4106A#0A$#%- ).A5*+0+0'55 GNUG IN/CVGTKCNH ).A(4106A#0A$#%- ).A5*+0+0'55 KH K VJGP IN/CVGTKCNHX ).A(4106A#0A$#%- ).A'/+55+10 GOKU GNUG IN/CVGTKCNHX ).A(4106A#0A$#%- ).A'/+55+10 GOKU IN2WUJ/CVTKZ IN4QVCVGH K
  • 13. 38 OpenGL. Ćwiczenia Przeźroczystość Aby sprawić, e obiekty staną się przeźroczyste, nale y zmienić parametr CNRJC (stopień przeźroczystości) w tablicy określającej kolor materiału, u yć procedury IN$NGPF(WPE z odpowiednimi argumentami oraz włączyć przeźroczystość procedurą IN'PCDNG. Nowa procedura: IN$NGPF(WPE UHCEVQT FHCEVQT — procedura określa sposób, w jaki ma być obliczana przeźroczystość obiektów. Domyślne u ycie procedury to: IN$NGPF(WPE ).A54%A#.2*# ).A10'A/+075A54%A#.2*#. Ćwiczenie 4.5. Niech sześciany 10 do 12 będą ze szkła. W procedeurze ).4GPFGT dopisz: EQPUV MCV TGCN CODAFKH 6).#TTC[H CODAFKH 6).#TTC[H URGE 6).#TTC[H KH K VJGP IN/CVGTKCNHX ).A(4106A#0A$#%- ).A'/+55+10 GOKU GNUG IN/CVGTKCNHX ).A(4106A#0A$#%- ).A'/+55+10 GOKU KH K VJGP INKUCDNG ).A$.'0 GNUG DGIKP IN'PCDNG ).A$.'0 IN$NGPF(WPE ).A54%A#.2*# ).A10'A/+075A54%A#.2*# GPF IN2WUJ/CVTKZ IN4QVCVGH K
  • 14. Mgła Aby uzyskać efekt mgły, nale y procedurą IN'PCDNG włączyć opcję ).A(1), a procedu- rami IN(QIK, IN(QIH i IN(QIHX trzeba ustawić jej właściwości. Nowe procedury: IN(QIK RPCOG RCTCO IN(QIH RPCOG RCTCO — ustalenie właściwości mgły. Je eli pierwszym argumentem jest ).A(1)A/1', to drugi argument ustala sposób, w jaki jest obliczana przeźroczystość mgły. Je eli pierwszym argumentem jest ).A(1)A56#46 lub ).A(1)A'0, to jest ustalany odpowiednio początek i koniec obszaru mgły;
  • 15. Rozdział 4. Materiał 39 IN(QIHX RPCOG RCTCOU — procedura podobna do poprzedniej. Je eli pierwszym argumentem jest ).A(1)A%1.14, to drugi wskazuje na tablicę, która określa kolor mgły. Ćwiczenie 4.6. Dodaj do sceny efekt czarnej mgły. W procedurze ).4GPFGT dopisz: GOKU 6).#TTC[H GOKU 6).#TTC[H HQI%QN 6).#TTC[H DGIKP 7UVCY1UYKGVNGPKG IN6TCPUNCVGH /I C IN(QIK ).A(1)A/1' ).A.+0'#4 IN(QIHX ).A(1)A%1.14 HQI%QN IN(QIH ).A(1)A56#46 IN(QIH ).A(1)A'0 IN'PCDNG ).A(1) 4[UQYCPKG HKIWT IN4QVCVGH IN4QVCVGH MCV Rysunek 4.1. Efekt końcowy działania programu