Vizualizáció és képszintézis Térfogati textúrák kezelése (Dart + GLSL) Szécsi László.

Slides:



Advertisements
Hasonló előadás
Osztály leszármaztatás
Advertisements

Lua script Szécsi László
GPU Szirmay-Kalos László.
2D képszintézis Szirmay-Kalos László. Számítógépes grafika feladata képszintézis Virtuális világ modell modellezés Metafórák: 2D rajzolás világ = sík.
Számítógépes grafika Szirmay-Kalos László
Térfogatvizualizáció Szirmay-Kalos László. Térfogati modellek v(x,y,z) hőmérséklet sűrűség légnyomás potenciál anyagfeszültség... v(x,y,z) tárolás: 3D.
Számítógépes grafika Szirmay-Kalos László
Bevezetés.  A számítógépes grafika inkrementális képszintézis algoritmusának hardver realizációja  Teljesítménykövetelmények:  Animáció: néhány nsec.
GPGPU labor I. OpenGL, Cg.
 Nincs szinkronizáció és kommunikáció  Csővezeték alkalmazása  Párhuzamosítás Proc 2Proc 1 Csővezeték Proc 1 Proc 21 Proc 22 Párhuzamosság.
Az adatok rendezése. Rendezzük át az állományt a kor szerint növekvő sorrendbe!
JavaScript.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Mérés és adatgyűjtés laboratóriumi gyakorlat Virtuális méréstechnika levelező Mingesz Róbert 2. Óra október 8.
Textúrák, világmodellek
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
A KÜLSŐ TANTÁRGYI KONCENTRÁCIÓ LEHETŐSÉGEI AZ INFORMATIKAÓRÁN
Fejlett grafikai algoritmusok Megvilágítási modellek
Számítógépes grafika 3. gyakorlat.
Számítógépes Grafika Programtervező informatikus (esti)‏ Textúrázás.
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
VI. Konténerek 18. Tömbök 19. Rendezés, keresés, karbantartás
Objektum orientált programozás a gyakorlatban
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Térfogatvizualizáció Szirmay-Kalos László. Térfogati modellek v(x,y,z) hőmérséklet sűrűség légnyomás potenciál anyagfeszültség... v(x,y,z) tárolás: 3D.
Térfogatvizualizáció
Motor I. Scene graph XML Rendering Szécsi László.
Environment mapping Szécsi László. Új osztály: Lab3EnvMap copy&paste: Lab2Trafo.h -> Lab3EnvMap.h copy&paste: Lab2Trafo.cpp -> Lab3EnvMap.cpp copy&paste:
Térfogatvizualizáció
Számítógépes grafika Bevezetés
Rendering pipeline Ogre3D
Textúrák Grafikus játékok fejlesztése Szécsi László g07-texture.
Megjelenítő-motor, színtér- menedzsment Szécsi László.
Effect framework, HLSL shader László Szécsi. forráskódban elérhető egyszerűsíti a shaderek fordítását, rajzolási állapot beállítását – pass: egy ilyen.
Többmenetes renderelés Grafikus játékok fejlesztése Szécsi László g11-multipass.
 Kvantált kép fényesség értékei: G [ 0, Gmax ]  G fényességű pontok száma: P(G)
GPGPU labor III. Iteratív algoritmusok. Kezdeti teendők Tantárgy honlapja, Iteratív algoritmusok A labor kiindulási alapjának letöltése (lab3base.zip),
GPGPU labor II. GPU mint vektor processzor. Kezdeti teendők Tantárgy honlapja, Bevezetés – Alap könyvtárak letöltése Tantárgy honlapja, GPU mint vektor.
Számítógépes grafika DirectX 5. gyakorlat. Emlékeztető Háromdimenziós alapok befejezése Textúrázás.
OpenGL 4 shaderek, GLSL Valasek Gábor
Brightr Megvilágítás modellezése. Csapattagok  Illés László  Palatinus Endre  Provits Milán  Török Péter.
Fejlett grafikai algoritmusok Megvilágítás SZTE, 2010.
Vizualizáció és képszintézis Sugárkövetés (Dart + GLSL) Szécsi László.
Számítógépes grafika OpenGL 5. gyakorlat.
A hálózati terminológia alapszintű megismerése, internetes ismeretek
Számítógépes Grafika OpenGL 4 shaderek, GLSL. OpenGL 4 A következő programozható fázisok vannak a 4.x-es OpenGL-ben: Vertex shader Tesselation control.
Fájlkezelés Programozási tételek
Képek, képfeldolgozás Szirmay-Kalos László.
Vizualizáció és képszintézis Térfogati fényterjedés Szécsi László.
Grafikus szoftver Szirmay-Kalos László. Interaktív programok felépítése input csővezeték output csővezeték.
Bevezetés.  Miért …  … egyszálúan programozunk?  … probléma ez?  Hogyan …  … változik ez?  … tudjuk kihasználni?  Megéri-e párhuzamosítani?
Szécsi László 3D Grafikus Rendszerek 17. előadás
A grafikus hardware programozása
Szécsi László 3D Grafikus Rendszerek 4. labor
Vizualizáció és képszintézis
Vizualizáció és képszintézis
Szécsi László 3D Grafikus Rendszerek 1. labor
Vizualizáció és képszintézis
gg004-Mesh project copy-paste-rename gg002-App folder
Alapok Model betöltés Anyagjellemzők Fényforrások Shaderek
OpenGL II.
Material+ kioptimalizált uniformok
JavaScript a böngészőben
Direct3D DirectCompute
Environment mapping Szécsi László
3. osztályban.
JavaScript a böngészőben
Input / Output.
Előadás másolata:

Vizualizáció és képszintézis Térfogati textúrák kezelése (Dart + GLSL) Szécsi László

Új textúra-objektum (Quad osztályba mehet) // tagváltozó WebGL.Texture texture;

Textúra létrhozása és betöltése Quad.createResources(WebGL.RenderingContext gl, String baseUrl, Function mediaLoadedCallback){ texture = gl.createTexture(); ImageElement img = new ImageElement(); Completer c = new Completer(); img.onLoad.listen((_) { gl.bindTexture(WebGL.RenderingContext.TEXTURE_2D, texture); gl.texImage2D(WebGL.RenderingContext.TEXTURE_2D, 0, WebGL.RenderingContext.RGBA, WebGL.RenderingContext.RGBA, WebGL.RenderingContext.UNSIGNED_BYTE, img); c.complete(img.src); }); img.src = '$baseUrl/textures/brain-at_4096.jpg'; c.future.then( (_) {mediaLoadedCallback();} );

Quad létrehozása quad = new Quad.createResources(gl, getBaseUrl(), requestRedraw); // az init végén meg nem kell requestRedraw, induljon a rajzolás a kitöltés után

Fragment shader // uniform változó uniform sampler2D volume; // olvasás a textúrából texture2D(volume, tileOffset0 + inTile);

Textúra bekötése // tagváltozó WebGL.UniformLocation _volumeLocation; // shaderfordítás után _volumeLocation = gl.getUniformLocation(program, 'volume'); // rajzolás előtt gl.uniform1i(_volumeLocation, 0); gl.bindTexture(WebGL.RenderingContext.TEXTURE_2D, texture); gl.texParameteri(WebGL.RenderingContext.TEXTURE_2D, WebGL.RenderingContext.TEXTURE_MIN_FILTER, WebGL.RenderingContext.LINEAR); gl.texParameteri(WebGL.RenderingContext.TEXTURE_2D, WebGL.RenderingContext.TEXTURE_MAG_FILTER, WebGL.RenderingContext.LINEAR);