Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./0. 3D grafika programozása OpenGL támogatással A 3D API

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

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

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

Érdekes informatika feladatok

Számítógépes grafika

Szegedi Tudományegyetem Informatikai Tanszékcsoport tanév

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

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 22./0. 3D grafika programozása OpenGL támogatással Transzformációk

Grafikus csővezeték 2 / 77

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

3D-s számítógépes geometria és alakzatrekonstrukció

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

sgame/spaceshootgame képszintézis interakció vezérlés avatar Virtuális világ Windows + GLUT szimuláció input Virtuális világmodell

3D-s számítógépes geometria és alakzatrekonstrukció

A számítógépes grafika inkrementális képszintézis algoritmusának hardver realizációja Teljesítménykövetelmények:

Algoritmusok raszteres grafikához

Számítógépes grafika

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

JUHÁSZ IMRE. OpenGL. mobidiák könyvtár

Programfejlesztés az OpenGL segítségével (1. rész) A 3D programozás alapjai

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

Grafikus csővezeték 1 / 44

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

OpenGL és a mátrixok

Programozási környezetek

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

OpenCL - The open standard for parallel programming of heterogeneous systems

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

Szegedi Tudományegyetem Informatikai Tanszékcsoport tanév

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

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

Mintavételes szabályozás mikrovezérlő segítségével

3D koordináta-rendszerek

Véletlen szám generálás Labirintus felépítése 1x1-es felbontástól a teljes méretig

A grafika programozás módozatai A képernyő koordinátarendszere A graphics.h header-fájl fontosabb függvényei Mintaprogram

Eredmények, objektumok grafikus megjelenítése 3D felületek rajzoló függvényei

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

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

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

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

Koós Dorián 9.B INFORMATIKA

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

Programozási nyelvek JAVA EA+GY 1. gyakolat

Operációs rendszerek. Az X Window rendszer

Szoftvertechnológia alapjai Java előadások

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

Algoritmusok raszteres grafikához

Algoritmusok raszteres grafikához

Az API-nak lehetõvé kell tennie a valósidejû leképezést, vagyis hatékonynak kell lennie. Az API-nak széles körû támogatással kell rendelkeznie.

Eredmények, objektumok grafikus megjelenítése 3D felületek rajzoló függvényei.. Beépített 3D felületek rajzoló függvényei

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

Számítógépes grafika

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

MATLAB alapismeretek IV. Eredmények grafikus megjelenítése: vonalgrafikonok

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

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

ARM Cortex magú mikrovezérlők

Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák.

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Modellező eszközök, kódgenerálás

FEJLETT GRAFIKAI ALGORITMUSOK

Feladatok. Tervek alapján látvány terv készítése. Irodai munka Test modellezés. Létező objektum számítógépes modelljének elkészítése

Számítógépes grafika

A kurzusról. Pontok rajzolása. Szegedi Tudományegyetem Informatikai Tanszékcsoport

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

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

Programozás I. Grafika Eseménykezelés. Programozás I. 2. gyakorlat Interakció a grafikus felületen, tagfüggvények. Surányi Márton PPKE-ITK

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)

Termék modell. Definíció:

JUH ASZ IMRE OpenGL mobidi AK k onyvt ar

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

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

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

Készítette:

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

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?

Számítógépes Grafika mintafeladatok

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

A szerzõrõl... xi Bevezetés... xiii

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

Operációs rendszerek. Tanmenet

SMART Notebook termékcsaládok

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

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

Grafikus csővezeték (Általános áttekintés) Grafikus csővezeték (Általános áttekintés)

SZERZŐ: Kiss Róbert. Oldal1

Nagy HF u tmutato 2011/2012 II. fe le v

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Java II. I A Java programozási nyelv alapelemei

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programozási nyelvek 6. előadás

PovRay. Oktatási segédlet

3D-s számítógépes geometria és alakzatrekonstrukció

