VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
|
|
- Vratislav Hruška
- před 6 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND MULTIMEDIA GRAFICKÉ INTRO 64KB S POUŽITÍM OPENGL BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR JIŘÍ RŮŽIČKA BRNO 2014
2 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND MULTIMEDIA GRAFICKÉ INTRO 64KB S POUŽITÍM OPENGL GRAPHICS INTRO 64KB USING OPENGL BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR JIŘÍ RŮŽIČKA Ing. TOMÁŠ MILET BRNO 2014
3 Abstrakt Tato práce se zabývá problematikou tvorby grafického intra s omezenou velikostí. Popisuje jeho tvorbu a rozebírá metody a postupy, kterými se vyznačuje. Zabývá se procedurálním generováním, animací, vytvořením statických a dynamických textur a částicovými systémy. Abstract This work describes problem of creation graphic intros with limited size. It describes its creation and discusses the methods and procedures which characterize graphic intros. Main theme is about generation of procedural textures and models, animations, creation of static and dynamic textures and particle systems. Klíčová slova OpenGL, 64kB, Intro, procedurální generování, komprese spustitelného souboru, skybox, Phongův osvětlovací model, billboarding, GLSL, teselace Keywords OpenGL, 64kB, Intros, procedural generation, kompression of executable files, skybox, Phong reflection model, billboarding, GLSL, teselation Citace Jiří Růžička: Grafické intro 64kB s použitím OpenGL, bakalářská práce, Brno, FIT VUT v Brně, 2014
4 Grafické intro 64kB s použitím OpenGL Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením pana inženýra Tomáše Mileta. Uvedl jsem všechny literární prameny a publikace, ze kterých jsem čerpal Jiří Růžička 21. května 2014 Poděkování Rád bych poděkoval Ing. Tomáši Miletovi za jeho rady a trpělivost v průběhu práce. Dále bych rád poděkoval rodině a přátelům za podporu při tvorbě a dokončování práce. c Jiří Růžička, Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informačních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů.
5 Obsah 1 Úvod Historie a současnost inter Cíl práce Teorie OpenGL Grafické metody Procedurální generování Skybox Generování planet Implementace intra Knihovny Skybox Planeta Asteroid Slunce Částicový systém Animace Spustitelný soubor Omezená velikost a kkrunchy Experiment Závěr 27 A Plakát 29 1
6 Kapitola 1 Úvod Grafické intro je v podstatě upotávka či demo, které má ukázat schopnosti autora. Zpravidla se objevuje při startu aplikace a prezentuje jak programátorské schopnosti tak umělecké nadání autora ať již v hudbě nebo tvorbě 3D modelů. Intra většinou obsahují zajímavou scénu, 3D/2D efekty a zvukový doprovod. 1.1 Historie a současnost inter Grafická intra začla vznikat v osmdesátých letech jako práce počítačových pirátů. Ti je vkládali před hry a programy, kterým odstranily ochranu proti kopírování. Intro sloužilo jako ukázka schopností a podpis daného člověka či skupiny. Intra častokrát vypada lépe jak samotné aplikace a jejich velikost byla 1 až 4kB. Postupem času se z inter stala spíše umělecká díla. Autoři mezi sebou soupeří v několika kategoriích a snaží se udělat co nejlepší intro. Kdo by čekal, že taková intra nalezne při startu dnešních her a programů, tak by byl zklamán. Většinou se jedná o relativně velké videosekvence. Intra využívají nejnovejší možnosti grafických karet, aby měla co nejlepší efekty při stálé miniaturní velikosti. 1.2 Cíl práce Cílem této práce je vytvoření jednoho takového intra s velikostí do 64kB. Scéna bude umístěna ve vesmíru. Procedurálně generovaný skybox zahrnuje hvězdy a mlhoviny. Dalším prvkem bude planeta podobná Zemi s oceány a kontinenty. Do této planety v závěru animace narazí veliký asteroid. Scéna bude osvětlena nedalekou hvězdou, pro efekt stínu a odlesku bude použit Phongův osvětlovací model. Cílem práce je zjednodušená simulace nárazu asteroidu do planety, kde spustitelný soubor nepřesahuje 64kB. 2
7 Kapitola 2 Teorie Kapitola se zabýva prvky použitými pro vytvoření intra. Čtenář se zde seznámí s problematikou práce a možnostmi vytvoření grafického intra či jemu podobné aplikace. Jsou zde popsány prvky OpenGL, vysvětlení pojmu procedurální generování a jeho použití a grafické techniky, jako je Phongův osvětlovací model. 2.1 OpenGL OpenGL [9] je soubor knihoven pro vytváření počítačové grafiky. V této kapitole se podívame na její součásti a zaměříme se na prvky použité v této práci GLSL - OpenGL Shading Language GLSL je nedílnou součástí OpenGL API. Jedná se o programovací jazyk založený na syntaxi jazyka C obsahující specifické prvky pro grafiku. Grafická karta zpracovává části programu, ktere nazývame shadery. Shadery jsou zřetězeny za sebe a lze mezi nimy posílat data. Pro generovaní grafiky je vhodné rychle zvládat operace s vektory a maticemi, GLSL tedy zahrnuje dvou až čtyř rozměrný typ vektoru (vec2 až vec4) a matice (mat2 až mat4). Nad těmito typy jsou přímo na grafické kartě implementovány základní operace s maticemi a vektory. Další datový typ je sampler, který slouží k uchování textury. Kromě základních operací je implementován i rychlý přístup k prvkům vektoru (operátor swizzle). Pomocí tohoto operátoru lze přistupovat k prvků vektoru v daném pořadí. Vector4.zxy vytvoří vektor vec3 z původního čtyřsložkového vektoru a naplní ho prvky původního vektoru v zapsaném pořadí. Dále GLSL poskytuje širokou škálu funkcí pro míchání barev, matetické funkce, funkce pro práci s texturami a interpolační funkce VAO - Vertex buffer object Drží v sobě odkaz na buffer(y) obsahující vertex data, tedy informace o pozici vrcholů primitiv, ale i texturovací koordináty, normály a další potřebné data. Uživatel si sám může definovat jaká data, s jakým posunem (offset) a v jakém pořadí zde budou uloženy. Jednotlivé typy bufferů dohromady tvoří VAO, v kterém je tak uložený celý objekt se všemy daty. 3
8 Obrázek 2.1: Grafická pipeline (převzato z [2]) Shadery Shadery jsou zpracovávány na grafické kartě jako sada zřetězených programů. Jedná se o malé programy, každy se specifickou funkcí a účelem. Tento způsob zpracování je velmi efektivní, grafická karta má zpravidla mnoho procesorů, v kterých jsou zpracovávána data paralelně pro jednotlivé vrchnoly, texely či fragmenty objektů z grafické scény[9]. Nyní si popíšeme některé typy shaderů. Vertex shader Základní shader, zpracovává vrcholy primitiv z VAO. Ty zde můžou být transformovány pomocí modelové, pohledové či projekční matice. Tessellation control shader Tento shader je odpovědný za řízení teselace, definujeme mu kolikrát se bude primitivum dělit. Také zde lze aplikovat úpravy pozice vrcholů primitiv (deformace objektu). V počítačové grafice je teselací označován proces, kdy se z jednoduchého objektu vytváří složitější objekty s většími detaily, pomocí dělení primitiv. K tomuto účelu se používá například Catmull-Clark rozdělení povrchu[6]. Díky tomuto procesu můžeme z krychle vytvořit objekt podobný kouli, tedy s vyhlazeným povrchem. Díky tomuto principu lze u 3D modelu ušetřit mnoho dat a ty dopočítat podle potřeby při renderu scény. 4
9 Tessellation evaluation shader Následuje po kontrolním shaderu. Jeho úloha je interpolovat data přijatá od kontrolního shaderu a přeposlat je do následujícího shaderu. Pro každé primitivum může být tento shader spuštěn několikrát. Geometry shader Tento shader slouží k vlastnímu přidávání a odebírání vrcholů v primitivech. Definujeme formát vstupních a výstupních dat a také počet vrcholů na výstupu. Tímto shaderem tedy ovlivníme tvar výsledného objektu. Fragment shader Tento shader je z hlediska obrazové informace nejdůležitější. Objekt zde má již jasný tvar a zbývá ho jen obarvit, určit stínování a odlesk (Phongův osvětlovací model). Dochází zde k obarvení rasterizovaných primitiv tak, že je pro každý pixel spuštěn program shaderu. Zpracování pixelů probíhá paralelně. Ta může být převzata z textury nebo vypočítána. Výstupem je barva a hloubka Textury Textura je zpravidla dvourozměrné pole texelů se specifikovanou velikostí a formátem, kterým obalíme objekt, aby byl viditelný. Vzorek textury může být homogení či heterogení. Z textury lze brát data pro shader a nebo do ní vložit výstup z programu shaderu místo vykreslení výstupu přímo na obrazovku. Základní jednotkou textury je již zmíněný texel. Texely jsou při vykreslování mapovány do pixelů. Rasterová textura Klasický obrázek, komprimovaný nebo bez komprimace, je předem připravený. Pro grafické intro s omezenou velikosti je tento typ textury nevhodný, a pro svou velikost nelze využít. Procedurální textura Tento typ textury je generován po spuštění programu. Je proto ideální pro intro s omezenou velikostí. Rozměr a formát může být libovolný a kvalita textury je volitelná dle potřeby. Generování probíha pomocí různých algoritmů šumu, který je pak upraven tak, aby vypadal dle požadavků (např. jako mramor, dřevo, půda). Textůra může být generována pomocí algoritmu pro 3D šum a díky tomu lze obarvit objekty bez přechodu ze všech stran. Cubemapy - kubické mapy Speciální druh textury, který je vhodný pro 3D scénu, efekt, odrazy a osvětlení. Jedná se o šest dvourozměrných textur umístěnych do jednotkove krychle ve středu souřadnicového prostoru. Hodí se pro uložení textury např. pro skybox. Lze s nimy také obalit kulovité objekty tak, že objekt rovnoměrně obalíme. 5
10 2.1.5 FBO - Framebuffer object Abychom mohli generovat procedurální texturu a uložit si jí do paměti, potřebujeme na to nastavit grafickou kartu. Framebuffer object se může skládat z několika 2D polí jako jsou barevné buffery, hloubkový buffer či stencil buffer. K FBO si nejprve musíme vytvořit prázdné textury, těch může být i několik. Texturám nastavíme požadované parametry a připojíme je k FBO. Textury musíme nastavit jako attachment FBO. Výstupní hodnota fragment shaderu se po spuštění programu zapíše do nastaveného attachmentu. Poté aktivujeme textury a FBO je připraven k použití. 2.2 Grafické metody Jedná se o způsoby, jak vylepšit zobrazovanou scénu tak, aby se více podobala reálnému světu. Také umožňují optimalizovat vykreslování Phongův osvělovací model Osvětlovací model navržený Bui Tuong Phongem v roce 1973, založený na empirických zkušenostech nikoliv na fyzikálním modelu. Navzdory nepřesnostem vůči reálnému chování světa je výsledek velice dobrý a vypočetně málo náročný, proto se hodí pro real-time grafiku. Ve výpočtu figurují 4 vektory. Vektor N je normála v bodě, který pozorujeme. K pozorovanému bodu vedeme vektor V. Posledním prvkem je vektor paprsku dopadajícího světla L a jeho odraz vektor R. Paprsků světla může být i více. Obrázek 2.2: Zobrazení vektorů phongova modelu. Vektor světla L a jeho odraz L, normála v bodě odrazu N a vektor z místa pohledu V (převzato z [10]). Odraz světla se v Phongově modelu skládá ze tří složek. Ambientní, difúzní a spekulární. Intenzita odrazu je pak dána součtem těchto složek. Ambientní světlo C = C a + C d + C s (2.1) Je okolní rozptýlené světlo. Nelze určit jeho směr a tak se pouze vynásobí s odrazivostí daného materiálu. C a = I a k a (2.2) 6
11 Difúzní světlo Tento typ světla má konkrétní směr L a rozptyluje se rovnoměrně do prostoru a podle úhlu dopadu se mění intenzita. Pokud je vektorový součet normály a vektoru L roven nule nebo je záporný, pak je povrch odvrácen od zdroje světla. Spekulární světlo C d = I d k d ( L L ) (2.3) Světlá složka světla.udává intenzitu světla odraženého převážně v jednom směru. Kde n je Phongův exponent vyjadřující míru lesklosti Billboarding C s = I s k s ( V R) n (2.4) Jedná se o postup kdy se do 3D scény zobrazují efekty nanesené na 2D plochu. Ty pak tvoří dojem 3D objektu, jelikož jsou stále natočeny směrem ke kameře. Tímto způsobem se pak generují například částicové systémy či ruzné zajimavé efekty jako kouř a oheň, protože jejich vykreslení ve 3D by bylo obtížné a efekt by byl velice podobný, ale náročnost výpočtu o mnoho větší. Lze tím tedy uspořit drahocený výpočetní výkon. Obrázek 2.3: Ukázka generované hvězdné oblohy. Na scéně generující vesmír tak lze jednoduše tvořit atmosféru planet, záři hvězd a další efekty napřiklad po srážce dvou objektů. Pro vykreslení billboardu stačí mít jeden bod. V geometry shaderu si tento bod posuneme do správné pozice ve vykreslované oblasti pomocí ModelView matice, bod je získán z vertex shaderu: vec4 clip_pos = Modelview * gl_in[0].gl_position; 7
12 Z tohoto bodu potom generujeme 4 body, tak aby nám vytvořili čtverec. Přičteme/odečteme jedničku a získáme tak správné souřadnice. Body čtverce jsou násobeny projekční maticí, aby bylo docíleno správného natočení billboardu: gl_position = Projection*(clip_pos + vec4((-1+2*float(i%2)),(-1+2*float(i/2)),0,0)*0.1); Tato metoda generování billboardu je velice snadná na implementaci a dá se lehko modifikovat, pro docílení velmi pestrých efektů. 2.3 Procedurální generování S tvorbou grafiky, především s omezenou velikostí, souvisí generování textur a objektů pomocí algoritmů. Změny vzhledu celé scény pak lze dosáhnout velmi jednoduchou úpravou parametrů. U procedurálního generování je důležité aby výsledek práce byl pseudonáhodný. Tedy pro stejné parametry nám vygeneruje vždy stejný výsledek Funkce šumu a Perlinův šum Nejčastějším prvkem v procedurálním generování jsou různě funkce šumu, ne všechny jsou však vhodné pro generování toho co potřebujeme. Obyčejný šum generovaný běžným generátorem náhodných čísel, kterého se využívá běžně v informatice, je v této oblastí naprosto nevyhovující. Hlavní problém spočívá v tom, že šum je pokaždé náhodný a to i pro stejné vstupy. Při vykreslování scény bychom poté dostali pokaždé jiný výsledek, což je nežádoucí, protože pro některé případy by mohla scéna vypadat nevhodně. Dalším problémem je prudké střídání hodnot na výstupu, tyto generátory nemají spojitý výstup. Příklad kongruentního generátoru čísel, generujícího čísla v intervalu < 0, m): [h]x i+1 = (ax i + c) mod m (2.5) Kde x i je vstupní hodnota, x i+1 je následující prvek v řadě, a je multiplikativní člen, c je aditivní člen a m omezuje interval zhora. Omezení rozsahu generátoru je podle architektury počítače. V přírodě se u mnoha objektů dají objevit fraktální vlastnosti, viz [7]. Na první pohled se objekty jeví složité až neuspořádané, při podrobnějším zkoumání struktury bychom však objevili jisté vzory, jež jsou neměnné i pro různá měřítka. Jako ukázka může posloužit slavná Maldenbrotova množina. Jednou z nejvhodnějších možností pro vizualizaci podobných jevů v počítačové grafice představuje Perlinův šum. Funkci představi roku 1985 Ken Perlin na konferenci o počítačové grafice a interaktivních technikách v New Yorku. Při této příležitosti představil šum, který je dnes nazýván jako Pink noise. Původně prezentovaná funkce šumu funguje na odlišných principech. U funkce Pink noise se dosahuje simulace fraktálních vlastností součtem několika funkcí šumu o různé frekvenci. Ken Perlin dále vylepšoval šum, aby vyřešil problémy a omezení původní verze šumu. Vznikla tak funkce Simplex noise jejíž výhodou je menší počet interpolovaných hodnot, potřebných k získání hodnoty šumu v daném bodě. To znamenalo výrazné zrychlení výpočtu pro funkce s větším počtem dimenzí. Šum je také izotropní, nezávislý na směru, což může řešit mnoho problémů s anti-aliasingem. 8
13 Obrázek 2.4: Maldenbrotova množina, ukázka fraktálních vlastností. Perlinův šum [8] Metoda generování Perlinova šumu je obdobná jako pro náhodné generátory. Vstupními hodnotami jsou pak reálné funkce, na jejíchž základě jsou generovány pseudonáhodné hodnoty. To znamená, že narozdíl od náhodných generátorů je výstup pro stejné vstupy je pokaždé stejný. Také pokud jsou rozdíly mezi vstupy malé, výstupní hodnoty si budou velice podobné. Základem pro Perlinův šum je deterministický generátor pseudonáhodných čísel. Deterministický znamená, že vrací stejné hodnoty pro stejné vstupy, tím splňuje jeden z požadavků. Výstupem generátoru jsou čísla v intervalu < 1; 1 >. Čísla vygenerovaná tímto generátorem by nám, ale dávala moc hrubý výstup, proto se po vygenerování použije vyhlazení dat pomocí interpolace. Interpolací se také získávají hodnoty mezi jednotlivými prvky. Výsledná hodnota je průměrem aktuální hodnoty a hodnot okolních hodnot. Tím dojde k odstranění původní zrnitosti. Dalším krokem je součet několika interpolovaných funkcí dohromady. Výsledkem součtu jednotlivých šumových funkcí je šum, který podle barevného provedení dokáže napodobit oblaka, dřevo, mramor, vodu, oheň a další přírodní prvky. Obrázek 2.5: Několik 2D šumových funkcí, připravených na sloučení do výsledneho šumu (převzato z [3]). Perlinův šum počítá každý pixel zvlášť, proto u velikých mnoho-dimenzionálních 9
14 Obrázek 2.6: Výsledný hladký šum po součtu funkcí z předchozích obrázků. V šumu lze zahlédnou tvary původních funkcí. (převzato z [3]). aplikací může být výpočet velmi náročný. Základní náročnost algoritmu je O(2 n ). Při zvolení vhodných parametrů je zbytečné generovat mnoho oktáv, funkce se po několika oktávách měnit nebo naopak začne kmitat tak, že znehodnotí výsledek. Obrázek 2.7: Vliv perzistence na generování amplitud oktáv (převzato z [3]). Důležitým parametrem je i persistence. Ta zajišťuje rozmanitější průběh funkce. Ovlivňuje amplitudu a tak v později generováných oktávách dochází k ústupu nebo vzestupu kmitů s vysokou amplitudou. 10
15 2.4 Skybox V počítačové grafice je tak označována metoda vytvoření okolí scény, díky níž se docílí dojmu, že se zobrazená scéna jeví větší, než je její skutečná velikost. Myšlenka této metody je ve vykreslení vzdálených objektů, jako jsou hory, mraky, městské zástavby, okolního interiéru a podobně v závislosti na scéně. Tyto objekty nejsou složené z polygonů, ale jedná se pouze o texturu namapovanou na krychli nebo kvádr, který je vykreslený kolem scény. Skybox pak může být podle potřeby zvětšený nebo zmenšený. Obrázek 2.8: Ukázka rozloženého skyboxu (převzato z [5]). K namapování textury použijeme cube mapping. Textura pak může být předpřipravena nebo procedurálně generována jako v našem případě. Důležitu vlastností textur je jejich návaznost na hranách. Té lze docílit 3D generováním textur. Textury si lze předpřipravit nebo generovat pro každý snímek znova a tím tak měnit celou scénu. Skybox se nejčastěji skládá ze 6ti textur, ale pro různé učely lze některé stěny negenerovat. Je to vhodé například u statické scény, či pro spodní stěnu krychle kterou překrývá terén. Dojde tím k ušetření výpočetních zdrojů, což je velice žádoucí. 11
16 Obrázek 2.9: 2D výšková mapa aplikovaná v 3D scéně (převzato z [2]). 2.5 Generování planet Před vlastním generováním si je vhodné rozmyslet o jakou planetu půjde. Inspiraci v naší sluneční soustavě lze najít lehce. Planety zemského typu potřebují vygenerovat výškovou mapu, aby jejich povrch byl členitý a tuto mapu poté vhodně obarvit. Plynné planety lze generovat pomocí šumu podobně jako mraky nebo s víceméně jednobarevným povrchem (viz planety jako Uran a Neptun) Výšková mapa Jedná se o mapu výšek povrchu, která je s určitým stupněm hrubosti vyhlazena. Většina klasických scén je generována za pomoci 2D výškové mapy. Lze to provést s pomocí Perlinova šumu. Detailnější povrch je pak dále dotvořen například voxely. Generování výškové mapy pro kulovitý objekt nám, ale přináší problém spojení hran 2D mapy. Není to nemožné, ale pro generování v rámci intra s omezenou velikostí je to nevhodné. Raději jsem se tedy zaměřil na 3D šum a vygenerovaní výškové mapy z něj. Výšková mapa planety i asteroidu je generována pomocí 3D perlinova šumu. Transformace bodů jsou zaneseny do evaluačního shaderu a čistě kulatý objekt pak získá nepravidelný tvar. Tento postup by byl nevhodný pro generování větších detailů povrchu, pro takové detaily je vhodné aplikovat další deformace v rámci geometry shaderu s dotvořením dalších primitiv na povrchu Obarvení planet Když je již výšková mapa hotová, musíme planetu ještě vhodně obarvit. Na volbu barev je vhodné použít stejnou funkci šumu se stejnými parametry jako při generování výškové mapy, která poslouží jako základ pro barevné přechody. Lze pak jednoduše rozmístit oceány a kontinenty na planetě podobné Zemi, přesně podle vygenerovaných prohlubní a výstupku. Obarvení lze provéset vygenerováním 1D textury s barevným přechodem s vhodným rozložením barev. Při použití klasických funkcí jako mix() by výsledek povrchu byl neuspokojivý s minimálními přechody. Tato metoda by tedy vyhovovala pro tvorbu plynné 12
17 planety. 1D textura obsahuje přechod barev který je namapován na povrch podle funkce šumu z výškové mapy a tak může tvořit oceány, hory, břehy, pouště, zkrátka cokoliv. Tento způsob generování barvy povrchu je velice jednoduchý a poskytuje uspokojující výsledky. 13
18 Kapitola 3 Implementace intra V této kapitole se podíváme na vlastní implementaci této práce. Zmíníme použité metody, knihovny a způsob implementace. 3.1 Knihovny Kromě standartních knihoven je nutno použít knihovnu s OpenGL, konkrétně GLEW. Mimo tu využívám knihovny pana Ing. Lukáše Poloka (používá ve zdrojových kódech přezdívku -the SWINE-) pro jednoduší ovládání OpenGL a operace s vektory a maticemi. Pro vytvoření okna programu a procedury spojené se vstupem z klávesnice a práci s oknem používám pouze WinAPI, tedy základní funkce poskytované systémem Windows od Microsoftu. GLEW - OpenGL Extension Wrangler Multiplatformní knihovna psaná v pro C a C++, která pomáhá v v přístupu a ovládání OpenGL rozšíření. Umožňuje práci s grafickým řetězcem a efektivní ovládání požadovaných rozšíření. 3.2 Skybox Vlastní skybox je generovaný před spuštěním animace celého intra a po dobu běhu se nemění. Jedná se tedy o statickou texturu. Ta je vygenerována do textury cubemapy pro jednoduší manipulaci a následné použití. Skybox se skládá ze dvou prvků, tvoří ho hvězdy a mlhoviny Hvězdy Základem pro vytvoření hvězdné oblohy je 3D Perlinův šum. Jelikož perlinův šum tvoří spojité textury mohl by se zdát nevhodný pro generování bodů v prostoru. Výsledný šum je tedy ořezán a hvězdy tvoří jen vrcholy amplitud šumu. Tento postup nazýváme prahování. Šum pro vytvoření hvězd generuji následovně: Noise(v* ,7,1.6,1.5,8)*.5+.5 Kde v je vektor vyjadřující pozici bodu v prostoru vůči počátku souřadného systému. Tento vektor je zvětšený a posunutý, protože perlinův šum je kvalitnější dále od středu souřadného 14
19 (3.1) Obrázek 3.1: Matice pro aplikované Gaussovo rozostření. Obrázek 3.2: Ukázka generované hvězdné oblohy. systému. Další parametry jsou frekvence, perzistence, amplituda a počet oktáv, v tomto pořadí. Výsledek vrácený touto funkcí je v intervalu < 1; 1 >. Jelikož funkci používám pro výpočet barvy, která je definovaná jen pro kladné hodnoty, musím výsledek posunou to správneho intervalu. Tedy interval vydělím dvěma a posunu o 0.5 do kladné části. Dále aby hvězdy nevypadaly neuměle a místy hranatě je aplikován jednoduchý Gaussův filtr. Pomocí konvoluce tak dosáhneme mnohem lepšího výsledku. Viz zdrojový kód fragment shaderu 3.5 Pokud bychom počítali skybox pro každý snímek aminace znova, nešlo by použít mnou použitý postup, pro náročnost vykreslení. Gaussův filtr v každém texelu vyžaduje vygenerování okolních 8 bodů. To je výpočetně velice náročné, protože body jsou generovány pomocí Perlinova 3D šumu. Můj skybox je však generován staticky, před spuštěním samotné animace. Při prvním experimentu s filtrem jsem zaznamenal velkou počáteční prodlevu před startem animace. Textury, které generuji pro skybox mají veliké rozlišení a tak i pro výkonější grafické karty to není uplně snadný výpočet. Po testech s gaussovým filtrem s maticí 3*3 jsem upustil od myšlenky použít větší, pro lepší kruhové rozmazání. Nároky na výpočet by byli neúměrné výsledku. Pro rozmazání by bylo vhodnější zvolit jiný postup generování textury Mlhoviny Aby nebyl prostor mezi hvězdami prázdný, je zde generováno množství mlhovin a mezihvězdných prachových mračen. Ty jsou generovány stejnou šumovou funkcí pouze s jinou frekvencí. Výsledný šum je obarvený s modrofialovým nádechem. Postupného plynulého přechodu mezi barvami je docíleno pomocí funkcí smoothstep a mix, díky nímž lze udělat jednoduchý přechod barev jen na určeném intervalu. 15
20 Obrázek 3.3: Použití funkce smoothstep v praxi. Obrázek 3.4: Ukázka generované hvězdné oblohy s mlhovinami. Při obarvování jsou i některé hvězdy obarveny mlhou, vzniká tím tak lepší dojem z hvězdné oblohy. 3.3 Planeta Pro vytvoření planety je nutné vygenerovat kouli. Základem pro generování mé planety je pravidelný dvacetistěn [4] (icosahedron). Z něj se postupně pomocí teselace generuje koule. Pro teselaci jsem zvolil experimentálně vnitřní i vnější parametr 12, protože při větším přiblížení bylo vidět značné zalomení povrchu planety. Bohužel parametr teselace ovlivňuje vypočetní náročnost a tak není vhodné volit čísla příliš vysoká. Po experimentování s hladkým povrchem planety jsem dospěl k názoru, že povrch planety by měl být mírně deformován, aby reflektoval texturu povrchu, která zobrazuje hory a oceány. V evaluačním shaderu teselace byly vrcholy vynásobeny tak, aby se povrch zdeformoval přesně pod texturou. Docílil jsem toho tak, že jsem použil stejnou šumovou funkci jako pro generování textury, jen s nižší amplitudou výsledné hodnoty. Výsledek pak vytváří výškovou mapu v 3D. Po několika experimentech bylo jasné, že přílišná výchylka povrchu planety nepůsobí 16
21 #version 400 // zde je vložen další kód pro perlinův 3D šum in vec3 pos1; uniform int face; // označení stěny krychle layout(location = 0) out vec4 color; void main(){ float col = 0.0f; vec3 vector; // matice rozostření mat3 blur = mat3(vec3(0.01,0.08,0.01),vec3(.08,.64,.08),vec3(.01,.08,.01)); // výpočet barvy bodu je složen z okolních osmi bodů s aplikací Gaussovy matice for(int i = -1; i<=1; i++) for(int j = -1; j<=1; j++){ float c; vec3 v = vec3(0,0,0); vec2 coord = gl_fragcoord.xy; coord.x += i; coord.y+= j; // posunutí v matici //výběr stěny skyboxu a její otočení if(face == 0) v = vec3(-1,(coord.yx/vec2(1920,1920)*2-1)*vec2(1,-1)); if(face == 1) v = vec3(1,(coord.yx/vec2(1920,1920)*2-1)); if(face == 2) v = vec3((coord.x/1920.*2-1)*-1, -1, (coord.y/1920.*2-1)*1); if(face == 3) v = vec3((coord.x/1920.*2-1)*-1, 1, (coord.y/1920.*2-1)*-1); if(face == 4) v = vec3((coord.x/1920.*2-1)*-1,(coord.y/1920.*2-1),1); if(face == 5) v = vec3(((coord.xy/vec2(1920,1920))*2-1),-1); if(i == 0 && j == 0) vector = v; c = Noise(v* ,7,1.6,1.5,8)*.5+.5; //prahování a aplikace rozostření col += (c>.8)? c*blur[i+1][j+1] : 0; } vector = normalize(vector); // pozice aktuálního bodu pro generování šumu float col2 = Noise(vector* ,1,1.7,1,8); //výsledná barva texelu se skládá zde color = vec4(col,col,col,1.0) + //základní hvězdy bílé, rozostřené 0.5*mix(vec4(col2),vec4(32/255,100/255,1,0.5),smoothstep(0.0, 1., col2)) + //mlhoviny 0.5*mix(vec4(col2),vec4(32/255,36/255,1,1),smoothstep(0.0, 1.0, col)); //dobarvení mlhovin a některých hvězd } Obrázek 3.5: Ukázka fragment shaderu pro generování stěn skyboxu s dodaným komentářem. 17
22 Obrázek 3.6: Ukázka vlivu teselačních konstant na výsledný objekt. (převzato z [4]). dobře. Na první pohled z větší vzdálenosti se vysledek může zdát dokonale hladký, při bližším pohledu je ale patrná mírná deformace. Planeta je generována jako terestrická planeta podobná Zemi. Na jejím povrchnu jsou opět pomocí šumu generovány kontinenty a oceány za použití výškové mapy. Kraje oceánu a země jsou tvořeny barevným přechodem (inspirováno z [1], stejně tak vrcholy hor. Severní a jižní pól planety je zabarven více do bíla a tvoří tak dojem polárních oblastí. Planeta je osvícena nedalekou hvězdou, jedna její polovina je tak temné a druhá světlá. Povrch planety v místech, kde je vodní hladina, vytváří větší odlesk (spekulární složka světla) než povrch, kde je pevnina. Rotace je zajištěna transformací modelové matice. Kolem planety se generuje mírně namodralá atmosféra. Barva je zvolena vzhledem k pozadí, na kterém by bíla průhledná textura zanikala. Atmosféra je generována na čtverec, který je pořád natočený směrem ke kameře (viz billboarding). Je zde uplatněn blending, aby atmosféra působila průhledně vzhledem k hvězdnému pozadí. Pokud bychom ji měli přirovnat k reálné atmosféře naší planety, jednalo by se o nejvyšší vrstvy velmi řídkého vzduchu. V průběhu animace se planeta promění. Po nárazu asteroidu, který má značnou velikost, se celý povrch planety přemění na roztavené horniny. 3.4 Asteroid Stejně jako u planety, je základem pro generování asteroidu koule respektive dvacetistěn. Při teselaci je ale zavedena mnohem hrubší transformace povrchu. Vzhled asteroidu je podobný krystalům ledu s prachem usazeným na povrchu. Pohyb asteroidu je v kolizním kurzu s planetou a je řízen globálním časem. V jistém okamžiku, kdy narazí do planety, je spuštěna animace částícového systému a po zanoření 18
23 Obrázek 3.7: Detail nerovného povrchu planety. Obrázek 3.8: Ukázka vygenerované terestrické planety. 19
24 Obrázek 3.9: Planeta po nárazu asteroidu. Obrázek 3.10: Vygenerovaný asteroid. 20
25 do planety, tedy po tom co zmizí ze zobrazené scény, je vypuštěno i jeho vykreslování v rámcí intra. 3.5 Slunce V několika záběrech kamery se objevuje i blízká hvězda. Ta je umístěna na pozici světelného zdroje a dotvaří dojem osvětlené scény. Pozice hvězdy je po celou dobu animace neměnná. Je definována vektorem: Vector4f sun(-50.0f,-1.0f,-1.0f,1.0f); O vykreslení se stará jednoduchá sada vertex a fragment shaderu. Do fragment shaderu jsou zadány souřadnice pro dva trojúhelníky. Ty vytvoří čtverec, na který potom vykresluji texturu hvězdy. Pozice hvězdy je přenásobena View maticí tak, aby se nacházela přesně v místě zdroje světla a pomocí projekční matice je docíleno billboardingu - hvězda je tedy 2D textura natočená stále směrem ke kameře. Textura hvězdy je složena ze žhavého kotouče a okolní koróny. Koróny je docíleno pomocí blendingu textury do ztracena. Pomocí přechodu je namapována barva, které určuje průhlednost vektor vzdálenosti od středu hvězdy. Žhavý kotouč je tvořen přechodem žluté barvy se zarudlým okrajem. Obrázek 3.11: Vygenerovaná hvězdy v pozadí planety. 21
26 3.6 Částicový systém Tento efekt je vykreslen až od času události srážky asteroidu a po uplynutí krátké doby zmizí. Částice jsou generovány z místa nárazu asteroidu do planety a pomocí billboardingu tvoří 3D dojem. Částice jsou generovány pomocí Perlinova šumu, kde jako vstupní parametr Obrázek 3.12: Částicový systém. je ID spuštění vertex shaderu s posunem. Díky tomu je pro každou částici generován jiný směrový vektor a ty se tedy rozletí do různých stran. Částicový systém jsem doplnil rázovou vlnou šířící se z místa dopadu asteroidu do okolí. Vlna je tvořena obdobně jako slunce, nanesena na zvětšující se čtverec, umístěný na tečně mezi střede asteroidu a planety. Barvy vlny je generována obdobně jako slunce, s tím rozdílem, že barva je nanesena od ostrých krajů a směrem do středu je barva zprůhledněna. 3.7 Animace Animace intra se skládá z několika záběrů kamery, rotace objektů, nárazu a výbuchu. Kamera se přemisťuje podle pohybu objektů v závislosti na aktulní části animace. Experimentálně jsem hledal vhodnou polohu kamery a její pohyb tak, aby animace působila zajímavě a byla zobrazena ze všech možných ůhlú. Nastavení kamery provádím pomocí View matice, kterou si pomocí knihovny nastavím tak, aby se chovala jako OpenGL funkce LookAt. Požadovanou funkci mi poskytuje knihovna na transformaci matic a vypadá takto: CGLTransform::LookAt(View, posx, posy, posz, lookatx,lookaty,lookatz, 22
27 Obrázek 3.13: Rázová vlna po nárazu asteroidu. upx,upy,upz); Jde vlastně o tři vektory - pozice kamery, pozice bodu, na který hledíme a orientace kamery tzv. up vektor. Výsledek je poté vložen do View matice, která je prvním parametrem funkce. Tuto matici pak předávám všem objektům a upravenou matici používám pro natočení skyboxu. Pohyb kamery a objektů na scéně je řízen modelovým časem. V animaci používám dva druhy času. Jeden je čistě modelový a jsou pomocí něj vykreslovány kroky animace, pohyb kamery, částicový efekt. Tento čas nesouvisí s reálným časem. Druhý čas je počítán podle obrázků za sekundu (fps). Následuje přepočet na modelový čas a poté vykreslení simulace. Volitelně tedy mohu v rámci zdrojového kódu nastavit, jak rychle se budou promítat animace a to bez změny modelového času. Pokud by byl použit pouze modelový čas bez reflexe reálného výpočtu, animace by běžela zpomaleně nebo zrychleně podle výpočetního výkonu počítače. 23
28 Kapitola 4 Spustitelný soubor Vývoj mého intra probíhal pouze na operačním systému Windows a proto je výsledkem spustitelný soubor právě pro tento systém (testováno na Windows 8 64-bit). Dalším požadavkem mohou být specifické parametry grafické karty. Teselační shadery, které používám, jsou dostupné až u grafických karet s OpenGL v4.0 a vyšší. Aplikace má toto ošetřené v ovladači grafiky a pokud požadavek není splněn, je to oznámeno uživateli v kontextovém okně. U slabších počítačů může být běh aplikace zpomalený a její start může trvat několik sekund, kvůli generování grafiky. Program lze z konzole spustit se dvěma parametry. Jeden pro zapnutí fullscreen ( full) a druhý pro výpis FPS do konzole ( fps). Na jejich pořadí nezáleží. Intro.exe --full --fps 4.1 Omezená velikost a kkrunchy Grafická intra omezená prostorem mají velký problém, protože i za použití různých optimalizací často přesahují požadovanou velikost. To je způsobeno také standartními překladači, protože ty nejsou navrženy pro takovou funkci a musí se chovat korektně pro veškeré programy. Intra většinou obsahují specifický kód a proto by šlo některé náležitosti zanedbat a vynechat tak, aby velikost spustitelného souboru byla mensší. Naštěstí komunita kolem této tvorby je dostatečně široká a tak existují různé programy na komprimaci výsledného spustitelného souboru. Německá kupina farbrauch, respektive její člen, naprogramoval malý komprimační prográmek kkrunchy, který dokáže zmenšit spustitelný soubor. Kromě zmenšení umí určit, o kolik je náš kód větší neř požadovaná referenční velikost. Použití: kkrunchy k7.exe --best --refsize 64 --out cintro.exe Intro.exe (4.1) Kde --best je parametr pro nejlepší způsob komprimace, --refsize 64 je referenční velikost požadovaného výsledného souboru, my cílime na 64kB, --out cintro.exe je jméno výstupního souboru a poslední parametr je název souboru ke komprimaci. kkrunchy je určený jen pro 32-bitové aplikace a používajího i ostatní velké skupiny, které vytváří grafická intra různé velikosti. 24
29 Ukázka výstupu programu kkrunchy použítého na mé intro. Výstup byl zmenšen přibližně na třetinu velikosti: >kkrunchy_k7.exe --best --refsize 64 --out cintro.exe Intro.exe kkrunchy 0.23 alpha 2 >> radical exe packer (c) f. giesen no symbol info present - preprocessing, filtering & reslicing - packing [################################] => 8056 bytes (in 0.03s) - WARNING: Manifest present and stored uncompressed. - WARNING: Resources present, this decreases compression a bit - WARNING: Out ImageBase 0x3e0000 lower than 0x400000, won t run under Win9x - writing output file cintro.exe - packed executable > bytes - delta to reference size: bytes Pro rychlé vygenerování komprimované verze je přiložen spustitelný skpript kkrunchy-compress.bat, který obsahuje výše zmíněné parametry. 4.2 Experiment Na hotové práci jsem chtěl otestovat závislost FPS na průběhu jedné periody animačního cyklu. Hodnoty FPS jsou velice vysoké, což značí, že bych mohl zvyšovat dále výpočetní náročnost. Pro ilustraci náročnosti výpočtu částicového systému a zrychlění běhu simulace následuje průběh FPS hodnost. Test byl proveden s parametem full na notebooku MSI GE60 s grafickou kartou NVidia GTX 660M, rozlišení scény bylo 1920 * 1080 bodů. Obrázek 4.1: Graf závislosti FPS na čase animace. 25
30 Začátek intra je ovlivněn generováním statických textur pro skybox. K největšímu poklesu FPS došlo při nárazu asteroidu do planety v čase okolo 40 sekundy a poté při zrychleném vracení se časem v závěru smyčky. 26
31 Kapitola 5 Závěr Cílem práce bylo vytvořit grafické intro s omezenou velikostí. Pro účely demonstrace možností OpenGL jsem si vybral prostředí vesmíru a vymodeloval jsem jednoduchou kolizi planety s velkým asteroidem. Než jsem začal pracovat na této práci, měl jsem o tvorbě grafických aplikací a modelování velmi málo informací. Při vytváření práce jsem se tedy seznámil s možnostmi OpenGL, s procedurálním generováním, použitím šumu v generované grafice. Dále jsem zkoumal další možnosti, které jsem nakonec nevyužil (ať již kuli složitosti implementace nebo špatné možnosti zapomponování do mojí scény) jako metody stínování, L-systémy či volumetrické generování. Intro slouží jako základní ukázka práce s OpenGL a GLSL. Dalo by se dále rozšiřovat a upravovat. Lákavá je myšlenka vygenerování sluneční soustavy a průlet skrz ní až k místu kolize. Pro tento účel by se muselo dynamicky měnit množství generovaných detailů. Také by bylo vhodné doplnit intro o stínování a zvukový doprovod. K tomu by bylo zapotřebí mnohem více času, který jsem bohužel neměl a tak jsem se zaměřil na základní možnosti generování grafiky s omezenou velikostí. Obrázek 5.1: Ukázka začátku intra. 27
32 Literatura [1] GLSL Sandbox [online]. [cit ]. [2] OpenGL tutorial - Lighthouse3D. [cit ]. [3] Perlin noise. [online]. perlin.htm, [cit ]. [4] Triangle Tessellation with OpenGL 4.0 [online]. [cit ]. [5] Tutorial 25 - Skybox. [cit ]. [6] Catmul, E.; Clark, J.: Recursively generated B-spline surfaces on arbitrary topological meshes. 1978, doi: / (78) [7] Mandelbrot, B. B.: The Fractal Geometry of Nature. W. H. Freeman and Co., 1982, ISBN [8] Perlin, K.: Makeing noise. [online] [cit ]. [9] SEGAL, M.; AKELEY, K.: The OpenGL Graphics System: A Specification (Version 4.3 (Core Profile)) [10] Tišnovský, P.: Phongův osvětlovací model. [online]. [cit ]. 28
33 Příloha A Plakát 29
Fakulta informačních technologíı. IZG cvičení 6. - Zobrazování 3D scény a základy OpenGL 1 / 38
IZG cvičení 6. - Zobrazování 3D scény a základy OpenGL Tomáš Milet Ústav počítačové grafiky a multimédíı Fakulta informačních technologíı Vysoké učení technické Brno IZG cvičení 6. - Zobrazování 3D scény
Android OpenGL. Pokročilé shadery
Android OpenGL Pokročilé shadery Struktura programu Reálná aplikace zpravidla obsahuje více než jeden shader Kód pro inicializaci shaderu je dobré mít ve třídě (méně opisování stejného kódu) Shadery není
Základy 3D modelování a animace v CGI systémech Cinema 4D C4D
EVROPSKÝ SOCIÁLNÍ FOND Základy 3D modelování a animace v CGI systémech Cinema 4D C4D PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Mgr. David Frýbert 2013 CGI systémy Computer - generated imagery - aplikace
2D grafika. Jak pracuje grafik s 2D daty Fotografie Statické záběry Záběry s pohybem kamery PC animace. Počítačová grafika, 2D grafika 2
2D grafika Jak pracuje grafik s 2D daty Fotografie Statické záběry Záběry s pohybem kamery PC animace Počítačová grafika, 2D grafika 2 2D grafika PC pracuje s daným počtem pixelů s 3 (4) kanály barev (RGB
Android OpenGL. Práce s texturami
Android OpenGL Práce s texturami Textura Obrázek, který jsme schopní nanášet na 3D objekty S použitím shaderů mnohem víc než to Může obsahovat jiné vlastnosti povrchu, než jen barvu (reliéf, lesklost,
Připravil: David Procházka. Vertex Buffer Objects
30. září 2013, Brno Připravil: David Procházka Vertex Buffer Objects Počítačová grafika 2 Obsah přednášky Strana 2 / 22 Obsah přednášky 1 Obsah přednášky 2 Vertex Buffer Objects 3 Příklady 4 Shrnutí Obsah
Základy vizualizace. Výpočetní metody
10 Základy vizualizace Reálným zobrazováním se zabývá samostatný obor nazvaný Vizualizace. Podstata většiny vizualizačních systémů vychází z jednoduché koncepce skupin objektů, které nazýváme Scéna. Základní
13 Barvy a úpravy rastrového
13 Barvy a úpravy rastrového Studijní cíl Tento blok je věnován základním metodám pro úpravu rastrového obrazu, jako je např. otočení, horizontální a vertikální překlopení. Dále budo vysvětleny různé metody
Reflections, refractions, interreflections
:: gs Reflections, refractions, interreflections Odrazy a lomy světla Grafické systémy David Sedláček 2004 :: fyzika Zákon odrazu Lom světla Snellův zákon Fresnelova rovnice poměr prošlého a odraženého
Programátorská dokumentace
Programátorská dokumentace Požadavky Cílem tohoto programu bylo představit barevné systémy, zejména převody mezi nejpoužívanějšími z nich. Zároveň bylo úkolem naprogramovat jejich demonstraci. Pro realizaci
Programování shaderů GLSL
Programování shaderů GLSL Příklad vertex shader Tutor1-Flat Změna geometrie ve VS Nastavení z podle hodnoty získané z aplikace uniform App: loc=gl.glgetuniformlocation(sp,"ftime0_x"); gl.gluniform1f(loc,time);
Návod k použití softwaru Solar Viewer 3D
Návod k použití softwaru Solar Viewer 3D Software byl vyvinut v rámci grantového projektu Technologie a systém určující fyzikální a prostorové charakteristiky pro ochranu a tvorbu životního prostředí a
Co je grafický akcelerátor
Co je grafický akcelerátor jednotka v osobním počítači či herní konzoli přebírá funkce hlavního procesoru pro grafické operace graphics renderer odlehčuje hlavnímu procesoru paralelní zpracování vybaven
9 Prostorová grafika a modelování těles
9 Prostorová grafika a modelování těles Studijní cíl Tento blok je věnován základům 3D grafiky. Jedná se především o vysvětlení principů vytváření modelů 3D objektů, jejich reprezentace v paměti počítače.
3D grafika. Proces tvorby sekvence s 3D modely Sbírání údajů na natáčecím place Motion capture Matchmoving Compositing
3D grafika Proces tvorby sekvence s 3D modely Sbírání údajů na natáčecím place Motion capture Matchmoving Compositing Počítačová grafika, 3D grafika 2 3D grafika CGI = computer graphic imagery Simulace
Semestrální práce Mozaika aneb Co všechno umí pan Voronoi
Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Semestrální práce Mozaika aneb Co všechno umí pan Voronoi Plzeň, 2008 Aubrecht Vladimír Obsah 1 Zadání...
Osvětlování a stínování
Osvětlování a stínování Pavel Strachota FJFI ČVUT v Praze 21. dubna 2010 Obsah 1 Vlastnosti osvětlovacích modelů 2 Světelné zdroje a stíny 3 Phongův osvětlovací model 4 Stínování 5 Mlha Obsah 1 Vlastnosti
Studentská tvůrčí a odborná činnost STOČ 2013 3D MODELY STROMŮ PRO VYUŽITÍ V REAL-TIME APLIKACI. Michaela Brázdilová
Studentská tvůrčí a odborná činnost STOČ 2013 3D MODELY STROMŮ PRO VYUŽITÍ V REAL-TIME APLIKACI Michaela Brázdilová STOČ 25. dubna 2013 UTB ve Zlíně, Fakulta aplikované informatiky, 2013 2 OBSAH ANOTACE...
Webové stránky. 16. Obrázky na webových stránkách, optimalizace GIF. Datum vytvoření: 12. 1. 2013. str ánk y. Vytvořil: Petr Lerch. www.isspolygr.
Webové stránky 16. Vytvořil: Petr Lerch www.isspolygr.cz Datum vytvoření: 12. 1. 2013 Webové Strana: 1/6 Škola Ročník Název projektu Číslo projektu Číslo a název šablony Autor Tématická oblast Název DUM
Animace a geoprostor. První etapa: Animace 2. přednáško-cvičení. Jaromír Landa. jaromir.landa@mendelu.cz Ústav informatiky PEF MENDELU v Brně
Animace a geoprostor První etapa: Animace 2. přednáško-cvičení Jaromír Landa jaromir.landa@mendelu.cz Ústav informatiky PEF MENDELU v Brně Náplň přednáško-cvičení - Flamingo Prostředí Nekonečná rovina
12 Metody snižování barevného prostoru
12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů
11 Zobrazování objektů 3D grafiky
11 Zobrazování objektů 3D grafiky Studijní cíl Tento blok je věnován základním algoritmům zobrazení 3D grafiky. Postupně budou probrány základní metody projekce kolmé promítání, rovnoběžné promítání a
Textury a šumové funkce
Textury a šumové funkce 1998-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Textures 2016 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 28 Účinek textury modulace
Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO
Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO 1 Základní dělení 3D grafika 2D grafika vektorová rastrová grafika 2/29 Vektorová grafika Jednotlivé objekty jsou tvořeny křivkami Využití: tvorba diagramů,
Terestrické 3D skenování
Jan Říha, SPŠ zeměměřická www.leica-geosystems.us Laserové skenování Technologie, která zprostředkovává nové možnosti v pořizování geodetických dat a výrazně rozšiřuje jejich využitelnost. Metoda bezkontaktního
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi
Rekurzivní sledování paprsku
Rekurzivní sledování paprsku 1996-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 21 Model dírkové kamery 2 / 21 Zpětné sledování paprsku L D A B C 3 / 21 Skládání
Využití ICT techniky především v uměleckém vzdělávání. Akademie - VOŠ, Gymn. a SOŠUP Světlá nad Sázavou
Datum: 1. 12. 2013 Projekt: Registrační číslo: Číslo DUM: Škola: Jméno autora: Název sady: Název práce: Předmět: Ročník: Obor: Časová dotace: Vzdělávací cíl: Pomůcky: Využití ICT techniky především v uměleckém
7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem
7 Transformace 2D Studijní cíl Tento blok je věnován základním principům transformací v rovinné grafice. V následujícím textu bude vysvětlen rozdíl v přístupu k transformacím u vektorového a rastrového
zdroj světla). Z metod transformace obrázku uvedeme warping a morfing, které se
Kapitola 3 Úpravy obrazu V následující kapitole se seznámíme se základními typy úpravy obrazu. První z nich je transformace barev pro výstupní zařízení, dále práce s barvami a expozicí pomocí histogramu
ak. rok 2013/2014 Michal Španěl, spanel@fit.vutbr.cz 24.2.2014
Zadání projektu Texturování Základy počítačové grafiky (IZG) ak. rok 2013/2014 Michal Španěl, spanel@fit.vutbr.cz 24.2.2014 1 První seznámení Cílem projektu je pochopení praktických souvislostí témat přednášek
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Úlohy nad rastrovými daty Daniela
Úvod do počítačové grafiky
Úvod do počítačové grafiky elmag. záření s určitou vlnovou délkou dopadající na sítnici našeho oka vnímáme jako barvu v rámci viditelné části spektra je člověk schopen rozlišit přibližně 10 milionů barev
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
1.8. Úprava uživatelského prostředí AutoCADu 25 Přednostní klávesy 25 Pracovní prostory 25
Obsah 1 Novinky v AutoCADu 2006 11 1.1. Kreslení 11 Dynamické zadávání 11 Zvýraznění objektu po najetí kurzorem 12 Zvýraznění výběrové oblasti 13 Nový příkaz Spoj 14 Zkosení a zaoblení 15 Vytvoření kopie
Obsah. Úvod do prostorového modelování 9. Prostředí AutoCADu při práci ve 3D 15 KAPITOLA 1 KAPITOLA 2
KAPITOLA 1 Úvod do prostorového modelování 9 Produkty společnosti Autodesk 9 3D řešení 10 Vertikální řešení založené na platformě AutoCAD 10 Obecný AutoCAD 11 Obecné 2D kreslení 11 Prohlížeče a pomocné
Textury v real-time grafice. 2004-2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz
Textury v real-time grafice 2004-2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz Textury vylepšují vzhled povrchu těles modifikace barvy ( bitmapa ) dojem hrbolatého
Konverze grafických rastrových formátů
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ OBOR GEODÉZIE A KARTOGRAFIE KATEDRA MAPOVÁNÍ A KARTOGRAFIE Konverze grafických rastrových formátů semestrální práce Jakub Hořejší Ondřej Šalanda V
Satori. Uživatelský manuál
Satori Uživatelský manuál Obsah Satori...1 1. Program... 3 1.1 Cíle hry... 3 1.2 Požadavky...3 1.3 Instalace... 4 1.4 Ovládání... 4 1.5 Grafika...4 1.6 Zvuky...4 1.7 Soubory...4 1.8 Menu...5 1.9 Nastavení...
Reprezentace 3D modelu
Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 1/25 Reprezentace 3D modelu Ing. Jan Buriánek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké
Vektorové grafické formáty
Vektorové grafické formáty Semestrální práce na předmět KAPR Fakulta stavební ČVUT 28.5.2009 Vypracovali: Petr Vejvoda, Ivan Pleskač Obsah Co je to vektorová grafika Typy vektorových formátů Souborový
BPC2E_C08 Parametrické 3D grafy v Matlabu
BPC2E_C08 Parametrické 3D grafy v Matlabu Cílem cvičení je procvičit si práci se soubory a parametrickými 3D grafy v Matlabu. Úloha A. Protože budete řešit transformaci z kartézských do sférických souřadnic,
Laserové skenování (1)
(1) Prohloubení nabídky dalšího vzdělávání v oblasti zeměměřictví a katastru nemovitostí ve Středočeském kraji CZ.1.07/3.2.11/03.0115 Projekt je finančně podpořen Evropským sociálním fondem astátním rozpočtem
Studentská tvůrčí a odborná činnost STOČ 2017
Studentská tvůrčí a odborná činnost STOČ 2017 3D VIZUALIZACE NEREALIZOVANÉHO NÁVRHU VLAKOVÉHO NÁDRAŽÍ VE ZLÍNĚ Z ROKU 1942 Lukáš LAŠTŮVKA Nad Stráněmi 4511, 760 05 Zlín 20. dubna 2017 FAI UTB ve Zlíně
Modelování a simulace Lukáš Otte
Modelování a simulace 2013 Lukáš Otte Význam, účel a výhody MaS Simulační modely jsou nezbytné pro: oblast vědy a výzkumu (základní i aplikovaný výzkum) analýzy složitých dyn. systémů a tech. procesů oblast
Diplomová práce Prostředí pro programování pohybu manipulátorů
Diplomová práce Prostředí pro programování pohybu manipulátorů Štěpán Ulman 1 Úvod Motivace: Potřeba plánovače prostorové trajektorie pro výukové účely - TeachRobot Vstup: Zadávání geometrických a kinematických
Zobrazování a osvětlování
Zobrazování a osvětlování Petr Felkel Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 na Karlově náměstí E-mail: felkel@fel.cvut.cz S použitím materiálů Bohuslava Hudce, Jaroslava Sloupa
Spojitý šum v praxi. Jan Gehr
Spojitý šum v praxi Jan Gehr Úvod Za použití Unity si ukážeme následující příklady: 1. Jednoduchý příklad z praxe (náhodný spojitý pohyb terče) 2. Ukázka implementace generátoru terénu (podobně jako ve
Multimediální prezentace MS PowerPoint I
Multimediální prezentace MS PowerPoint I Informatika Multimediální prezentace zažívají v poslední době obrovský rozmach. Jsou používány například k reklamním účelům, k předvedení výrobků či služeb. Velmi
Surfels: Surface Elements as Rendering Primitives
Surfels: Surface Elements as Rendering Primitives Výzkum v počítačové grafice Martin Herodes Nevýhody plošných primitiv Reprezentace složitých objektů pomocí plošných primitiv (trojúhelníků, čtyřúhelníků
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
Digitální model reliéfu (terénu) a analýzy modelů terénu
Digitální model reliéfu (terénu) a analýzy modelů terénu Digitální modely terénu jsou dnes v geoinformačních systémech hojně využívány pro různé účely. Naměřená terénní data jsou často zpracována do podoby
Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN
Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940
VÝUKOVÝ SOFTWARE PRO ANALÝZU A VIZUALIZACI INTERFERENČNÍCH JEVŮ
VÝUKOVÝ SOFTWARE PRO ANALÝZU A VIZUALIZACI INTERFERENČNÍCH JEVŮ P. Novák, J. Novák Katedra fyziky, Fakulta stavební, České vysoké učení technické v Praze Abstrakt V práci je popsán výukový software pro
CGI. Computer generated imagery Počítačové triky Animované filmy Počítačové hry. Technologické trendy v AV tvorbě, CGI 2
CGI Computer generated imagery Počítačové triky Animované filmy Počítačové hry Technologické trendy v AV tvorbě, CGI 2 CGI Šíření světla v prostoru Možnosti simulace šíření v PC Pohyby CGI objektů Technologické
Fraktály. Ondřej Bouchala, George Dzhanezashvili, Viktor Skoupý
Fraktály Ondřej Bouchala, George Dzhanezashvili, Viktor Skoupý 19.6.2012 Abstrakt Tato práce se zabývá vlastnostmi a vykreslováním fraktálů. Popisuje fraktální dimenzi (soběpodobnostní a mřížkovou), dále
3D Vizualizace muzea vojenské výzbroje
3D Vizualizace muzea vojenské výzbroje 3D visualization of the museum of military equipment Bc.Tomáš Kavecký STOČ 2011 UTB ve Zlíně, Fakulta aplikované informatiky, 2011 2 ABSTRAKT Cílem této práce je
Název: VY_32_INOVACE_PG3311 Kamera a její použití, světelné efekty. Vzdělávací oblast / téma: 3D grafika, počítačová grafika, 3DS Max
Název: VY_32_INOVACE_PG3311 Kamera a její použití, světelné efekty Autor: Mgr. Tomáš Javorský Datum vytvoření: 06 / 2012 Ročník: 3 Vzdělávací oblast / téma: 3D grafika, počítačová grafika, 3DS Max Anotace:
VY_32_INOVACE_INF.10. Grafika v IT
VY_32_INOVACE_INF.10 Grafika v IT Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jiří Kalous Základní a mateřská škola Bělá nad Radbuzou, 2011 GRAFIKA Grafika ve smyslu umělecké grafiky
Katedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013
Katedra informatiky, Univerzita Palackého v Olomouci 27. listopadu 2013 Rekonstrukce 3D těles Reprezentace trojrozměrných dat. Hledání povrchu tělesa v těchto datech. Představení několika algoritmů. Reprezentace
Vývoj počítačové grafiky. Tomáš Pastuch Pavel Skrbek 15.3. 2010
Vývoj počítačové grafiky Tomáš Pastuch Pavel Skrbek 15.3. 2010 Počítačová grafika obor informatiky, který používá počítače k tvorbě umělých grafických objektů nebo pro úpravu již nasnímaných grafických
MATURITNÍ PRÁCE Z PŘEDMĚTU GRAFIKA A MULTIMEDIA
MATURITNÍ PRÁCE Z PŘEDMĚTU GRAFIKA A MULTIMEDIA Studijní obor: 18-20-M/01 Informační technologie Třída: I4.A Školní rok: 2012/2013 Autor: Lukáš Zuzaňák Prohlášení autora: Prohlašuji, že jsem tuto práci
Rastrové digitální modely terénu
Rastrové digitální modely terénu Rastr je tvořen maticí buněk (pixelů), které obsahují určitou informaci. Stejně, jako mohou touto informací být typ vegetace, poloha sídel nebo kvalita ovzduší, může každá
Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1
Kapitola 4 Rasterizace objektů Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na rastrově definované obrazy. Při zobrazení reálného modelu ve světových souřadnicích na výstupní
Osnova. Koncept a použití prezentací. Seznámení s pracovním prostředím MS Word Režimy zobrazení. Užitečná nastavení. Základní práce s dokumenty
PowerPoint 2007 Osnova Koncept a použití prezentací Seznámení s pracovním prostředím MS Word 2007 Režimy zobrazení Užitečná nastavení Základní práce s dokumenty Práce s textem a objekty Doporučení, jak
SOFTWARE NA ZPRACOVÁNÍ MRAČEN BODŮ Z LASEROVÉHO SKENOVÁNÍ. Martin Štroner, Bronislav Koska 1
SOFTWARE NA ZPRACOVÁNÍ MRAČEN BODŮ Z LASEROVÉHO SKENOVÁNÍ SOFTWARE FOR PROCESSING OF POINT CLOUDS FROM LASER SCANNING Martin Štroner, Bronislav Koska 1 Abstract At the department of special geodesy is
2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2
Výpočet transformačních koeficinetů vybraných 2D transformací Jan Ježek červen 2008 Obsah Odvození transformačního klíče vybraných 2D transformací 2 Meto vyrovnání 2 2 Obecné vyjádření lineárních 2D transformací
Počítačová grafika 2 (POGR2)
Počítačová grafika 2 (POGR2) Pavel Strachota FJFI ČVUT v Praze 19. února 2015 Kontakt Ing. Pavel Strachota, Ph.D. Katedra matematiky Trojanova 13, místnost 033a E-mail: pavel.strachota@fjfi.cvut.cz WWW:
Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)
Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného) 1 Obecný popis metody Particle Image Velocimetry, nebo-li zkráceně PIV, je měřící
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT
4.6 Zpracování videa na počítači
3. 4.6 Zpracování videa na počítači V řetězci bude na vstupu zapojeno zařízení, které nám poslouží jako zdroj signálu. Nemusí se nutně jednat jen o digitální kameru, web kameru či mobilní telefon. Můžeme
Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.
Algoritmizace diskrétních simulačních modelů Ing. Michal Dorda, Ph.D. 1 Úvodní poznámky Při programování simulačních modelů lze hlavní dílčí problémy shrnout do následujících bodů: 1) Zachycení statických
Copyright 2013 Martin Kaňka;
Copyright 2013 Martin Kaňka; http://dalest.kenynet.cz Popis aplikace Hlavním cílem aplikace Cubix je výpočet a procvičení výpočtu objemu a povrchu těles složených z kostek. Existují tři obtížnosti úkolů
IVT. Rastrová grafika. 8. ročník
IVT Rastrová grafika 8. ročník listopad, prosinec 2013 Autor: Mgr. Dana Kaprálová Zpracováno v rámci projektu Krok za krokem na ZŠ Želatovská ve 21. století registrační číslo projektu: CZ.1.07/1.4.00/21.3443
VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender
VY_32_INOVACE_INF.19 Inkscape, GIMP, Blender Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jiří Kalous Základní a mateřská škola Bělá nad Radbuzou, 2011 INKSCAPE Inkscape je open source
Kapitola 1: Úvodní strana PARTICLER
Kapitola 1: Úvodní strana PARTICLER OBSAH Úvod 1.O Particleru 2.Popis programu 2.1 Hlavní okno programu 2.1.1 - Horní lišta 2.1.1.1 Soubor 2.1.1.2 Vzhled 2.1.1.3 - Nastavení 2.1.1.4 - Pomoc 2.1.2 - Pracovní
Zobrazování terénu. Abstrakt. 1. Úvod. 2. Vykreslování terénu
Zobrazování terénu Jan Vaněk, Bruno Ježek Universita Obrany, Fakulta vojenského zdravotnictví, Katedra všeobecně vzdělávacích oborů e-mail: vanek@pmfhk.cz; jezek@pmfhk.cz Abstrakt Vizualizace terénu je
Osvědčené postupy pro zpracování tiskových dat s vynikající kvalitou tisku
Osvědčené postupy pro zpracování tiskových dat s vynikající kvalitou tisku Arnošt Nečas Marketing manager GRAFIE CZ Jan Štor Odborný konzultant GRAFIE CZ Agenda Základy digitálních obrazů Kvalita obrazu
scale n_width width center scale left center range right center range value weight_sum left right weight value weight value weight_sum weight pixel
Změna velikosti obrázku Převzorkování pomocí filtrů Ačkoliv jsou výše uvedené metody mnohdy dostačující pro běžné aplikace, občas je zapotřebí dosáhnout lepších výsledků. Pokud chceme obrázky zvětšovat
Animace a geoprostor. První etapa: Animace 3. přednáško-cvičení. Jaromír Landa. jaromir.landa@mendelu.cz Ústav informatiky PEF MENDELU v Brně
Animace a geoprostor První etapa: Animace 3. přednáško-cvičení Jaromír Landa jaromir.landa@mendelu.cz Ústav informatiky PEF MENDELU v Brně Náplň přednáško-cvičení Nasvícení scény Světelné zdroje umělé
Počítačová grafika RHINOCEROS
Počítačová grafika RHINOCEROS Ing. Zuzana Benáková Základní otázkou grafických programů je způsob zobrazení určitého tvaru. Existují dva základní způsoby prezentace 3D modelů v počítači. První využívá
REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB
62 REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB BEZOUŠKA VLADISLAV Abstrakt: Text se zabývá jednoduchým řešením metody nejmenších čtverců v prostředí Matlab pro obecné víceparametrové aproximační funkce. Celý postup
,,Škola nás baví CZ. 1.07/1.4.00/21.1342 VY_32_INOVACE_Inf.Ma.10
,,Škola nás baví CZ. 1.07/1.4.00/21.1342 VY_32_INOVACE_Inf.Ma.10 INFORMATIKA 7. ročník Microsoft POWER POINT 2010 Ing. Miroslava Maříková PŘÍPRAVA Předmět: Informatika Stupeň vzdělávání: druhý stupeň /7.roč./
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND
Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011
Automatická detekce anomálií při geofyzikálním průzkumu Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Cíle doktorandské práce Seminář 10. 11. 2010 Najít, implementovat, ověřit a do praxe
Semestrální projekt. Vyhodnocení přesnosti sebelokalizace VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Semestrální projekt Vyhodnocení přesnosti sebelokalizace Vedoucí práce: Ing. Tomáš Jílek Vypracovali: Michaela Homzová,
Využití ICT techniky především v uměleckém vzdělávání. Akademie - VOŠ, Gymn. a SOŠUP Světlá nad Sázavou
Datum: 1. 12. 2013 Projekt: Registrační číslo: Číslo DUM: Škola: Jméno autora: Název sady: Název práce: Předmět: Ročník: Obor: Časová dotace: Vzdělávací cíl: Pomůcky: Využití ICT techniky především v uměleckém
Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010
Ing. Jan Buriánek (ČVUT FIT) Reprezentace bodu a zobrazení BI-MGA, 2010, Přednáška 2 1/33 Ing. Jan Buriánek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické
ANIMOVANÝ SKYBOX V OPENGL ANIMATED SKYBOX USING OPENGL
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND
8. přednáška z předmětu GIS1 Rastrový datový model a mapová algebra
8. přednáška z předmětu GIS1 Rastrový datový model a mapová algebra Vyučující: Ing. Jan Pacina, Ph.D. e-mail: jan.pacina@ujep.cz Pro přednášku byly použity texty a obrázky z www.gis.zcu.cz Předmět KMA/UGI,
Vytvoření a úpravy geologického modelu
Inženýrský manuál č. 39 Aktualizace 11/2018 Vytvoření a úpravy geologického modelu Program: Stratigrafie Soubor: Demo_manual_39.gsg Úvod Cílem tohoto inženýrského manuálu je vysvětlit základní práci s
HDR obraz (High Dynamic Range)
HDR obraz (High Dynamic Range) 2010-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 24 Velká dynamika obrazu světlé partie (krátká expozice) tmavé partie (dlouhá
StatSoft Jak vyzrát na datum
StatSoft Jak vyzrát na datum Tento článek se věnuje podrobně možnostem práce s proměnnými, které jsou ve formě datumu. A že jich není málo. Pokud potřebujete pracovat s datumem, pak se Vám bude tento článek
Stru ný obsah. Úvod do Microsoft.NET Kapitola 1: Vývoj her a ízený kód...15
Stru ný obsah Úvod...11 Úvod do Microsoft.NET Kapitola 1: Vývoj her a ízený kód...15 Základy grafiky, první hra Kapitola 2: Návrh první hry...31 Kapitola 3: Pochopení kostry aplikace DirectX...39 Kapitola
9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy. Vyučující: Ing. Jan Pacina, Ph.D.
9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy Vyučující: Ing. Jan Pacina, Ph.D. e-mail: jan.pacina@ujep.cz Lehký úvod Digitální modely terénu jsou dnes v geoinformačních systémech
Použití prezentací. K heslovitému sdělení informací. Oživení obrázky, schématy, tabulkami, Nevhodné pro dlouhé texty. Doprovodná pomůcka při výkladu
PowerPoint 2007 Osnova Koncept a použití prezentací Seznámení s pracovním prostředím MS Word 2007 Režimy zobrazení Užitečná nastavení Základní práce s dokumenty Práce s textem a objekty Šablony a jejich
- obvyklejší, výpočetně dražší - každé písmeno je definováno jako zakřivený nebo polygonální obrys
Práce s písmem Definice písma Vektorové písmo - obvyklejší, výpočetně dražší - každé písmeno je definováno jako zakřivený nebo polygonální obrys Rastrové písmo - jednodušší, snadno se kreslí, obvykle méně
Práce s texty, Transformace rastru, Připojení GPS
Školení programu TopoL xt Práce s texty, Transformace rastru, Připojení GPS Obsah: 1. Uživatelské rozhraní (heslovitě, bylo součástí minulých školení) 2. Nastavení programu (heslovitě, bylo součástí minulých
Úvodem... 9 Kapitola 1 Karetních
Úvodem... 9 Základní znalosti o programovacích jazycích...10 Jazyk C# a platforma.net...10 Visual C# 2010 Express...11 Instalace platformy.net 4.0 a Visual C# 2010 Express...11 Zdrojový kód aplikací...12
Projekt Obrázek strana 135
Projekt Obrázek strana 135 14. Projekt Obrázek 14.1. Základní popis, zadání úkolu Pracujeme na projektu Obrázek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy