Bevezetés a CGI-be. 1. Történelem



Hasonló dokumentumok
Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

1. Bevezetés 1. Köszönetnyilvánítás A számítógépes játékfejlesztésről 3

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Plakátok, részecskerendszerek. Szécsi László

A digitális képfeldolgozás alapjai

2D képszintézis. Szirmay-Kalos László

Máté: Számítógépes grafika alapjai

Képszerkesztés elméleti feladatainak kérdései és válaszai

Képszerkesztés elméleti kérdések

Számítógépes grafika

Grafikus csővezeték 1 / 44

Textúrák. Szécsi László

Direct3D pipeline. Grafikus játékok fejlesztése Szécsi László t03-pipeline

Számítógépes Grafika SZIE YMÉK

Grafikus csővezeték és az OpenGL függvénykönyvtár

Tanács Attila. Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Transzformációk. Grafikus játékok fejlesztése Szécsi László t05-transform

Árnyalás, env mapping. Szécsi László 3D Grafikus Rendszerek 3. labor

2. Generáció ( ) 3. Generáció (2001) NVIDIA TNT2, ATI Rage, 3dfx Voodoo3. Klár Gergely

HLSL programozás. Grafikus játékok fejlesztése Szécsi László t06-hlsl

Geometriai modellezés. Szécsi László

Számítógépes Graka - 4. Gyak

Transzformációk. Szécsi László

OpenGL és a mátrixok

Tartalom. Tartalom. Hajder Levente Szakasz raszterizálása. 2017/2018. II. félév. Poligon raszterizáció.

Klár Gergely 2010/2011. tavaszi félév

A digitális képfeldolgozás alapjai. Készítette: Dr. Antal Péter

Féléves feladat. Miről lesz szó? Bemutatkozás és követelmények

Hajder Levente 2016/2017.

Tartalom. Tartalom. Hajder Levente 2018/2019. I. félév

Tartalom. Hajder Levente 2016/2017. I. félév

Számítógépes grafika

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

Valasek Gábor

Láthatósági kérdések

Számítógépes grafika

Klár Gergely 2010/2011. tavaszi félév

1.4 fejezet. RGB színrendszerek

Farkas Gyula Szakkollégium Bit- és számtologatók. DirectX9 1. Szín, fény, textúra 2. Stencil buffer használata (tükörkép, hamis árnyék)

D3D, DXUT primer. Grafikus játékok fejlesztése Szécsi László t01-system

Szegedi Tudományegyetem Informatikai Tanszékcsoport tanév

Általános áttekintés. Általános áttekintés

Minták automatikus osztályba sorolása a mintát leíró jellemzők alapján. Típusok: felügyelt és felügyelet nélküli tanuló eljárások

PovRay. Oktatási segédlet

GPGPU. Architektúra esettanulmány

Geometria brute force tárolása

Mesh from file, OrthoCamera, PerspectiveCamera. Szécsi László 3D Grafikus Rendszerek 3. labor

GRAFIKA PROGRAMOZÁSA. Bemutatkozás és követelmények. Dr. Mileff Péter

SZÍNES KÉPEK FELDOLGOZÁSA

Programozási környezetek

Klár Gergely

A számítógépes grafika alapjai kurzus, vizsgatételek és tankönyvi referenciák 2014

Számítógépes Grafika mintafeladatok

Tömörítés, kép ábrázolás A tömörítés célja: hogy információt kisebb helyen lehessen tárolni (ill. gyorsabban lehessen kommunikációs csatornán átvinni

Számítógépes grafika. Készítette: Farkas Ildikó 2006.Január 12.

Molnár Mátyás. Bevezetés a PowerPoint 2013 használatába magyar nyelvű programváltozat. Csak a lényeg érthetően!

SZE, Doktori Iskola. Számítógépes grafikai algoritmusok. Összeállította: Dr. Gáspár Csaba. Felületmegjelenítés

Képszerkesztés. Letölthető mintafeladatok gyakorláshoz: Minta teszt 1 Minta teszt 2. A modul célja

SDL_Universe SDL, C++, 3D szoftver renderelő

GPU Lab. 14. fejezet. OpenCL textúra használat. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

Alapmű veletek te rbeli adatokkal

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) b) Minden belső pont kirajzolásával (kitöltött)

Mesh generálás. IványiPéter

Kérdés Lista. A Magyarországon alkalmazott rajzlapoknál mekkora az oldalak aránya?

Térbeli transzformációk, a tér leképezése síkra

Tartalomjegyzék. Köszönetnyilvánítás... xv. Előszó... xvii. 1. Bevezető D-történelem Matematikai alapok... 7

Transzformációk síkon, térben

Termék modell. Definíció:

c) Poligon árnyalási módok (Wireframe, Wiremesh, Hidden Line, Filled Hidden Line, Constant, Smooth, Phong).

A számítógépek felépítése. A számítógép felépítése

Használati Útmutató. KeyShot alapok

A számítógépi grafika elemei. 2012/2013, I. félév

Grafikus csővezeték 2 / 77

Elemek a kiadványban. Tervez grafika számítógépen. A képek feldolgozásának fejl dése ICC. Kép. Szöveg. Grafika

A játékfejlesztés több területből áll. A kódolás csupán egy része a munkáknak.

Kedves versenyző, az alábbi feladatok illetve egy interneten kitöltendő teszt megoldására 90 perc áll rendelkezésedre.

HLSL programozás. Szécsi László

OpenGL Compute Shader-ek. Valasek Gábor

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.

Revit alapozó tanfolyam

Érdekes informatika feladatok

3D koordináta-rendszerek

Revit alaptanfolyam szerkezettervezőknek

Az MS Word szövegszerkesztés modul részletes tematika listája

SZAKDOLGOZAT. Rákos Dániel

Fraktálok és káosz. Szirmay-Kalos László

22. GRÁFOK ÁBRÁZOLÁSA

Informatika. 3. Az informatika felhasználási területei és gazdasági hatásai

Hajder Levente 2018/2019. II. félév

Hajder Levente 2014/2015. tavaszi félév

4. gyakorlat: interpolációs és approximációs görbék implementációja

7. fejezet: Mutatók és tömbök

Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer

Algoritmusok raszteres grafikához

Pixel vs. Vektor. Pixelgrafikus: Vektorgrafikus:

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

Név: RV 1. ZH. Számítógépes Modellezés (Mathematica) A csoport Okt. 15. csütörtök

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Szín számokkal Képábrázolás

Átírás:

Bevezetés a CGI-be 1. Történelem

1.1 Úttörők Euklidész (ie.. 300-250) - A számítógépes grafika geometriai hátterének a megteremtője Bresenham (60 évek) - Első vonalrajzolás raster raster készüléken, később kibővítette kör és anti-aliased aliased vonalakra Gouraud és Phong (70 évek) - Felfedezték a rendering rendering(shading) eljárásokat Jim Blinn (80 évek) - Texture mapping

1.2 Hardware - Oszcilloszkóp: Tennis for two - Televízió, RGB monitorok, LCD handheld, Atari, Famicom(8bit) - RenderMan: Toy Story - Voodoo grafikus akcelerátor - Fixed function pipeline - GeForce1 első Transform&Lighting Lighting-al rendelkező akcelerátor - nvidia CG nyelv - Programozható vertex-shadereket támogató DirectX verziók (8+) - Programozható pixel shaderek megjelenése

Bevezetés a CGI-be 2. Képfeldolgozási alapok

2. Képfeldolgozási alapok 2.1 A SetPixel SetPixel metafüggvény 2.2 Flipchains 2.3 Színezés

2.1 A SetPixel SetPixel metafüggvény A raszterizáció Az a folyamat amely során a rasztertárat adattal töltjük fel Egy raszter r készülék a rasztertár adatait olvassa ki Rasztertár Lineáris memóriarész ami képpontokat tartalmaz (framebuffer( framebuffer) Képpontok(pixel) színkódot tartalmaznak, helyük a memóriában határozza meg a koordinátákat a raszter megjelenítőn

A SetPixel algoritmus 2.1 A SetPixel SetPixel metafüggvény SetPixel(x, y, szín) framebuffer[x + y * szélesség élesség] ] = szín

2.2 Flipchains Backbuffer - Amikor közvetlenül a Videómemóriaba írunk, fellep a villogás hiba (flickering) - Backbuffer: : a rendszer memóriájába rajzoljuk a képet, majd az egész tömb tartalmát bepakoljuk a videómemóriába - a kép így csak akkor frissül amikor készen vannak a rajzolási műveletek - Flipchains: : Általában több ilyen backbuffert szoktunk használni

2.3 Színezés Színösszetétel Red Green Blue (RGB) - Egy színkód 3 darab 8 bites komponensből áll - pl: : RGB(255,0,0) a legpirosabb szint állítja elő - maximálisan: 256 3 = 16.777.216 darab szín - RGB monitor esetén maximálisan a 24 bites színkódolás, ezen felül kizárólag csak az áttetszőségre használandó - Egyéb színformátumok: CMYK, BGR

Paletták 2.3 Színezés - Minél nagyobbak a színkomponensek, annál lassúbb a kép összetevése - Hardware korlátok - Paletta: előre definiált, indexelt színkód tábla set_palette palette_pixel(x,y,szín) { c = paletta[szín] setpixel(x,y,c) } - Lehetőségünk van különféle un. paletta effektusokra

