NPGR019. Geometry & tessellation shaders. MFF UK Praha. Vykreslování v OpenGL Tessellation shaders Geometry shaders Literatura

Rozměr: px
Začít zobrazení ze stránky:

Download "NPGR019. Geometry & tessellation shaders. MFF UK Praha. Vykreslování v OpenGL Tessellation shaders Geometry shaders Literatura"

Transkript

1 Hardware pro počítačovou grafiku NPGR019 Geometry & tessellation shaders Jan Horáček MFF UK Praha 2012 Jan Horáček Geometry & Tesselation 1 / 42

2 Obsah Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva Jan Horáček Geometry & Tesselation 2 / 42

3 Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva Propojení vertex shaderu s geometrickými daty vertexová data (pozice, tex. koordináty, normály... ) vstupují do OpenGL pipeline přes vertex shader je nutné spojit zdroj vertexových dat s proměnnou v shaderu proto je potřeba znát pozici atributu pozice atributu může být explicitně definovaná použitím kvalifikátoru layout explicitně definovaná funkcí glbindattriblocation() zjištěna automatická pozice voláním glgetattriblocation() Jan Horáček Geometry & Tesselation 3 / 42

4 Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva Propojení vertex shaderu s geometrickými daty data v oddělených částech VBO data jednoho typu spojitě jako pole #define BUFFER_OFFSET(addr) ((GLvoid*) (addr)) GLsizeiptr offset = 0; glvertexattribpointer( vpos, 3, GL_FLOAT, GL_FALSE, 0, BUFFER_OFFSET(offset) ); offset += sizeof(v); glvertexattribpointer( vcolor, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, BUFFER_OFFSET(offset) ); offset += sizeof(c); glvertexattribpointer( vtexcoord, 2, GL_FLOAT, GL_FALSE, 0, BUFFER_OFFSET(offset) ); Jan Horáček Geometry & Tesselation 4 / 42

5 Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva Propojení vertex shaderu s geometrickými daty data prokládána ve VBO data jako struktury ve VBO GLsizei stride = sizeof( VertexData ); GLsizeiptr offset = 0; struct VertexData { GLfloat tc[2]; GLubyte c[4]; GLfloat v[3]; } glvertexattribpointer( vtexcoord, 2, GL_FLOAT, GL_FALSE, stride, BUFFER_OFFSET(offset) ); offset += sizeof(v.tc); glvertexattribpointer( vcolor, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, BUFFER_OFFSET(offset) ); offset += sizeof(v.c); glvertexattribpointer( vpos, 3, GL_FLOAT, GL_FALSE, stride, BUFFER_OFFSET(offset) ); Jan Horáček Geometry & Tesselation 5 / 42

6 Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva Propojení vertex shaderu s geometrickými daty je potřeba oznámit OpenGL, která vertexová pole budou použita glenablevertexattribarray( vpos ); glenablevertexattribarray( vcolor ); glenablevertexattribarray( vtexcoord ); Jan Horáček Geometry & Tesselation 6 / 42

7 Vykreslování geometrických primitiv Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva pro spojité pole vertexů (po částech i prokládané) gldrawarrays( GL_TRIANGLE_STRIP, 0, n ); 0 v c tc 1 2 v c tc v c tc v c tc 4 v c tc v c tc Jan Horáček Geometry & Tesselation 7 / 42

8 Vykreslování geometrických primitiv Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva pro indexované skupiny vertexů gldrawelements( GL_TRIANGLE_STRIP, n, GL_UNSIGNED_SHORT, BUFFER_OFFSET(offset) ); 0 v c tc 1 v c tc 2 v c tc 3 v c tc 4 v c tc 5 v c tc Jan Horáček Geometry & Tesselation 8 / 42

9 Instancované vykreslování Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva posílání vícekrát stejné geometrie do OpenGL každá iterace je nová instance vertex shader může měnit vykreslování v závislosti na tom, která instance se zrovna vykresluje číslo iterace uloženo v GLSL proměnné gl_instanceid gldrawarraysinstanced( GL_TRIANGLE_STRIP, 0, n, 10 ); gldrawelementsinstanced( GL_TRIANGLE_STRIP, n, GL_UNSIGNED_INT, BUFFER_OFFSET(0), 10 ); Jan Horáček Geometry & Tesselation 9 / 42

10 Variace na gldrawelements() Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva občas se hodí přidat offset k seznamu vykreslovanému přes gldrawelements() toto umožňuje použít stejnou topologii pro různou geometrii všechny gldrawelements() varianty mají i verzi pro offset gldrawelementsbasevertex() gldrawrangeelementsbasevertex() gldrawelementsinstancedbasevertex() stejné parametry, pouze je zde navíc jeden parametr určující offset gldrawelementsbasevertex( GL_TRIANGLES, 0 GL_UNSIGNED_INT, BUFFER_OFFSET(offset), 15 ); Jan Horáček Geometry & Tesselation 10 / 42

11 Nepřímé vykreslování Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva parametry pro volání gldrawarraysinstanced() se dají uložit do GL_DRAW_INDIRECT_BUFFER data musí mít pevnou strukturu struct DrawArraysIndirectCommand { GLuint count; GLuint primcount; GLuint first; GLuint reservedmustbezero; }; // volání gldrawarraysindirect( primtype, BUFFER_OFFSET(offset) ); toto je připraveno pro budoucí způsoby vykreslování například dynamicky vytvářená geometrie Jan Horáček Geometry & Tesselation 11 / 42

12 Nepřímé vykreslování Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva podobně existuje i verze pro indexované vykreslování gldrawelementsindirect() struktura pro gldrawelementsindirect() struct DrawElementsIndirectCommand { GLuint count; GLuint primcount; GLuint firstindex; GLint basevertex; GLuint reservedmustbezero; }; Jan Horáček Geometry & Tesselation 12 / 42

13 Geometrická primitiva I Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva v 0 v 0 v 0 v 0 v 1 v 1 v 1 v 1 v 2 v 3 v 2 v 3 v 2 v 3 v 2 v 3 v 4 v 5 v 4 v 5 v 4 v 5 v 5 v 4 GL POINTS GL LINES GL LINE STRIP GL LINE LOOP Jan Horáček Geometry & Tesselation 13 / 42

14 Geometrická primitiva II Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva v 0 v 0 v 1 v 1 v 1 v 2 v 2 v 3 v 2 v 3 v 0 v 3 v 4 v 5 GL TRIANGLES v 4 v 5 GL TRIANGLE STRIP v 5 v 4 GL TRIANGLE FAN Jan Horáček Geometry & Tesselation 14 / 42

15 Geometrická primitiva III Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva v 6 v 5 v 6 v 5 v 7 v 4 v 7 v 4 v 0 v 1 v 2 v 3 v 0 v 1 v 2 v 3 GL LINES ADJACENCY GL LINE STRIP ADJACENCY Jan Horáček Geometry & Tesselation 15 / 42

16 Geometrická primitiva IV Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva v 5 v 0 v 5 v 9 v 1 v 2 v 6 v 10 v 4 v 1 v 3 v 2 GL TRIANGLES ADJACENCY v v v 4 0 v 11 8 v 3 v 7 GL TRIANGLE STRIP ADJACENCY Jan Horáček Geometry & Tesselation 16 / 42

17 Geometrická primitiva V Propojení Vykreslování Instancované a nepřímé vykreslování Geometrická primitiva?gl PATCHES Jan Horáček Geometry & Tesselation 17 / 42

18 Obsah Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader Jan Horáček Geometry & Tesselation 18 / 42

19 Detaily scény Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader teselace se dá považovat za další krok v přidávání detailů do scény historicky: 1 jednobarevné a gouraudově stínované polygony - holé objekty 2 textury - barevný detail 3 bumpmapping (ve všech formách od emboss-bumpmappingu až po normalmapping/procedurální generování normál) - detail pro stínování, obzvláště dynamická světla 4 parallax mapping - falešný geometrický detail 5 teselace - skutečný geometrický detail toto je ovšem pouze jedno z možných využití teselace Jan Horáček Geometry & Tesselation 19 / 42

20 Přehled Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader teselace se využívá ke generování geometrie pouze jeden typ primitiv - patches do gldraw*() se uvede konstanta GL_PATCHES 3 fáze: 1 konfigurovatelná, 2 programovatelné pomocí shaderů tessellation control shader zpracovává sadu vstupních vertexových atributů generuje výstupní patchové atributy definuje teselační parametry tessellation evaluation shader zpracovává výstupní patchové atributy počítá finální vertexy generovaných primitiv Jan Horáček Geometry & Tesselation 20 / 42

21 OpenGL pipeline Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader Vertex data Vertex Shader Tesselation Control Shader Tesselation Evaluation Shader Geometry Shader Primitive Setup and Rasterization Fragment Shader Blending Pixel Data Texture Store Jan Horáček Geometry & Tesselation 21 / 42

22 Tok dat v teselační části pipeline Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader layout(vertices = n) out; gl_in[] Tesselation Control Shader gl_out[] gl_in[] Tesselation Evaluation Shader layout(prim, wind, spc) in; Vertex data Vertex Shader gl_tesslevelnner[] gl_tesslevelouter[] Tesselation Primitive Generator Jan Horáček Geometry & Tesselation 22 / 42

23 Tok dat v teselační části pipeline Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader teselační shadery pracují na sadách vrcholů vstupní i výstupní data jsou v poĺıch proměnná gl_in[] obsahuje vstupní data pro oba shadery délka pole = gl_in.length() proměnná gl_out[] má přepočítané informace o vrcholech obě jsou pole struktur in gl_pervertex { vec4 gl_position; float gl_pointsize; vec4 gl_clipdistance[]; } gl_in[]; Jan Horáček Geometry & Tesselation 23 / 42

24 Tesselation control shader Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader výstupní layout vertices specifikuje počet výstupních vertexů control shader spuštěn pro každý výstupní vertex vstupem i výstupem patch má přístup ke všem vstupním atributům smí zapisovat jen do svého výstupu podle gl_invocationid základní úkol je připravit parametry pro teselaci a přepočítat patch Jan Horáček Geometry & Tesselation 24 / 42

