Grafikus szoftver Szirmay-Kalos László. Interaktív programok felépítése input csővezeték output csővezeték.

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

OpenGL 2. gyakorlat Hapák József
Grafikus szoftver alrendszer, OpenGL alapok
Hardver eszközök elhelyezkedésük szerint
Operációs rendszerek. Szoftver: Számítógépeken futtatható programok és a hozzájuk tartozó leírások, dokumentumok. Program: A számítógép számára értelmezhető.
LEgyméretű tömbök, vektorok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 17./0. lVektorok definiálása lVektorok definiálása kezdőértékekkel.
LFüggvények Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 20./0. lFüggvények deklarációja és prototípusa lA függvénydefiníció lHivatkozás.
A C nyelv utasításai. Kifejezés+ ; Utasítás printf("Hello")printf("Hello"); a=b+ca=b+c; fuggveny(a,b)fuggveny(a,b); Blokkok: több utasítás egymás után,
9. előadás (2005. április 26.) Parancssor argumentum kezelés példák (K&R) Fordítóprogramok A C előfordító 1.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke A programozás alapjai 1. (VIEEA100) 9. előadás.
2D grafikus rendszerek Szirmay-Kalos László. 2D grafikus editor: GUI, use-case, dinamikus modell L L L R LD LU MouseLDown első pont MouseLDown második...
2D grafikus rendszerek Szirmay-Kalos László.
Cells(sor száma, oszlop száma)
OpenGL Szirmay-Kalos László In theory, there is no difference
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ó
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.
Bevezetés a Java programozásba
10. előadás (2004. április 20.) A C előfordító (folytatás) Néhány hasznos compiler opció Egy tanulságos könyvtári függvény Változó hosszúságú argumentum.
1 Programozás alapjai GEIAL312B (ANSI C) BSc (Bachelor of Science) / Alap képzés 2005/2006. őszi félév Miskolci Egyetem Általános Informatikai Tanszék.
6. előadás (2005. április 5.) Struktúrák Úniók Új adattípus definíálása Dinamikus memória foglalás 1.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
2. Gyakorlat Követelmények / „C” ismétlés
Borland C/C++ mintapéldák
Borland C/C++ mintapéldák függvényekre. 1. példa Írjunk olyan függvényt amely egy számot kiirat.
Borland C/C++ mintapéldák fájlokra. 1. példa Írjon olyan programot,amely megnyit egy hw.txt fájlt és írja bele a Hello világ szöveget. Ez után zárja le.
Borland C/C++ mintapéldák mutatókra
A számítógépes grafika céljai és feladatai
Grafikus szoftver alrendszer, OpenGL alapok
Számítógépes grafika OpenGL 1. gyakorlat.
C++ alapok, harmadik óra
Rendszer és Szoftvertechnológia Tanszék
További vektor, mátrix algoritmusok
A LabVIEW használata az oktatásban
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Készítette: Csíki Gyula
Széchenyi Isván Egyetem Számítógépes hálózatok II 1 Számítógépes Hálózatok II Széchenyi István Egyetem.
Grafikus alaphardver Szirmay-Kalos László. Jelfeldolgozási megközelítés modellezés modell képszintézis Digitális kép megjelenítés Analog Digitál Képinformáció.
Számítógépes grafika Bevezetés
2D grafikus rendszerek Szirmay-Kalos László.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
Hardver eszközök elhelyezkedésük szerint
2. gyakorlat DirectX 2007/2008 tavasz Klár Gergely
Objektum orientált programozás
1 Mivel foglalkozunk a laborokon? 7. hét: Do-Loop-Until Do-Until-Looptömbök Function 7. hét: Do-Loop-Until és Do-Until-Loop ciklusok. Egy indexes tömbök,
Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
CUDA C/C++ programozás CUDA C bevezetés A segédanyag készítése a TÁMOP A/ Nemzeti Kiválóság Program című kiemelt projekt keretében.
Vizualizáció és képszintézis Sugárkövetés (Dart + GLSL) Szécsi László.
A számítógépes grafika alapjai, PPKE-ITK, Benedek Csaba, 2010 Tanagyag forrás © Szirmay-Kalos László, BME A számítógépes grafika céljai és feladatai 1.
Fájlkezelés Programozási tételek
Struktúrák a C nyelvben 1 Akkor használjuk, ha az egy egyedre jellemző különböző típusú adatokat együtt akarjuk tárolni. Lényegében típusdeklaráció. A.
Képek, képfeldolgozás Szirmay-Kalos László.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010 Grafikus szoftver alrendszer, OpenGL alapok 1. előadás (2.rész)
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM TÁVKÖZLÉSI ÉS MÉDIAINFORMATIKAI TANSZÉK Építsünk IP telefont! Moldován István
1 OpenGL grafikus rendszer Dr. Nehéz Károly egyetemi adjunktus Miskolci Egyetem Alkalmazott Informatikai Tanszék.
1 Viewing Megtekintés. 2 Miről lesz szó? ► Modellek megtekintése különböző, vagy tetszőleges irányokból ► Nézőpont áthelyezése a háromdimenziós térben.
Grafikus hardver/szoftver alapok Szirmay-Kalos László.
Programozási alapismeretek
OpenGL 2. gyakorlat Valasek Gábor
Vizualizáció és képszintézis
A struct, az union és az enum típus
Könyvtári függvények I. Input / output kezelés függvényei
Hardver eszközök elhelyezkedésük szerint
Hardver eszközök elhelyezkedésük szerint
Konverziós operátorok
Előadás másolata:

