SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Základy počítačové grafiky
               Počítačová cvičení



   Ústav počítačové grafiky a multimédií
Téma cvičení



Úvod do počítačových cvičení
Cíle cvičení z IZG

          Prakticky si vyzkoušet a ověřit znalosti získané na
                             přednáškách.



                                  Teorie (přednášky = jak to funguje)
                                                   X
                                    Praxe (cvičení = jak se to dělá)

        Získání příslušného počtu bodů je vedlejším produktem
                      poctivého vypracování úkolů.


Základy počítačové grafiky / Cvičení / Úvod do cvičení                  3
Organizace cvičení

• 6 témat po dvou týdnech + úvodní cvičení = 13 týdnů.

• Z každého tématu je úkol za 0 – 5 bodů.
• Jedno téma má na starosti vždy jeden cvičící, který vše
  připravuje a opravuje úkoly.
• Různá témata mohou mít různí cvičící.

• Průběh každého tématu:
        – První týden - výklad a společná práce v učebně.
        – Druhý týden - konzultace a samostatná práce na úkolu.




Základy počítačové grafiky / Cvičení / Úvod do cvičení            4
Osnova cvičení


Osnova cvičení:
        –    Úvodní cvičení,                             1 týden,       bez úkolu
        –    Formáty, redukce barev,                     2-3 týden,     úkol za 0 – 5b
        –    Rasterizace,                                4-5 týden,     úkol za 0 – 5b
        –    2D křivky,                                  8-9 týden,     úkol za 0 – 5b
        –    Vyplňování 2D oblastí,                      6-7 týden,     úkol za 0 – 5b
        –    3D transformace,                            10-11 týden,   úkol za 0 – 5b
        –    Základy OpenGL,                             12-13 týden,   úkol za 0 – 5b




Základy počítačové grafiky / Cvičení / Úvod do cvičení                                   5
Úkoly ze cvičení
• Odevzdání úkolu vždy nejpozději do půlnoci neděle
  druhého týdne tématu, před začátkem dalšího tématu.
• Odevzdává se pouze soubor „student.cpp“, kam jedině se
  do připravených funkcí doplňuje vlastní kód.
• Odevzdání prostřednictvím IS FIT (jak je, bez komprese).

• Pozdní odevzdání = 0 bodů.
• Kopírování cizích řešení (testuje se) – zrušení zápočtu.
• Správnost řešení (testuje se) = 0 – 5 bodů.

• Kompilace a kontrola úkolů bude prováděna
  prostřednictvím školní instalace MinGW.


Základy počítačové grafiky / Cvičení / Úvod do cvičení       6
Kompilace a editace programů
• Možnost použít kompilátor GCC/MinGW (Q:mingwMinGWbin)
  nebo MS VC++
• Použita knihovna GLUT nainstalováva v OS, nebo soubory
  knihovny ke stažení na www stránkách IZG
• Pro překlad použito programu „Make“ podle připraveného
  souboru „makefile“ nebo přiložený projekt pro MS VC++
• Editace kódu v libovolném editoru nebo integrovaném prostředí
  (pspad, vim, emacs, DevC++, MinGW Dev. studio, MSVC, …)

• Programy připravené pro jednotlivá cvičení stáhnout z www
  stránek IZG (izg_lab_0X.zip, main.cpp, main.h, student.cpp...).
• Překlad programů příkazem „make“, v příkazové řádce nebo v
  MS VC++.



Základy počítačové grafiky / Cvičení / Úvod do cvičení              7
Framework
• Implementace v C++ (C rozšířené o prvky C++).
• Použití GLUT, nadstavba OpenGL pro snadné, rychlé a
  multi-platformní aplikace s podporou OpenGL.
• Stavové globální proměnné.
• Štábní kultura kódu, komentáře, popisy.

• Přehled funkcí programu:
        – Inicializace GLUT a OpenGL (RGBA, DoubleBuffering).
        – Registrace funkcí pro: požadavek na vykreslení, změna velikosti
          okna, stisknutí klávesnice, stisknutí tlačítka myši, pohyb myši.

• Implementace připravených funkcí (úkol) pouze v
  odevzdávaném souboru „student.cpp“.


Základy počítačové grafiky / Cvičení / Úvod do cvičení                       8
Framebuffer
• Kreslení probíhá do vlastního paměťového „framebufferu“.
• Důvodem je názornost funkce a implementace základních
  grafických aplikací, prakticky však nevhodné.
• Lineární paměťové pole RGBA složek 32 bit barvy,
  chápáno jak 2D matice o rozměrech okna.
• Typ pole - struktura S_RGBA (red, green, blue, alpha), .

• GLUT (OpenGL) pouze zajišťuje vykreslení framebufferu
  na obrazovku.