25 Příklad tessellation control shaderu Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader tessellation control shader #version 400 core layout (vertices = 4) out; uniform float Inner; uniform float Outer; void main() { gl_tesslevelinner[0] = Inner; gl_tesslevelinner[1] = Inner; gl_tesslevelouter[0] = Outer; gl_tesslevelouter[1] = Outer; gl_tesslevelouter[2] = Outer; gl_tesslevelouter[3] = Outer; } gl_out[gl_invocationid].gl_position = gl_in[gl_invocationid].gl_position; Jan Horáček Geometry & Tesselation 25 / 42

26 Tessellation control bez shaderu Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader mnoho programů pouze přeposílá data v případě, že vstupní a výstupní patch mají stejný počet vertexů, může OpenGL tuto stage nahradit 1 specifikuj počet vertexů ve vstupní patch glpatchparameteri( GL_PATCH_VERTICES, NumVertices ); 2 specifikuj vnitřní a vnější teselační parametry GLfloat outer[4], inner[2]; glpatchparameterfv( GL_PATCH_DEFAULT_OUTER_LEVEL, outer ); glpatchparameterfv( GL_PATCH_DEFAULT_INNER_LEVEL, inner ); Jan Horáček Geometry & Tesselation 26 / 42

27 Generování primitiv Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader teselace vytváří geometrická primitiva rozdělením parametrického prostoru k dispozici jsou tři typy parametrizací Typ Parametrický prostor Teselační faktory quad triangle isolines jednotkový čtverec: (u, v) gl_tesslevelinner: u, v [0, 1] gl_tesslevelouter: barycentrické: (u, v, w) gl_tesslevelinner: 0 u, v, w [0, 1] gl_tesslevelouter: u + v + w = 1 čára: (u, v) u, v [0, 1] gl_tesslevelouter: u se na čáře mění, v je konstantní Jan Horáček Geometry & Tesselation 27 / 42

28 Příklad teselace čtyřúhelníku Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader gl_tesslevelouter[3] (1,1) parametry gl_tesslevelinner[0] = 3.0; gl_tesslevelinner[1] = 4.0; gl_tesslevelouter[0] = 3.0; gl_tesslevelouter[1] = 4.0; gl_tesslevelouter[2] = 2.0; gl_tesslevelouter[3] = 3.0; gl_tesslevelouter[0] gl_tesslevelinner[0] gl_tesslevelinner[1] gl_tesslevelouter[2] (using equal_spacing) (0,0) gl_tesslevelouter[1] Jan Horáček Geometry & Tesselation 28 / 42

29 Příklad teselace trojúhelníku Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader parametry gl_tesslevelinner[0] = 5.0; gl_tesslevelouter[0] = 3.0; gl_tesslevelouter[1] = 4.0; gl_tesslevelouter[2] = 2.0; (using equal_spacing) gl_tesslevelouter[0] gl_tesslevelinner[0] gl_tesslevelouter[2] gl_tesslevelouter[1] Jan Horáček Geometry & Tesselation 29 / 42

30 Příklad teselace čar Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader (1,1) parametry gl_tesslevelouter[0] = 7.0; gl_tesslevelouter[1] = 4.0; (using equal_spacing) gl_tesslevelouter[0] (0,0) gl_tesslevelouter[1] Jan Horáček Geometry & Tesselation 30 / 42

31 Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader Příklad tessellation evaluation shaderu tessellation evaluation shader #version 400 core layout (quads, equal_spacing, ccw) in; uniform mat4 MV, P; float B( int i, float u) { const vec4 bc = vec4( 1, 3, 3, 1 ); return bc[i] * pow( u, i ) * pow( u, 3 - i ); } void main() { float u = gl_tesscoord.x, v = gl_tesscoord.y; } vec4 pos = vec4( 0.0 ); for( int j = 0; j < 4; j++ ) for( int i = 0; i < 4; i++ ) pos += B( i, u ) * B( j, v ) * gl_in[4*j+i].gl_position; gl_position = P * MV * pos; Jan Horáček Geometry & Tesselation 31 / 42

32 Kontrolování pozic teselace Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader teselační faktory jsou čísla s plovoucí řád. čárkou různé módy kontrolují, jak se bude strana rozdělovat každá hrana se může rozdělit na max. GL_MAX_TESS_GEN_LEVELS, aktuálně to je 64 Mód teselace Interval hodnot equal_spacing [1, max] fractional_even_spacing [2, max] fractional_odd_spacing [1, max-1] equal_spacing akceptuje celá čísla (zaokrouhluje nahoru), vytvoří n stejných intervalů fractional_... teselace zaokrouhĺı na nejbližší vyšší sudé/liché číslo, (n-2) intervalů je stejných a 2 většinou menší intervaly jsou závislé na desetinné části hodnoty Jan Horáček Geometry & Tesselation 32 / 42