Átírás:

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./0. 3D grafika programozása OpenGL támogatással A 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./1. A kép létrehozásának elemei Tárgy(ak) Fényforrás(ok) Kamera A tárgyak fényvisszaverési tulajdonságai meghatározzák, hogyan lép velük interakcióba a fényforrás fénye. A tárgyak, a fényforrás és a kamera független egymástól. Forrás: Programming with OpenGL Part 0: 3D API http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./2. A kép létrehozásának elemei.. A leképezés geometriája - Camera Obscura Egy pont képének adatai egyszerű aránypárokkal adódnak: x p = -x/z*d y p = -y/z*d z p = d Forrás: Programming with OpenGL Part 0: 3D API http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./3. A kép létrehozásának elemei.. Középpontos vetítés Forrás: Programming with OpenGL Part 0: 3D API http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./4. A kép létrehozásának elemei.. Előnyök A tárgyak, a kamera és a fényforrások elkülönítése A két dimenziós grafika a három dimenziós grafika speciális esete Egyszerű programozási interfész szoftvert eredményez: - Tárgyak, fényforrások, kamera, jellemzők specifikálása - Implementáció által meghatározott kép Gyors hardveres implementálást tesz lehetővé. Forrás: Programming with OpenGL Part 0: 3D API http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./5. Az OpenGL részegységei és viszonyuk Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Pixel Operations Texture Memory

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./6. Előzmények SGI és GL A Silicon Graphics (SGI) forradalmi újítása volt 1982-ben grafikus munkaállomásokon a pipeline A fenti hardver programozásához kidolgozták a GL (Graphic Library) függvénykönyvtárat A GL segítségével viszonylag könnyű volt 3D-s interaktív alkalmazásokat programozni. A GL sikere vezetett az OpenGL-hez 1992-ben, mely hardverplatform független grafikus API, grafikus programozói interfész lett, nyílt, ingyenes használattal. Forrás: Programming with OpenGL Part 1: Background http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./7. Előzmények.. Az OpenGL jellemzői Könnyű vele látványos térbeli árnyalt grafikát készíteni Nagyon hardver közeli, sőt harveres implementációi is léteznek, ebből eredően kiemelkedő gyorsaságú A hangsúly az árnyalt megjelenítésen, renderelésen van Az ablakozó rendszerektől és input eszközöktől való függetlenség a rendszerfüggetlenség biztosítása érdekében Platformspecifikus sajátosságokat bővítményekkel tud kezelni Stabil működés A verziók visszafelé kompatibilisek Az Architectural Review Board felügyelőcsoport ellenőrzi (SGI, Microsoft, Nvidia, HP, 3DLabs, IBM, stb. Ma a Khronos Group. Forrás: Programming with OpenGL Part 1: Background http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./8. Verziók, 2014: OpenGL 4.4 Forrás: Programming with OpenGL Part 1: Background http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./9. OpenGL könyvtárak OpenGL alap (core) könyvtár: #include <GL/gl.h> OpenGL32 Windows-ra GL a legtöbb unix/linux rendszerre OpenGL Utility Library (GLU): #include <GL/glu.h> Magasabb szintű szolgáltatások az OpenGL-re épülve, mint pl. elemi (quadric) felületek (gömb, henger, stb.), képernyő- és világ koordinátarendszer közti átszámítás, NURBS spline, háromszögekre felosztás (tessellation), nézettartományok transzformációi, stb. A függvényei glu prefixszel kezdődnek, pl. gluortho2d(). Ablakozó rendszerekkel való kapcsolattartás függvényei GLX X window rendszerek WGL Windows AGL Macintosh. Forrás: Programming with OpenGL Part 1: Background http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./10. OpenGL könyvtárak.. OpenGL ablakozó utility könyvtár (GLUT): #include <GL/glut.h> Az összes ablakozó rendszer esetén a közös feladatokra - Ablak megnyitása - Billentyű és egéresemények fogadása - Menük - Esemény vezérelt. A kód hordozható, de hiányzik a speciális platformokat is kielégítő funkcionalitás, pl. görgetőlecek hiányoznak. GLUT = Graphics Library Utility Toolkit. Forrás: Programming with OpenGL Part 1: Background http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./11. OpenGL könyvtárak.. Szoftver szerkezet a kapcsolódó API-kkal Forrás: Programming with OpenGL Part 1: Background http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./12. Az OpenGL renderelőként működik Geometriai primitívek Pontok (vertexek), vonalak és sokszögek Kép primitívek Képek és bitmap-ek Elkülönült pipeline a képek és a geometria kezelésére - A textura mappingon (ráfeszítésen) keresztül kapcsolódnak A renderelés az állapottól függ Színek, anyagjellemzők, fényforrásjellemzők, stb.

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./13. OpenGL függvények Az OpenGL egy állapotgép Értékbeállítás (állapotváltoztatás), majd renderelés, ciklusban Az OpenGL függvények két családba tartoznak Primitivek generálása - Kimenetet okozhat, ha a primitív látható - Az állapot kontrollálja hogy a vertexek hogyan vannak feldolgozva, továbbá a primitívek megjelenését Állapot változtatás - Transzformációs függvények által - Attribútumváltoztató függvények által Az OpenGL nem objektum orientált Következésképpen eltérő típusú paraméterekkel működő azonos feladatú függvények léteznek, pl. glvertex3f, glvertex2i, glvertex3dv,.. Forrás: Programming with OpenGL Part 1: Background http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./14. OpenGL függvények.. Függvényformátum függvénynév paraméter típusa glvertex3f(x,y,z) b - byte ub - unsigned byte s - short us - unsigned short i - int ui - unsigned int f - float d - double könyvtár dimenzió 2 - (x,y) 3 - (x,y,z) 4 - (x,y,z,w) paraméterek Vektor esetén: glvertex3fv(p) p a vektor neve Forrás: Programming with OpenGL Part 1: Background http://cg.csie.ntnu.edu.tw/cg/week02_opengl.ppt#256,1,programming with OpenGL Part 0: 3D API

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./15. OpenGL alkalmazás vázlatos felépítése Az OpenGL ablak konfigurálása és megnyitása Az OpenGL állapotgép inicializálása Az inputkezelő (eseménykezelő) GLUT függvények regisztrálása renderelés (rajzolás) átméretezés felhasználói adatbevitel, input: billentyűzet, egér, stb. Belépés az eseményfeldolgozó ciklusba (az események feldolgozása)

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./16. GLUT alapú minta OpenGL programváz void main( int argc, char** argv ) { int mode = GLUT_RGB GLUT_DOUBLE; glutinitdisplaymode( mode ); glutcreatewindow( argv[0] ); init(); // mindenféle kezdeti állapotbeállítás } //A később használandó függvények regisztrálása: glutdisplayfunc( display ); glutreshapefunc( resize ); glutkeyboardfunc( key ); glutidlefunc( idle ); //Belépés az eseménykezelő ciklusba, mely használja // a regisztrált függvényeinket: glutmainloop();

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./17. OpenGL inicializálás Az alkalmazni kívánt állapot beállítása void init( void ) { //szín- és mélységbuffer törlése: glclearcolor( 0.0, 0.0, 0.0, 1.0 ); glcleardepth( 1.0 ); //Fényforrás beállítása: glenable( GL_LIGHT0 ); glenable( GL_LIGHTING ); } //Mélységteszt engedélyezése: glenable( GL_DEPTH_TEST );

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./18. GLUT callback függvények Eseménykezelő függvények, melyek meghívódnak az esemény hatására Ablak átméretezés vagy újrarajzolás Kezelői input Animáció Az eseménykezelő függvények megadása, regisztrálás glutdisplayfunc( display ); glutidlefunc( idle ); glutkeyboardfunc( keyboard );

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./19. A rajzolási (renderelő) függvény Minden rajzoló műveletet ebben kell programozni glutdisplayfunc( display ); void display( void ) //Az ablak minden frissítésénél fut { glclear( GL_COLOR_BUFFER_BIT ); //Az ablak törlése glbegin( GL_TRIANGLE_STRIP ); //Háromszögek rajzolása glvertex3fv( v[0] ); glvertex3fv( v[1] ); glvertex3fv( v[2] ); glvertex3fv( v[3] ); glend(); glutswapbuffers(); //Buffercsere }

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./20. Az animációt léptető függvény Animációhoz használjuk a rajz mozgásparaméterének léptetésére glutidlefunc( idle ); void idle( void ) { t += dt; //Lépteti az időparamétert (mozgásparamétert) glutpostredisplay(); } Az animációhoz rajzok sorozatát kell generálni. A glutidlefunc() függvény intézi ezt. Lépteti a rajz paraméterét, hogy a következő ábra kissé eltérjen, majd a glutpostredisplay() függvény a glutdisplayfunc() mielőbbi futtatását kéri a rajz újrarajzolása érdekében.

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./21. A felhasználói beavatkozás eseménykezelője Feldolgozza a felhasználói akciót glutkeyboardfunc( keyboard ); void keyboard( char key, int x, int y ) { switch( key ) { case q : case Q : exit( EXIT_SUCCESS ); //Kilép break; case r : case R : rotate = GL_TRUE; //Forgat break; } }

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./22. Rajzolási alapismeretek Geometriai primitívek Az OpenGL program állapotának kezelése OpenGL bufferek Az OpenGL pont (vertex) ( x, y, z, w ) homogén koordinátákkal van adva, mely megkönnyíti az eltolás és forgatás transzformációk egyetlen 4x4-es mátrixszal történő szorzással való elvégzését.

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./23. OpenGL geometriai primitívek A geometriai primitívek csúcsait vertexekkel adjuk meg GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_POLYGON GL_TRIANGLES GL_QUADS GL_QUAD_STRIP GL_TRIANGLE_STRIP GL_TRIANGLE_FAN

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./24. OpenGL geometriai primitívek.. Egyszerű példa: rombusz rajzolása void drawrhombus( GLfloat color[] ) { glbegin( GL_QUADS ); glcolor3fv( color ); glvertex2f( 0.0, 0.0 ); glvertex2f( 1.0, 0.0 ); glvertex2f( 1.5, 1.118 ); glvertex2f( 0.5, 1.118 ); glend(); } A rombusz síkbeli, mert z nincs megadva, így nulla. A pontokat glbegin( típus ); és glend(); között kell megadni. A pontokon kívül tetszőleges nem OpenGL utasítások is szerepelhetnek közöttük.

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./25. OpenGL szín modellek RGBA vagy Color Index, az ablakozó rendszer igényli 1 2 4 8 16 color index mód: glindex*() 0 1 2 3 24 25 26 GLUT esetén a glutinitdisplaymode() használatos egy ( GLUT_RGBA), vagy egy ( GLUT_INDEX ) konstanssal. Red Green Blue 123 219 74 Display RGBA mód: glcolor*()

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./26. Nate Robin OpenGL oktatópéldái interaktívak A renderelés a vertexek színét interpolálja a belső pontok színének számításakor

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./27. A renderelés lehetőségei Lehetőségek huzalváztól Phong árnyaláson át textúra ráfeszítéséig

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./28. Az OpenGL állapotgép jellemzői Az összes renderelési jellemzőt az állapotgép foglalja magába Renderelési stílusok Árnyékolás Megvilágítás Textúra alkalmazása.

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./29. Az OpenGL állapot manipulálása A megjelenést a renderelés előtti állapot határozza meg for each ( primitive to render ) { update OpenGL state } render primitive A vertex jellemzők manipulálása az állapotmanipulálás legáltalánosabb módja glcolor*() / glindex*() glnormal*() gltexcoord*()

Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 21./30. Az aktuális állapot beállítása Állapotbeállítás glpointsize( size ); //pontméret gllinestipple( repeat, pattern ); //vonalstílus glshademodel( GL_SMOOTH ); //árnyalási modell Tulajdonságok engedélyezése glenable( GL_LIGHTING ); gldisable( GL_TEXTURE_2D );