Izg lab 01_uvod

1,189 views

Published on

Published in: Technology, Art & Photos
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,189
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Izg lab 01_uvod

  1. 1. Základy počítačové grafiky Počítačová cvičení Ústav počítačové grafiky a multimédií
  2. 2. Téma cvičení Úvod do počítačových cvičení
  3. 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. 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. 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. 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. 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. 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. 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. 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. 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

×