33 Primitive winding a Point mode Úvod Tok dat Tesselation control shader Parametrizace Tesselation evaluation shader vytvořená primitiva mají vrcholy implicitně proti směru hodinových ručiček (ccw) použijte cw pro pořadí po směru hodinových ručiček místo polygonů (trojůhelníků) se dají generovat body, stačí nastavit point_mode v direktivě layout příklad nastavení layoutu v evaluation shaderu layout( triangles, cw, fractional_even_spacing, point_mode ) in; Jan Horáček Geometry & Tesselation 33 / 42

34 Obsah Přehled Příklad Geometry vs. Tessellation Jan Horáček Geometry & Tesselation 34 / 42

35 Přehled Přehled Příklad Geometry vs. Tessellation poslední volitelná shader stage před rasterizerem svým způsobem podobné teselační části generování nové geometrie dosahuje podobných výsledků za pomocí jiných principů programátor specifikuje počet a typ vygenerovaných primitiv Jan Horáček Geometry & Tesselation 35 / 42

36 Vstup Přehled Příklad Geometry vs. Tessellation vstupem assembled primitives (tedy ne strips nebo fan) points... 1 lines... 2 lines_adjacency... 4 triangles... 3 triangles_adjacency... 6 má veškerou informaci o celém primitivu, nejen o 1 vrcholu nová primitiva se sousedností (adjacency) dodávají informaci o bezprostředním okoĺı Vestavěné proměnné in gl_pervertex { vec4 gl_position; float gl_pointsize; float gl_clipdistance[]; } gl_in[]; in int gl_primitiveidin; // pouze v OpenGL 4.0+ in int gl_invocationid; Jan Horáček Geometry & Tesselation 36 / 42

37 Výstup Přehled Příklad Geometry vs. Tessellation možná výstupní primitiva: points line_strip triangle_strip typy vstupního a výstupního primitiva jsou nezávislé vstup je po vykonání shaderu zapomenut výstupem 0 nebo více primitiv např. dva triangle_strips, každý ze 3 trojůhelníků pozn.:vzhledem k původní myšlence geometry shaderů nemusí být implementace nutně optimalizovaná pro masivní tvorbu geometrie na to je teselační část pipeline Jan Horáček Geometry & Tesselation 37 / 42

38 Výstupní proměnné Přehled Příklad Geometry vs. Tessellation Vestavěné proměnné vec4 gl_position; float gl_pointsize; float gl_clipdistance[]; out int gl_primitiveid; out int gl_layer; // pouze v OpenGL 4.0+ out int gl_viewportindex; Jan Horáček Geometry & Tesselation 38 / 42

39 Příklad geometry shaderu Přehled Příklad Geometry vs. Tessellation geometry shader #version 400 core layout (triangles, invocations = 1) in; layout (triangle_strip, max_vertices = 3) out; uniform float scale; void main() { vec4 v[3], center = vec4(0); for( int i = 0; i < 3; i++ ) { v[i] = gl_in[i].gl_position; center += v[i]; } center /= 3; for( int i = 0; i < 3; i++ ) { gl_position = mix( v[i], center, scale ); EmitVertex(); } EndPrimitive(); } Jan Horáček Geometry & Tesselation 39 / 42

40 Geometry vs. Tessellation Přehled Příklad Geometry vs. Tessellation Problém Geometry Tessellation generování primitiv topologie zdrojová primitiva praskliny mezi primitivy explicitní kontrola: specifikuje se pozice i propojení velmi lokalizovaná: je vidět jen nejbližší okoĺı s limitovanou konektivitou limitovaná sada: v podstatě jen základní primitiva, body, čáry, trojůhelníky problematické: je třeba dávat velký pozor na umístění vrcholů parametrická kontrola: teselační parametry určují počet vygenerovaných primitiv implicitně propojené: všechna primitiva jsou propojená, upravuje se jen umístění vrcholu jakákoliv patch: OpenGL vidí jen seznam vrcholů, vztahy se definují explicitně jednodušší: spoj je vodotěsný, pokud jsou teselační parametry stejné, praskání limitováno jen na výpočetní přesnost Jan Horáček Geometry & Tesselation 40 / 42

41 Obsah Jan Horáček Geometry & Tesselation 41 / 42

42 OpenGL Architecture Review Board: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Addison-Wesley, nejnovější vydání (aktuálně 8. vydání pro OpenGL 4.1) Randi J. Rost, Bill Licea-Kane: OpenGL Shading Language, 3 rd Edition, Addison-Wesley The Khronos Group: The OpenGL Graphics System: A Specification (Core/Compatibility profile), Christophe Riccino: OpenGL reviews, Wikipedia: OpenGL tutorials: Jan Horáček Geometry & Tesselation 42 / 42

Připravil: David Procházka. Vykreslování grafických primitiv

Připravil: David Procházka. Vykreslování grafických primitiv 24. září 2013, Brno Připravil: David Procházka Vykreslování grafických primitiv Počítačová grafika 2 Vykreslování grafických primitiv Strana 2 / 38 Obsah přednášky 1 Vykreslování grafických primitiv 2

Více

Fakulta informačních technologíı. IZG cvičení 6. - Zobrazování 3D scény a základy OpenGL 1 / 38

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