• Všechny grafické operace ve cvičeních a úkolech (kromě
  posledního) budou postaveny na přímém zápisu S_RGBA
  barev do paměti framebufferu.


Základy počítačové grafiky / Cvičení / Úvod do cvičení       9
Vykreslení pixelu
• Vstup:
        – Souřadnice pixelu + S_RGBA barvy
        – Rozměry framebufferu
        – Ukazatel na začátek framebufferu
• Postup:
        – Test daných souřadnic vůči
          rozměrům framebufferu
        – Výpočet ukazatele (offsetu) pixelu ze
          souřadnic do paměťového pole
        – Zápis RGBA barvy pixelů do paměti
          framebufferu, inkrementace
          ukazatele
• Pomocné vzorce:
             frame _buffer[ frame _ w ⋅ y + x ]= color (red, green, blue, alpha)
             *( frame _buffer + frame _ w ⋅ y + x)= color (red, green, blue, alpha)
Základy počítačové grafiky / Cvičení / Úvod do cvičení                                10
Vykreslení obdélníka
• Vstup:
        – Souřadnice dvou protilehlých rohů
          obdélníku + S_RGBA barvy.
        – Rozměry framebufferu.
        – Ukazatel na začátek framebufferu.

• Postup:
        – Test daných souřadnic vůči
          rozměrům framebufferu
        – Vhodné převrácení daných
          souřadnic do vhodné orientace.
        – Cyklus řádků obdélníka:
                • Výpočet ukazatele (offsetu) prvního
                  byte aktuálního řádku.
                • Zápis pixelů aktuálního řádku do
                  framebufferu s inkrementací ukazatele.




Základy počítačové grafiky / Cvičení / Úvod do cvičení     11

Más contenido relacionado

Destacado

Культура в XIXв
Культура в XIXв Культура в XIXв
Культура в XIXв Proznanie.ru
 
Kursus photoshop - memahami fungsi 3 d di adobe cc
Kursus photoshop - memahami fungsi 3 d di adobe ccKursus photoshop - memahami fungsi 3 d di adobe cc
Kursus photoshop - memahami fungsi 3 d di adobe ccSurya Chandra
 
Rio content market 19/03/2013
Rio content market 19/03/2013Rio content market 19/03/2013
Rio content market 19/03/2013CimelIAE
 
Evoluciondelcomputador 090521113743-phpapp02
Evoluciondelcomputador 090521113743-phpapp02Evoluciondelcomputador 090521113743-phpapp02
Evoluciondelcomputador 090521113743-phpapp02Isamar Portilla
 
Outdoortfrelease050615
Outdoortfrelease050615Outdoortfrelease050615
Outdoortfrelease050615lscmedia
 
Mongrel2, a short introduction
Mongrel2, a short introductionMongrel2, a short introduction
Mongrel2, a short introductionPaolo Negri
 
Winning budgets and engaging sales - Jim Cassidy, Chief Marketing Officer - S...
Winning budgets and engaging sales - Jim Cassidy, Chief Marketing Officer - S...Winning budgets and engaging sales - Jim Cassidy, Chief Marketing Officer - S...
Winning budgets and engaging sales - Jim Cassidy, Chief Marketing Officer - S...Demand Generation Summit
 
Proyecto Engrama - Presentación Exámen Medialab
Proyecto Engrama - Presentación Exámen MedialabProyecto Engrama - Presentación Exámen Medialab
Proyecto Engrama - Presentación Exámen Medialabvichoiglesias
 
Riscos Laborais nos Centros de Ensino de Galiza
Riscos Laborais nos Centros de Ensino de GalizaRiscos Laborais nos Centros de Ensino de Galiza
Riscos Laborais nos Centros de Ensino de Galizaaarnoveleirez
 

Destacado (17)

KSXmas
KSXmasKSXmas
KSXmas
 
Izstades jaunpils_MD
Izstades jaunpils_MDIzstades jaunpils_MD
Izstades jaunpils_MD
 
Rio De J Aneiro Visto De Cima
Rio De J Aneiro Visto De CimaRio De J Aneiro Visto De Cima
Rio De J Aneiro Visto De Cima
 
Культура в XIXв
Культура в XIXв Культура в XIXв
Культура в XIXв
 
Kursus photoshop - memahami fungsi 3 d di adobe cc
Kursus photoshop - memahami fungsi 3 d di adobe ccKursus photoshop - memahami fungsi 3 d di adobe cc
Kursus photoshop - memahami fungsi 3 d di adobe cc
 
Rio content market 19/03/2013
Rio content market 19/03/2013Rio content market 19/03/2013
Rio content market 19/03/2013
 
Koris
KorisKoris
Koris
 