Grafikus szoftver Szirmay-Kalos László

Interaktív programok felépítése input csővezeték output csővezeték

Rasztergrafikus rendszerek LUT

Input illesztés: Interakciós sémák printf scanf printf scanf vált1 vált2 Programvezérelt: fizikai esemény - változó összerendelés PC alapján esemény állapot Esemény reakció Eseményvezérelt: fizikai esemény - változó összerendelés állapot alapján (XWindow, MsWindows) GLUT

Output illesztés: grafikus könyvtárak l OpenGL: –Képszintézis könyvtár (2D, 3D), API l 2D, 3D geometria l rajzolási állapot (state) l raszterműveletek –Op. Rendszer, Ablakozó rendszer független l ő nem ablakoz

OpenGL szintaxis glVertex3dv( … ) Paraméterszám 2 - (x, y) 3 - (x, y, z), (R, G, B) 4 - (x, y, z, h) (R, G, B, A) Adattípus b - byte ub - unsigned byte s - short i - int f - float d - double Vektor vagy skalár v - vektor - skalár gl könyvtár része

glX, wglglu Ablakozó – OpenGL – alkalmazás elhelyezkedése hw applikáció gl GLUT X v. MS-Win Ablak-kezelés widgetek Ablakozó- gl híd Utility-k, tesszellátorok Window menedzsment

Input/Output kezelés Operating system Windows GLUT main DisplayFunc KeyboadFunc IdleFunc OpenGL grafikus hardver applikáció init. callback regisztráció callback-ek SpecialFunc Reshape

OpenGL alkalmazás (GLUT) main függvény l Ablak megnyitás l Rajzolási állapot inicializálás l Display callback: –képernyő törlés, állapotváltás, rajzolás, buffercsere l Reshape callback: –nézeti transzformácó átállítása l Input callback (mouse, keyboard) l Idle callback (animáció) l Üzenethurok

OpenGL: GLUT inicializálás main( int argc, char *argv[] ) { glutInitWindowSize( 200, 200 ); glutInitWindowPosition( 100, 100 ); glutInit(&argc, argv); glutInitDisplayMode( GLUT_RGB ); glutCreateWindow("Sample Window"); // callback függvények glutKeyboardFunc( Keyboard ); glutDisplayFunc( ReDraw ); // transzformáció glViewport(0, 0, 200, 200); glLoadIdentity( ); gluOrtho2D(0.0, 100.0, 0.0, 100.0); // fő hurok glutMainLoop(); } windowviewport (0,0) (100,100) (0,0) (200,200) KeyPress WM_KEYDOWN Expose WM_PAINT

Eseménykezelés és rajzolás void ReDraw( ) { glClearColor(0, 0, 0, 0); glClear(GL_COLOR_BUFFER_BIT); } void Keyboard(unsigned char key, int x, int y) { if (key == ‘d’) { glColor3d( 1.0, 0.0, 0.0 ); glBegin(GL_TRIANGLES); glVertex2d(10.0, 10.0); glVertex2d(20.0, 100.0); glVertex2d(80.0, 30.0); glEnd( ); glFlush( ); } (100,100) (0,0) (200,200) (0,0) window viewport