Více

Základy programování shaderů v OpenGL Část 2 - přenos dat

Základy programování shaderů v OpenGL Část 2 - přenos dat Základy programování shaderů v OpenGL Část 2 - přenos dat Petr Felkel, Jaroslav Sloup Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E) E-mail: felkel@fel.cvut.cz

Více

Android OpenGL. Práce s texturami

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,

Více

Základy programování shaderů v OpenGL Část 2 - přenos dat

Základy programování shaderů v OpenGL Část 2 - přenos dat Základy programování shaderů v OpenGL Část 2 - přenos dat Petr Felkel, Jaroslav Sloup Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E) E-mail: felkel@fel.cvut.cz

Více

Připravil: David Procházka. Vertex Buffer Objects

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

Více

Programování shaderů GLSL

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);

Více

Fakulta informačních technologíı. Rendering Seminář 1. 1 / 28

Fakulta informačních technologíı. Rendering Seminář 1. 1 / 28 Rendering Seminář 1. Tomáš Milet, Tomáš Starka Ústav počítačové grafiky a multimédíı Fakulta informačních technologíı Vysoké učení technické Brno Rendering Seminář 1. 1 / 28 OpenGL OpenGL je architektura

Více

Připravil: David Procházka. Shadery

Připravil: David Procházka. Shadery 5. října 2015, Brno Připravil: David Procházka Shadery Počítačová grafika 2 Obsah přednášky Strana 2 / 29 Obsah přednášky 1 Obsah přednášky 2 Shadery 3 Shrnutí Obsah přednášky Strana 3 / 29 Obsah přednášky

Více

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. GLSL editor

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. GLSL editor Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Diplomová práce GLSL editor Plzeň 2014 Bohumil Podlesák Prohlášení Prohlašuji, že jsem diplomovou práci

Více

27. listopadu 2013, Brno Připravil: David Procházka

27. listopadu 2013, Brno Připravil: David Procházka 27. listopadu 2013, Brno Připravil: David Procházka Texturování Počítačová grafika 2 Obsah přednášky Strana 2 / 37 Obsah přednášky 1 Obsah přednášky 2 Texturování 3 Multum In Parvo 4 Modulace textury ve

Více

Připravil: David Procházka. Základy OpenGL

Připravil: David Procházka. Základy OpenGL 24. září 2013, Brno Připravil: David Procházka Základy OpenGL Počítačová grafika 2 Grafické knihovny Strana 2 / 25 Obsah přednášky 1 Grafické knihovny 2 Vykreslování rastrového obrazu 3 OpenGL aplikace

Více

DEMONSTRAČNÍ APLIKACE PRO DISPLACEMENT MAPPING A ANALÝZU VÝKONNOSTI OPENGL PI- PELINE

DEMONSTRAČNÍ APLIKACE PRO DISPLACEMENT MAPPING A ANALÝZU VÝKONNOSTI OPENGL PI- PELINE 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

Více

Programování grafiky ÚVOD

Programování grafiky ÚVOD Programování grafiky ÚVOD Petr Felkel Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E) E-mail: felkel@fel.cvut.cz S použitím materiálů Bohuslava Hudce, Jaroslava

Více

TAM. Prezentace přednášek. Ústav počítačové grafiky a multimédií

TAM. Prezentace přednášek. Ústav počítačové grafiky a multimédií TAM Prezentace přednášek Ústav počítačové grafiky a multimédií Grafika na mobilních zařízeních OpenGL ES 2.0 Motto If Edison had a needle to find in a haystack, he would proceed at once with the diligence

Více

Základy OpenGL Josef Pelikán CGG MFF UK Praha. OpenGL / 34

Základy OpenGL Josef Pelikán CGG MFF UK Praha.  OpenGL / 34 Základy OpenGL 2003-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 34 Pokroky v hardware 3D akcelerace běžná i v konzumním sektoru hry, multimedia, i mobilní

Více

Programování grafiky ÚVOD

Programování grafiky ÚVOD Programování grafiky ÚVOD Petr Felkel Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E) E-mail: felkel@fel.cvut.cz S použitím materiálů Bohuslava Hudce, Jaroslava

Více

Hardware pro počítačovou grafiku NPGR019

Hardware pro počítačovou grafiku NPGR019 Hardware pro počítačovou grafiku NPGR019 3D akcelerátory - historie a architektura Josef Pelikán Jan Horáček http://cgg.mff.cuni.cz/ MFF UK Praha 2012 Pokroky v hardware 3D akcelerace běžná i v konzumním

Více

Textury. Petr Felkel, Jaroslav Sloup a Vlastimil Havran

Textury. Petr Felkel, Jaroslav Sloup a Vlastimil Havran Textury Petr Felkel, Jaroslav Sloup a Vlastimil Havran 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 Poslední změna: 25.3.2015 Textury

Více

Nvidia CUDA Paralelní programování na GPU

Nvidia CUDA Paralelní programování na GPU Mendelova univerzita v Brně Provozně ekonomická fakulta Nvidia CUDA Paralelní programování na GPU 2014 O čem to bude... Trocha historie Shadery Unifikace GPGPU CUDA Využití GPGPU GPU a jeho Hardware Nvidia