Bevezetés a CGI-be 3. Vektorgrafika

3. Vektorgrafika 2D vektorgrafika 3D vektorgrafika Transzformációk

3.1 Vektorgrafika Vektorgrafika - Rezolúciófüggetlen - Memória-barát algoritmus rajzolja ki a megadott alakzatot, nem bittérkép kódolja - Geometriai vetítések raszterizálás

3.2 Vektorgrafika Transzformációk - Minden vektor átmegy a transzformációs lépéseken - 1. WORLD - Minden hozzárendelt vektor-komponenst komponenst módosít - Módosítók: Rotate, Scale, Translate - 2. VIEW - Beállítunk egy nézőpontot és egy nézet irányt - 3. PROJECTION - Nézetmező (FOV), nézet-szög

Bevezetés a CGI-be 4. Háromszögek, textúrák

4. Háromszögek, textúrák Háromszögek a CGI-ben Textúrálás Meshek

4.1 Háromszögek, textúrák Háromszögek a CGI-ben - Vertice / Vertex olyan adatstruktúra, ami egy vektor koordinátái mellett egyéb információt is tartalmazhat (például: pozíció, textúrakoordináták,, normálvektor) - 3 vertice meghatároz egy háromszöget - a 3D grafika alapja a háromszög - a legkomplexebb modellek is háromszögekből állnak

4.1 Háromszögek, textúrák Texturálás Nagy mértékű realizmust nyújt a képnek, minimális erőforrás befektetéssel. - képet rajzolunk a háromszög felszínére - Nem módosul a poligonok / vertex-ek ek száma - Mintákat lehet készíteni - Általában hibrid módszereket alkalmazunk - Természetből választott minta vs. procedurális minta

Textúra koordináták 4.1 Háromszögek, textúrák - Egy háromszög textúra koordinátákkal rendelkezhet Pl: V1 (0,0,0,)( texturecoord (0,0) V2 (1,0,0,) texturecoord (0.5,0) V3 (1,1,0,),0,) texturecoord (0.5, 0.5) Képpont egy vertex esetén: TU * képszélesség TV * képmagasság - A grafikus hardware (vagy shader program) feladata a háromszög effektív textúrálása (általában raszterizáláskor történik)

4.1 Háromszögek, textúrák Meshek - Szükség van egy csoportosításra, az egy tárgyhoz tartozó háromszögek esetén - Helyezés, forgatás és skálázást egységesen kell végrehajtani - Megjelenik a pivot point, azaz mesh középpontja (például elhelyezni a mesht ügy lehet, hogy a pivot point koordinátáit toljuk el, a többi automatikusan adaptálódik) - Animáció, fényezés, anyag-definíció (material) és egyéb effektusokra lesz szükség

Bevezetés a CGI-be 5. Akcelerátorok

5. Grafikus Akcelerátorok Applikáció Illesztő API-k Egyszerű példa: : the Spinning Cube

Valós idejű rajzolás 5.1 Grafikus Akcelerátorok - INTERAKTIVITÁS - Shader egység ami meghatározza a háromszögeket és textúrázza őket - Rendering az a folyamat amely során a Shader megkapja a kép összetételéhez szükséges adatokat és megtörténik a Shading illetve a Raszterizálás

5.1 Grafikus Akcelerátorok Primitív típusok Pont Lista Vonal Lista Vonal sáv Háromszög lista Háromszög sáv Háromszög fan

the Spinning Cube 5.1 Grafikus Akcelerátorok Feladat: Létrehozni egy forgó kockát a grafikus akcelerátort használva. Lépések: -Inicializálni az API-t t és az akcelerátort -Feltölteni a VertexBuffert -Feltölteni az IndexBuffert -Beállítani a mátrixokat (world( world, view, projection) -Elkészíteni a render render loop-ot ot ami folytonosan frissíti a képet -Beállítani a tanszformációkat -Beállítani a StreamSource-ot ot -Rajzolási lépés -Page-Flip -Felszabadítani a használt eszközöket

Vertex,, Index buffer 5.1 Grafikus Akcelerátorok Probléma: -egy kocka esetén, tarolni kéne 36 darab vertice-t -egy Kockának csak 8 darab csomópontja van Megoldás: -Tároljuk a 8 csomópontot egy tömbbe -A háromszögek meghatározásához, csak indexeket használjunk pl: 1 vertice mérete (x float, y float, z float, tx float, ty float) = 20Byte 1 index mérete (word) = 2Byte -Kocka definiálása indexbuffer nélkül: 36x20Byte = 720Byte -Kocka definiálása indexbufferral: 8x20Byte + 36x2 Byte = 232Byte A Memóriahasználat az eredeti 32%-ára csökkent