- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Hromadně přidat materiály
Vypracované otázky
PV112 - Programování grafických aplikací
Hodnocení materiálu:
Zjednodušená ukázka:
Stáhnout celý tento materiál17) Správa menu v GLUTu. Co všechno obsahuje a jak se používá správa menu v GLUTu.
Glut podporuje základní kaskádové POP-UP menu. Položky menu není možné upravovat (přidávat, mazat a měnit) v
době, kdy je okno používáno. Menu může obsahovat běžné položky a podmenu.
int PodMenu1;
PodMenu1 = glutCreateMenu(OnClickFunc); //Vytvo í nové menu (Obslužná_funkce)ř
glutAddMenuEntry("PodMenuPolozka1", 1); //P idá položku (Název, Hodnota)ř
glutAddMenuEntry("PodMenuPolozka2", 2);
glutCreateMenu(OnClickFunc);
glutAddSubMenu("PodMenu", PodMenu1); //P idá položku odkazující se na podmenuř
glutAddMenuEntry("Polozka1",3);
glutAttachMenu(GLUT_RIGHT_BUTTON); //Tlačítko myši, p i kterém se menu vyvolář
//GLUT_LEFT_BUTTON, GLUT_MIDDLE_BUTTON, GLUT_RIGHT_BUTTON
void OnClickFunc(int val)
{ switch (val) {
case 1: printf(„Vybrána položka 1“); break;
}
}
void glutDetachMenu(int button) //Odpojí aktivační tlačítko myši
void glutDestroyMenu(int menu_id) //Zruší menu
void glutSetMenu(int menu_id) //Nastaví id pro menu
int glutGetMenu(void) //Zjístí id aktuálního menu
30) Popište „Vertex Arrays“, princip a základní kroky použití.
Vertex Arrays (pole vrcholů) je skupina nástrojů (funkcí) určených k efektivnější implementaci vkládání dat. Snaží se
minimalizovat počet volaných funkcí a dat procházejících přes pipeline. Efektivita vzrůstá u síťových aplikací. Vertex
Arrays funkce umožňují specifikovat mnoho dat (vztažených k vrcholům) v několika málo polích.
Základní kroky:
1. Aktivace (až šesti) polí pro různé typy dat.
2. Vložení dat do polí. (GL_[VERTEX/COLOR/INDEX/NORMAL/TEXTURE_COORD/EDGE_FLAG]_ARRAY)
3. Vykreslení geometrie dat. V client-server modelu jsou data přemístěna do adresového prostoru serveru.
Vykreslování probíhá jedním ze tří způsobů: i. Samostatný přístup k jednotlivým prvkům polí.
ii. Vytvoření seznamu jednotlivých prvků polí.
iii. Seekvenční zpracování prvků polí.
31) Popište vkládání dat do „Vertex Arrays“, uveďte příkazy. Nápověda: ??(GLint size,
GLenum type, GLsizei stride, const GLvoid *pointer), ??(GLenum format, GLsizei stride,
void *pointer)
Lze provést dvěma způsoby:
a) 6-ti různými funkcemi gl*Pointer(…) z nichž každá specifikuje přístup do jednoho pole v prostoru klienta.
b) Pomocí jedné komplexní funkce pro prokládaná pole (InterleavedArrays) glInterleavedArrays(…)
ad a)
Nejprve aktivujeme odpovídající pole pomocí glEnableClientState(GL_***_ARRAY);
Na konci plnění dat pole deaktivujeme (glDisableClientState).
void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
void glColorPointer(GLint size, GLenum type, GLsizei stride, const Glvoid*pointer);
void glIndexPointer(GLenum type, GLsizei stride, const Glvoid*pointer);
void glNormalPointer (Glenum type, GLsizei stride, const Glvoid*pointer);
void glTexCoordPointer(GLint size, Glenum type, GLsizei stride, const Glvoid*pointer);
void glEdgeFlagPointer(GLsizei stride, const Glvoid*pointer);
size – počet prvků, například počet souřadnic na jeden vrchol
type - specifikuje datový typ, například GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE...
pointer - adresa v paměti obsahující první souřadnici.
stride - offset v bytech mezi následujícími vrcholy. Je-li 0, pak se předpokládá, že vrcholy jsou těsně za sebou. Offset se
počítá od ukazatele na první souřadnici!
Ad b)
Prokládaná pole (Interleaved Arrays). Příkaz glInterleavedArrays() provede současně aktivaci (pomocí
glEnableClientState() a glDisableClientState() ) všech použitých polí a přiřadí jim data v paměti.
void glInterleavedArrays(GLenum format, GLsizei stride, void *pointer);
stride - je offset v bytech mezi následujícími vrcholy. Je-li 0, pak se předpokládá, že vrcholy jsou těsně za sebou.
Pointer - je adresa v paměti obsahující první souřadnici.
format - je jedna ze 14 předdefinovaných konstant:
GL_V2F, GL_V3F, GL_C4UB_V2F,GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F,
GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3
Vloženo: 26.04.2009
Velikost: 122,93 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Mohlo by tě zajímat:
Reference vyučujících předmětu PV112 - Programování grafických aplikacíPodobné materiály
- PA103 - Objektové metody návrhu informačních systémů - Vypracované otázky zkouska
- PA151 - Soudobé počítačové sítě - Vypracovane_otazky
- PA159 - Počítačové sítě a jejich aplikace I - Otazky_vypracovane
- PB001 - Úvod do informačních technologií - Vypracovane_otazky
- PB001 - Úvod do informačních technologií - Úvod_do_IT_vypracovane_otazky
- PB009 - Základy počítačové grafiky - Vypracovane_otazky
- PB156 - Počítačové sítě - Vypracovane_otazky
- PV017 - Bezpečnost informačních technologií - Vypracované otázky
- PV019 - Geografické informační systémy I - Vypracovane_otazky
- PV157 - Autentizace a řízení přístupu - Vypracovane-otazky.
- PV182 - Komunikace člověka s počítačem - Vypracovane-otazky_podzim2008
- PV183 - Technologie počítačových sítí - Otazky-vypracovane
- SZMAP - Státní zkouška (magisterský studijní program Aplikovaná informatika) - Vypracovane_otazky_statnice_IS
- PV005 - Služby počítačových sítí - Vypracované otazky
- PA103 - Objektové metody návrhu informačních systémů - Vypracované otázky ze všech zkoušek
- PA152 - Implementace databázových systémů - 2012 testy vypracovane
- IA008 - Computational Logic - Otazky_jaro2008
- PA105 - Technologie informačních systémů II - Otazky-zpracovane
- PB009 - Základy počítačové grafiky - Otazky_jaro_2006
- PB029 - Elektronická příprava dokumentů - Zkusebni otazky
- PB114 - Datové modelování I - Teoretické otázky
- PB152 - Operační systémy - Otazky_komplet
- PB156 - Počítačové sítě - Otazky_site
- PV062 - Organizace souborů - Otazky
- PV062 - Organizace souborů - Otazky_and_Odpovedi
- PV112 - Programování grafických aplikací - Otázky
- PV203 - IT Services Management - Otazky_2008
- SZBAP - Státní zkouška (bakalářský studijní program Aplikovaná informatika) - Statnice- otazky-jaro-2006
- SZMAP - Státní zkouška (magisterský studijní program Aplikovaná informatika) - Otazky_jaro2006
- SZMAP - Státní zkouška (magisterský studijní program Aplikovaná informatika) - Otázky statnice_mgr_nav_apl_vseobecna_12_otazek
- PB007 - Analýza a návrh systémů - Otazky_ke_zkousce_2002
- PV123 - Základy vizuální komunikace - Otazky
- PV123 - Základy vizuální komunikace - Otazky_2
- IA062 - Randomized Algorithms and Computations - Zkouškoové otazky_04_06_2008
- IA062 - Randomized Algorithms and Computations - Zkouškové otázky 13_06_2007
- IA062 - Randomized Algorithms and Computations - Zkouškové otázky 2007
- IA062 - Randomized Algorithms and Computations - Zkouškové otázky 24.5.2006
- IA062 - Randomized Algorithms and Computations - Zkouškové otázky 31.5.2006
- IA062 - Randomized Algorithms and Computations - Zkouškové otázky a 31.5.2006
- IA157 - Logická analýza přirozeného jazyka II - Testové otazky_2007
- IV054 - Kódování, kryptografie a kryptografické protokoly - Zkouska 10_1_2003_zk_4_otazky
- PB114 - Datové modelování I - Teoreticke_otazky_doplneni_12_6_2007
- PB154 - Základy databázových systémů - Zkouška otazky_z_pisomiek
- PB151 - Výpočetní systémy - Otazky
- PB151 - Výpočetní systémy - Otazky_a_odpovedi
Copyright 2025 unium.cz