Více

Reflections, refractions, interreflections

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

Více

Základy 3D modelování a animace v CGI systémech Cinema 4D C4D

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

Více

Co je grafický akcelerátor

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

Více

Pokročilé osvětlovací techniky. 2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz

Pokročilé osvětlovací techniky. 2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz Pokročilé osvětlovací techniky 2005 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz Obsah nefotorealistické techniky hrubé tónování kreslení obrysů ( siluety ) složitější

Více

Hierarchický model. 1995-2013 Josef Pelikán CGG MFF UK Praha. pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 16

Hierarchický model. 1995-2013 Josef Pelikán CGG MFF UK Praha. pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 16 Hierarchický model 1995-2013 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 16 Hierarchie v 3D modelování kompozice zdola-nahoru složitější objekty se sestavují

Více

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 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

Více

Android OpenGL. Pokročilé shadery

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í

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ 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

Více

GIS Geografické informační systémy

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

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu geoprvků. Geometrická

Více

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

GIS Geografické informační systémy

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

Více

1. Programování proti rozhraní

1. Programování proti rozhraní 1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní

Více

Návod k použití softwaru Solar Viewer 3D

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

Více

Transformace (v OpenGL) příklady a knihovna GLM

Transformace (v OpenGL) příklady a knihovna GLM Transforace (v OpenGL) příklady a knihovna GLM Petr Felkel, Jaroslav Sloup Katedra počítačové grafiky a interakce, ČVUT FEL ístnost KN:E-413 (Karlovo náěstí, budova E) E-ail: felkel@fel.cvut.cz Poslední

Více

Masivně paralelní zpracování obrazu v prostředí systému VisionLab. 25. 9. 2013 Liberec Roman Cagaš, rc@mii.cz

Masivně paralelní zpracování obrazu v prostředí systému VisionLab. 25. 9. 2013 Liberec Roman Cagaš, rc@mii.cz Masivně paralelní zpracování obrazu v prostředí systému VisionLab 25. 9. 2013 Liberec Roman Cagaš, rc@mii.cz Moravské přístroje a.s. - oblasti vývoje a výroby Prostředí pro vývoj aplikací Software pro

Více

Základy programování shaderů v OpenGL část 1 program

Základy programování shaderů v OpenGL část 1 program Základy programování shaderů v OpenGL část 1 program Petr Felkel, Jaroslav Sloup Katedra počítačové grafiky a interakce, ČVUT FEL místnost KN:E-413 (Karlovo náměstí, budova E) E-mail: felkel@fel.cvut.cz

Více

Rád bych poděkoval Ing. Davidu Ambrožovi za jeho cenné rady a připomínky a za ochotu po celou dobu vedení mé diplomové práce.

Rád bych poděkoval Ing. Davidu Ambrožovi za jeho cenné rady a připomínky a za ochotu po celou dobu vedení mé diplomové práce. Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE LUKÁŠ STEHLÍK Zobrazování povrchových detailů pomocí mapování textur Kabinet software a výuky informatiky Vedoucí diplomové práce:

Více

Programovatelné shadery a jazyk Cg. Petr Kmoch

Programovatelné shadery a jazyk Cg. Petr Kmoch Programovatelné shadery a jazyk Cg Petr Kmoch Historie Softwarové výpoèty Pevná pipeline Volitelné moduly Programovatelné shadery 11.12.2002 Petr Kmoch, MFF UK 2 Grafická pipeline Triangulace scény Vrcholy

Více

Pokročilé programování v jazyce C pro chemiky (C3220) 3D grafika v knihovně Qt

Pokročilé programování v jazyce C pro chemiky (C3220) 3D grafika v knihovně Qt Pokročilé programování v jazyce C pro chemiky (C3220) 3D grafika v knihovně Qt Rozhraní pro 3D grafiku Běžné grafické knihovny zpravidla podporují pouze 2D grafický výstup Pro 3D grafický výstup jsou využívány

Více

Konstruktory a destruktory

Konstruktory a destruktory Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,

Více

3D počítačová grafika na PC. 2003 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/

3D počítačová grafika na PC. 2003 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/ 3D počítačová grafika na PC 2003 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/ Pokroky v hardware 3D akcelerace běžná i v konzumním sektoru zaměření na hry, multimedia vzhled kvalita prezentace

Více

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST Obor 01 - Matematika Gymnázium Dr. Karla Polesného, Znojmo Složené objekty, řezy těles tělesy, a jejich zobrazování Autor: Škola: Studijní obor: Vilém Otte Gymnázium Dr. Karla

Více

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Základy programování Úloha: Eratosthenovo síto Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Obsah 1 Zadání úkolu: 3 1.1 Zadání:............................... 3 1.2 Neformální zápis:.........................

Více

PB161 Programování v jazyce C++ Přednáška 9