Evoluciondelcomputador 090521113743-phpapp02
Evoluciondelcomputador 090521113743-phpapp02Evoluciondelcomputador 090521113743-phpapp02
Evoluciondelcomputador 090521113743-phpapp02
 
Outdoortfrelease050615
Outdoortfrelease050615Outdoortfrelease050615
Outdoortfrelease050615
 
Mongrel2, a short introduction
Mongrel2, a short introductionMongrel2, a short introduction
Mongrel2, a short introduction
 
Lude godine -2012
Lude godine  -2012Lude godine  -2012
Lude godine -2012
 
Winning budgets and engaging sales - Jim Cassidy, Chief Marketing Officer - S...
Winning budgets and engaging sales - Jim Cassidy, Chief Marketing Officer - S...Winning budgets and engaging sales - Jim Cassidy, Chief Marketing Officer - S...
Winning budgets and engaging sales - Jim Cassidy, Chief Marketing Officer - S...
 
Franklin HIgh Shool
Franklin HIgh ShoolFranklin HIgh Shool
Franklin HIgh Shool
 
Proyecto Engrama - Presentación Exámen Medialab
Proyecto Engrama - Presentación Exámen MedialabProyecto Engrama - Presentación Exámen Medialab
Proyecto Engrama - Presentación Exámen Medialab
 
Riscos Laborais nos Centros de Ensino de Galiza
Riscos Laborais nos Centros de Ensino de GalizaRiscos Laborais nos Centros de Ensino de Galiza
Riscos Laborais nos Centros de Ensino de Galiza
 
RisgDEmb PPT
RisgDEmb PPTRisgDEmb PPT
RisgDEmb PPT
 
Nutricia
NutriciaNutricia
Nutricia
 

Similar a Izg lab 01_uvod

Dotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyDotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyINTERES - KISK
 
Tv 07
Tv 07Tv 07
Tv 07352
 
Prezentace Inkscape a jeho použití v mojí praxi
Prezentace Inkscape a jeho použití v mojí praxi Prezentace Inkscape a jeho použití v mojí praxi
Prezentace Inkscape a jeho použití v mojí praxi Petr Šimčík
 
Pa104 pa104-priprava-na-zk
Pa104 pa104-priprava-na-zkPa104 pa104-priprava-na-zk
Pa104 pa104-priprava-na-zkFatmir Vela
 
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]Kuba Břečka
 
Zonky QA Meetup
Zonky QA MeetupZonky QA Meetup
Zonky QA Meetupdamovsky
 

Similar a Izg lab 01_uvod (7)

Dotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatikyDotykova zarizeni ve vyuce informatiky
Dotykova zarizeni ve vyuce informatiky
 
Tv 07
Tv 07Tv 07
Tv 07
 
Prezentace Inkscape a jeho použití v mojí praxi
Prezentace Inkscape a jeho použití v mojí praxi Prezentace Inkscape a jeho použití v mojí praxi
Prezentace Inkscape a jeho použití v mojí praxi
 
Linuxalt 2010
Linuxalt 2010Linuxalt 2010
Linuxalt 2010
 
Pa104 pa104-priprava-na-zk
Pa104 pa104-priprava-na-zkPa104 pa104-priprava-na-zk
Pa104 pa104-priprava-na-zk
 
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
Úvod do vývoje pro platformu iOS [ZČU 24.4.2014]
 
Zonky QA Meetup
Zonky QA MeetupZonky QA Meetup
Zonky QA Meetup
 