PB161 Programování v jazyce C++ Přednáška 9 PB161 Programování v jazyce C++ Přednáška 9 Právo friend Přetěžování operátorů Nikola Beneš 16. listopadu 2015 PB161 přednáška 9: friend, přetěžování operátorů 16. listopadu 2015 1 / 30 Reklama PB173 Tematicky

Více

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

IB111 Programování a algoritmizace. Objektově orientované programování (OOP) IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,

Více

Geometrické praktikum

Geometrické praktikum Geometrické praktikum Jan Laštovička 28. dubna 2015 1 Kreslení objektů v rovině Začneme malým příkladem. Nahrajte knihovnu lisp-gl načtením (například z nabídky File > Load...) souboru load.lisp a vyhodnot

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

ADT/ADS = abstraktní datové typy / struktury

ADT/ADS = abstraktní datové typy / struktury DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

Realtime zobrazování vodní hladiny na dnešních GPU. Jan Horáček

Realtime zobrazování vodní hladiny na dnešních GPU. Jan Horáček Realtime zobrazování vodní hladiny na dnešních GPU Jan Horáček Obsah Simulace přírodních efektů Statické techniky Dynamické techniky Implementace Otázky a ukázky demoprogramů Simulace přírodních efektů

Více

Matematický ústav UK Matematicko-fyzikální fakulta

Matematický ústav UK Matematicko-fyzikální fakulta Geometrické modelování Zbyněk Šír Matematický ústav UK Matematicko-fyzikální fakulta 5. října 2016 Zbyněk Šír (MÚ UK) - Geometrické modelování 5. října 2016 1 / 14 Obsah dnešní přednášky Co je to geometrické

Více

Reprezentace 3D scény

Reprezentace 3D scény Reprezentace 3D scény 1995-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 36 Metody reprezentace 3D scén objemové reprezentace přímé informace o vnitřních

Více

Geografická informace GIS 1 155GIS1. Martin Landa Lena Halounová. Katedra geomatiky ČVUT v Praze, Fakulta stavební 1/23

Geografická informace GIS 1 155GIS1. Martin Landa Lena Halounová. Katedra geomatiky ČVUT v Praze, Fakulta stavební 1/23 GIS 1 155GIS1 Martin Landa Lena Halounová Katedra geomatiky ČVUT v Praze, Fakulta stavební #3 1/23 Copyright c 2013-2018 Martin Landa and Lena Halounová Permission is granted to copy, distribute and/or

Více

Programování v C++ 2, 4. cvičení

Programování v C++ 2, 4. cvičení Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva

Více

Objektově orientované programování

Objektově orientované programování 10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh

Více

Programátorská dokumentace

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

Více

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování problematika geometrického modelování manifold, Eulerova rovnost základní typy modelů hranový model stěnový model objemový model datové reprezentace modelů základní metody geometrického modelování těleso

Více

Zobrazování terénů pomocí GPU

Zobrazování terénů pomocí GPU MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY #ris m p Zobrazování terénů pomocí GPU DIPLOMOVÁ PRÁCE Marek Mauder Brno, jaro 2008 Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem,

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Tutoriál 3 CUDA - GPU Martin Milata Výpočetní model CUDA Organizace kódu Sériově organizovaný kód určený pro CPU Paralelní kód prováděný na GPU Označuje se jako kernel GPU

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

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Í 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

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

1. Dědičnost a polymorfismus

1. Dědičnost a polymorfismus 1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

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

Více

Matematický ústav UK Matematicko-fyzikální fakulta

Matematický ústav UK Matematicko-fyzikální fakulta Geometrické modelování Zbyněk Šír Matematický ústav UK Matematicko-fyzikální fakulta 2. října 2018 Zbyněk Šír (MÚ UK) - Geometrické modelování 2. října 2018 1 / 15 Obsah dnešní přednášky Co je to geometrické

Více

Zobrazování terénu. Abstrakt. 1. Úvod. 2. Vykreslování terénu

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

Více

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Í. 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

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ 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

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. haptického pera

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. haptického pera Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Bakalářská práce Ohmatávání a modifikace geometrických modelů pomocí haptického pera Plzeň, 2013 Barbora

Více

Rastrová reprezentace

Rastrová reprezentace Rastrová reprezentace Zaměřuje se na lokalitu jako na celek Používá se pro reprezentaci jevů, které plošně pokrývají celou oblast, případně se i spojitě mění. Používá se i pro rasterizované vektorové vrstvy,

Více

Reprezentace 3D modelu

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é

Více

HDR obraz (High Dynamic Range)

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á

Více

Kristýna Bémová. 13. prosince 2007

Kristýna Bémová. 13. prosince 2007 Křivky v počítačové grafice Kristýna Bémová Univerzita Karlova v Praze 13. prosince 2007 Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 1 / 36 Pojmy - křivky a jejich parametrické

Více

Rastrové digitální modely terénu

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á

Více

Výpočet průsečíků paprsku se scénou

Výpočet průsečíků paprsku se scénou Výpočet průsečíků paprsku se scénou 1996-2008 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca

Více

ak. rok 2013/2014 Michal Španěl, spanel@fit.vutbr.cz 24.2.2014

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

Více

Hardware pro počítačovou grafiku NPGR019

Hardware pro počítačovou grafiku NPGR019 Hardware pro počítačovou grafiku NPGR019 Matematika pro real-time grafiku Josef Pelikán Jan Horáček http://cgg.mff.cuni.cz/ MFF UK Praha 2012 Obsah 1 Homogenní souřadnice, maticové transformace Převod

Více

Úvod do GPGPU J. Sloup, I. Šimeček

Úvod do GPGPU J. Sloup, I. Šimeček Úvod do GPGPU J. Sloup, I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.3 Příprava studijního programu

Více

Více o konstruktorech a destruktorech

Více o konstruktorech a destruktorech Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení

Více

Úvod do GIS. Prostorová data I. část. Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium.

Úvod do GIS. Prostorová data I. část. Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium. Úvod do GIS Prostorová data I. část Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium. Karel Jedlička Prostorová data Analogová prostorová data Digitální prostorová

Více

Základy objektové orientace I. Únor 2010

Základy objektové orientace I. Únor 2010 Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných

Více

GPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA

GPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA GPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA HISTORIE GPU GPU = graphics processing unit jde o akcelerátory pro algoritmy v 3D grafice a vizualizaci mnoho z nich původně vzniklo pro účely počítačových

Více

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 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,

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Datové typy Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 5 Číslo: V/5 Programování v jazyce

Více

Grafické karty. Autor: Kulhánek Zdeněk

Grafické karty. Autor: Kulhánek Zdeněk Grafické karty Autor: Kulhánek Zdeněk Škola: Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, příspěvková organizace Kód: VY_32_INOVACE_ICT_826 1.11.2012 1 1. Grafická

Více

Geekovo Minimum. Počítačové Grafiky. Nadpis 1 Nadpis 2 Nadpis 3. Božetěchova 2, Brno

Geekovo Minimum. Počítačové Grafiky. Nadpis 1 Nadpis 2 Nadpis 3.  Božetěchova 2, Brno Geekovo Minimum Nadpis 1 Nadpis 2 Nadpis 3 Počítačové Grafiky Jméno Adam Příjmení Herout Vysoké Vysoké učení technické učení technické v Brně, v Fakulta Brně, Fakulta informačních informačních technologií

Více

Bakalářská práce Editor vizuálních vlastností objektů pro real-time grafiku

Bakalářská práce Editor vizuálních vlastností objektů pro real-time grafiku Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Bakalářská práce Editor vizuálních vlastností objektů pro real-time grafiku Plzeň 2012 Jan Vodička Prohlášení

Více

Základní vlastnosti křivek

Základní vlastnosti křivek křivka množina bodů v rovině nebo v prostoru lze chápat jako trajektorii pohybu v rovině či v prostoru nalezneme je také jako množiny bodů na ploše křivky jako řezy plochy rovinou, křivky jako průniky

Více

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á 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...

Více

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4 Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku

Více

Mezi jednotlivými rozhraními resp. na nosníkových prvcích lze definovat kontakty

Mezi jednotlivými rozhraními resp. na nosníkových prvcích lze definovat kontakty Kontaktní prvky Mezi jednotlivými rozhraními resp. na nosníkových prvcích lze definovat kontakty Základní myšlenka Modelování posunu po smykové ploše, diskontinuitě či na rozhraní konstrukce a okolního

Více

16. února 2015, Brno Připravil: David Procházka. Konstruktory a destruktory

16. února 2015, Brno Připravil: David Procházka. Konstruktory a destruktory 16. února 2015, Brno Připravil: David Procházka Konstruktory a destruktory Základy objektového návrhu Jak navrhovat použitelné třídy Strana 2 / 26 Obsah přednášky 1 Jak navrhovat použitelné třídy 2 Jak

Více

ALGORITMIZACE PRAKTICKÉ

ALGORITMIZACE PRAKTICKÉ LOGO IMAGINE Obsah 1. Příkazy 1.1. Základní příkazy 1.2. Vestavěné příkazy Imagine 1.2.1.Příkaz mnohoúhelník 1.2.2.Náhodná procházka 2. Matematické operace 3. Funkce 4. Predikáty 5. Konstruktory 6. Selectory

Více

Principy UML. Clear View Training 2005 v2.2 1

Principy UML. Clear View Training 2005 v2.2 1 Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat

Více

3D akcelerátory historie a architektura

3D akcelerátory historie a architektura 3D akcelerátory historie a architektura 2003-2010 Josef Pelikán, MFF UK Praha http://cgg.mff.cuni.cz/~pepca/ pepca@cgg.mff.cuni.cz NPGR019, hwintro.pdf 2010 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca

Více

Jazyk C++, některá rozšíření oproti C

Jazyk C++, některá rozšíření oproti C Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra

Více

3D ANIMACE POSTAVY V POČÍTAČOVÉ GRAFICE ANIMATION OF 3D CHARACTER IN COMPUTER GRAPHICS

3D ANIMACE POSTAVY V POČÍTAČOVÉ GRAFICE ANIMATION OF 3D CHARACTER IN COMPUTER GRAPHICS 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

Více