Izg lab 01_uvod

  • 1. Základy počítačové grafiky Počítačová cvičení Ústav počítačové grafiky a multimédií
  • 2. Téma cvičení Úvod do počítačových cvičení
  • 3. Cíle cvičení z IZG Prakticky si vyzkoušet a ověřit znalosti získané na přednáškách. Teorie (přednášky = jak to funguje) X Praxe (cvičení = jak se to dělá) Získání příslušného počtu bodů je vedlejším produktem poctivého vypracování úkolů. Základy počítačové grafiky / Cvičení / Úvod do cvičení 3
  • 4. Organizace cvičení • 6 témat po dvou týdnech + úvodní cvičení = 13 týdnů. • Z každého tématu je úkol za 0 – 5 bodů. • Jedno téma má na starosti vždy jeden cvičící, který vše připravuje a opravuje úkoly. • Různá témata mohou mít různí cvičící. • Průběh každého tématu: – První týden - výklad a společná práce v učebně. – Druhý týden - konzultace a samostatná práce na úkolu. Základy počítačové grafiky / Cvičení / Úvod do cvičení 4
  • 5. Osnova cvičení Osnova cvičení: – Úvodní cvičení, 1 týden, bez úkolu – Formáty, redukce barev, 2-3 týden, úkol za 0 – 5b – Rasterizace, 4-5 týden, úkol za 0 – 5b – 2D křivky, 8-9 týden, úkol za 0 – 5b – Vyplňování 2D oblastí, 6-7 týden, úkol za 0 – 5b – 3D transformace, 10-11 týden, úkol za 0 – 5b – Základy OpenGL, 12-13 týden, úkol za 0 – 5b Základy počítačové grafiky / Cvičení / Úvod do cvičení 5
  • 6. Úkoly ze cvičení • Odevzdání úkolu vždy nejpozději do půlnoci neděle druhého týdne tématu, před začátkem dalšího tématu. • Odevzdává se pouze soubor „student.cpp“, kam jedině se do připravených funkcí doplňuje vlastní kód. • Odevzdání prostřednictvím IS FIT (jak je, bez komprese). • Pozdní odevzdání = 0 bodů. • Kopírování cizích řešení (testuje se) – zrušení zápočtu. • Správnost řešení (testuje se) = 0 – 5 bodů. • Kompilace a kontrola úkolů bude prováděna prostřednictvím školní instalace MinGW. Základy počítačové grafiky / Cvičení / Úvod do cvičení 6
  • 7. Kompilace a editace programů • Možnost použít kompilátor GCC/MinGW (Q:mingwMinGWbin) nebo MS VC++ • Použita knihovna GLUT nainstalováva v OS, nebo soubory knihovny ke stažení na www stránkách IZG • Pro překlad použito programu „Make“ podle připraveného souboru „makefile“ nebo přiložený projekt pro MS VC++ • Editace kódu v libovolném editoru nebo integrovaném prostředí (pspad, vim, emacs, DevC++, MinGW Dev. studio, MSVC, …) • Programy připravené pro jednotlivá cvičení stáhnout z www stránek IZG (izg_lab_0X.zip, main.cpp, main.h, student.cpp...). • Překlad programů příkazem „make“, v příkazové řádce nebo v MS VC++. Základy počítačové grafiky / Cvičení / Úvod do cvičení 7
  • 8. Framework • Implementace v C++ (C rozšířené o prvky C++). • Použití GLUT, nadstavba OpenGL pro snadné, rychlé a multi-platformní aplikace s podporou OpenGL. • Stavové globální proměnné. • Štábní kultura kódu, komentáře, popisy. • Přehled funkcí programu: – Inicializace GLUT a OpenGL (RGBA, DoubleBuffering). – Registrace funkcí pro: požadavek na vykreslení, změna velikosti okna, stisknutí klávesnice, stisknutí tlačítka myši, pohyb myši. • Implementace připravených funkcí (úkol) pouze v odevzdávaném souboru „student.cpp“. Základy počítačové grafiky / Cvičení / Úvod do cvičení 8
  • 9. Framebuffer • Kreslení probíhá do vlastního paměťového „framebufferu“. • Důvodem je názornost funkce a implementace základních grafických aplikací, prakticky však nevhodné. • Lineární paměťové pole RGBA složek 32 bit barvy, chápáno jak 2D matice o rozměrech okna. • Typ pole - struktura S_RGBA (red, green, blue, alpha), . • GLUT (OpenGL) pouze zajišťuje vykreslení framebufferu na obrazovku. • Všechny grafické operace ve cvičeních a úkolech (kromě posledního) budou postaveny na přímém zápisu S_RGBA barev do paměti framebufferu. Základy počítačové grafiky / Cvičení / Úvod do cvičení 9
  • 10. Vykreslení pixelu • Vstup: – Souřadnice pixelu + S_RGBA barvy – Rozměry framebufferu – Ukazatel na začátek framebufferu • Postup: – Test daných souřadnic vůči rozměrům framebufferu – Výpočet ukazatele (offsetu) pixelu ze souřadnic do paměťového pole – Zápis RGBA barvy pixelů do paměti framebufferu, inkrementace ukazatele • Pomocné vzorce: frame _buffer[ frame _ w ⋅ y + x ]= color (red, green, blue, alpha) *( frame _buffer + frame _ w ⋅ y + x)= color (red, green, blue, alpha) Základy počítačové grafiky / Cvičení / Úvod do cvičení 10
  • 11. Vykreslení obdélníka • Vstup: – Souřadnice dvou protilehlých rohů obdélníku + S_RGBA barvy. – Rozměry framebufferu. – Ukazatel na začátek framebufferu. • Postup: – Test daných souřadnic vůči rozměrům framebufferu – Vhodné převrácení daných souřadnic do vhodné orientace. – Cyklus řádků obdélníka: • Výpočet ukazatele (offsetu) prvního byte aktuálního řádku. • Zápis pixelů aktuálního řádku do framebufferu s inkrementací ukazatele. Základy počítačové grafiky / Cvičení / Úvod do cvičení 11