A következő címkéjű bejegyzések mutatása: OpenGL. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: OpenGL. Összes bejegyzés megjelenítése

2013. november 30., szombat

Open Toolkit Library 1.1 beta1

Open Toolkit Library
Egy ideje már nem jelentkeztem itt a blogon, ennek nagyon sok oka van, amire most nem térek ki, de azt elmondhatom, nagyon sok új dologgal ismerkedtem meg az IT világában. Sajnos az OpenGL-re sincsen mostanában időm, de reményeim szerint a 2014-es év már más lesz. Kicsit hiányzik a számítógépes grafika és az OpenGL is persze. Ami nagyon jó hír így 2013 végén, hogy az egyetlen épkézláb OpenGL C# wrapper, az OpenTK, felébredt csipkerózsika álmából és frissült! Bizony! Már már azt hittem, ennek is vége…de nem! 2013 november 21-én jelent meg hivatalosan az Open Toolkit Library 1.1 beta1. Nézzük mi mindent hozott ez a frissítés:
  • OpenGL 4.4 és OpenGL ES 3.0 támogatás.
  • Jobb dokumentumtámogatás.
  • Támogatás a retina kijelzőkhöz.
  • Továbbfejlesztett matematika könyvtár.
  • Több mint száz hibajavítás Mac OS X, Windows 8 és Ubuntu Linux rendszerkehez.
  • Új SDL2 támogatás.
További részletek és fejlesztési ütemterv itt olvasható, a könyvtár pedig itt tölthető le. Azt gondolom ez nagyon jó hír, főleg annak tükrében, hogy a Xamarin is az OpenTK-t használja Android és iOS platformokon az OpenGL kötésére. Remélem nemsokára egy OpenTK-s tutoriált összehozunk itt a blogon.

2011. december 23., péntek

Tao Start 17 - Síkra vetett árnyékok stencil buffer alkalmazásával

Lassan elérkezik az év vége és vele együtt az OpenGL cikksorozat is a végéhez ér. Egy hosszú utat tettünk meg az első háromszögtől egészen a síkra vetített árnyékok megjelenítéséig. A tutoriál háttéranyagát sokszor támogatta Szirmay-Kalos László (2003): Háromdimenziós grafika, animáció és játékfejlesztés című könyve. Ez egy kiváló könyv az érdeklődők számára. A hozzá tartozó egyetemi előadások itt tekinthetőek meg: link

2011. november 5., szombat

Tao Start 16 - Stencil-puffer és árnyékvetés síkra

Nem is olyan rég elkészítettük első árnyékvető algoritmusunkat. Emlékezetül: Tao Start 15 - Síkra vetített árnyékok. A síkra vetített árnyék elég látványos, de akad vele egy fő probléma. Ha a földet szimbolizáló sík véges kiterjedésű, mint a mi esetünkben, előfordulhat, hogy a vetített árnyék egy része „kilóg a semmibe”.

OpenGL Stencil-puffer

Az OpenGL elsajátítása közben számos buffer használatával meg kell ismerkednünk a megfelelő grafikai hatás eléréshez. Ezek közül a legismertebb - és a legtöbbet használt is - a z-buffer, aminek a működését és fontosságát nem kell magyarázni senkinek sem. Mégis akad egy olyan tárrész az OpenGL-ben, amit az elején a legtöbb lelkes tanuló nem tud hova tenni, pedig óriási szerepe van a különféle grafikai hatások elérésben. Ez a tár pedig nem más, mint a stencil-buffer. Mivel számomra is sokáig megfoghatatlan volt, álljon most itt egy kis elméleti ismertető róla. Később persze gyakorlati példákon keresztül is megnézzük a működését.

2011. október 12., szerda

Megjelent a SharpGL 2.0 Beta 1.

Körülbelül 4-5 évvel ezelőtt találkoztam először a SharpGL néven futó OpenGL wrapperel. Akkoriban azonban a Tao Framework és az OpenTK használata teljesen elvonta róla a figyelmemet, egészen máig. Ma ugyanis, véletlenül belebotlottam újra a CodePlex-en és örömmel jelenthetem, hogy majdnem 10 év után megjelent a SharpGL wrapper 2.0 Béta verzió első kiadása. Hurrá!

2011. augusztus 9., kedd

2011. május 31., kedd

Tao Start 15 - Síkra vetített árnyékok

A háromdimenziós grafikus színterekben egy pixel színét az árnyalás és az árnyékolás együttes hatása alakítja ki. Eddigi OpenGL példáinkban csak az árnyalással foglalkoztunk. Az árnyalás a tárgyak képét alkotó pixelek színének kiszámítása a fényforrások és az objektum felületi színjellemzőinek figyelembevételével. Az árnyékolás alatt a tárgyak által a színtér más objektumaira vetett árnyékainak modellezését értjük. Ezt az OpenGL alapvetően nem támogatja. Ezért magunknak kell kidolgozni a szükséges eljárásokat.

2011. április 25., hétfő

Cg Shaderezés alapok

Ezzel a bejegyzéssel alámerülünk lassacskán a shaderek világába. De mik is azok a shaderek? Röviden a shaderek, olyan programok, melyeket a Graphical Processing Unit (GPU) hajt végre, vertex-eket illetve pixel-eket dolgoznak fel, és műveleteket hajtanak végre rajtuk. Vagyis olyan programocskák, amikkel a rögzített grafikus csővezeték egyes funkciót cserélhetjük le kedvünk szerint. Így sokkal realisztikusabb képet hozhatunk létre, azáltal hogy továbbfejlesztjük ezt az automatikus folyamatot, tehát létrehozzuk a mi shader programunkat.

2011. március 6., vasárnap

Elkészült a WebGL 1.0-s szabvány

[Prohardver] A Khronos Group a GDC (Game Developers Conference) alkalmával bejelentette, hogy elkészült a WebGL 1.0-s szabvány, ami a háromdimenziós tartalmak böngészőben való megjelenítését kínálja. A platform az OpenGL ES 2.0 alapjaira épül, vagyis a natív támogatáshoz ez a felület kell, de a PC-k az OpenGL 2.1-es API-n keresztül is használhatók. A Google Chrome 9 már kezeli a WebGL-t, továbbá az érkező Firefox 4.0, Opera 11.50 és az új Safari számára sem jelent majd problémát a háromdimenziós tartalmak megjelenítése.

2011. február 27., vasárnap

Tao Start 14 - Obj megjelenítő

OpenGL alapozó sorozatunk mérföldkőhöz érkezett. Ugyanis minden tudásunk meg van ahhoz, hogy egy összetett 3Ds modellt jelenítsünk meg virtuális világunkban. Ha visszagondolunk, akkor eddig csupán csak kockákat, gömböket és egyéb egyszerű objektumokat ábrázoltunk. Valljuk be őszintén, nem volt túlságosan izgalmas vagy látványos a végeredmény. De most ezzel szakítunk és kész 3D modelleket fogunk betölteni és megjeleníteni.

2010. december 12., vasárnap

Tao Start 13 - Mip-mapping

Sokszor előfordul, hogy ha egy textúrázott objektumhoz közelebb megyünk a virtuális világban, akkor gyakran megjelenítési hibák tűnnek fel. Ezek a problémák abból fakadnak, hogy csak egy rögzített méretű textúrát használunk, amelyek a mozgás hatására az OpenGL az objektum méreteinek megfelelően próbál megjeleníteni. Például, ha egy falra egy kis textúrát teszünk fel, majd a falhoz nagyon közel megyünk, akkor a texeleket külön-külön felismerhetjük. Ha azonban a falhoz közeledve a rögzített méretű textúrát egyre nagyobb felbontásúra cserélnénk le, akkor a textúra kép véges felbontása is kevésbé lenne észrevehető. Ezt a problémát a Mip-mapping használatával oldhatjuk meg, amely a textúrát több felbontásban tárolja el. Két egymást követő textúra felbontásának aránya egy a kettőhöz.

2010. november 9., kedd

2010. augusztus 28., szombat

2010. július 30., péntek

Tao Start 11 - Normálvektor és ColorMaterial

A számítógépes grafikában nagyon fontos szerepet töltenek be a normálvektorok. Az árnyalási feladatoknál, a látható felszínek szűrésénél, illetve a megvilágítási feladatoknál egyszerűen nélkülözhetetlenek. A fogalommal már az előző bejegyzések során megismerkedtünk, de azért nem árt még egyszer górcső alá venni a témát.

2010. július 27., kedd

Még tovább gyorsítja a grafikát az OpenGL 4.1

Alig négy hónappal az OpenGL 4.0 végleges változatának publikálását követően máris frissítés érkezett a keresztplatformos grafikus fejlesztést lehetővé tevő specifikációhoz. Az új OpenGL 4.1 legfontosabb fejlesztése a 64-bites lebegőpontos vertex shaderbemenetek támogatásának megjelenése, de a specifikáció részét képező OpenGL ES 2.0 kompatibilitási rétegnek köszönhetően a mobil és asztali környezetben egyaránt futó alkalmazások fejlesztése is egyszerűsödött.

2010. július 17., szombat

Tao Start 10 - Árnyalási alapok

Elérkeztünk egy nagyon fontos állomáshoz, ami az OpenGL-t és a számítógépes grafikát illeti. Ugyanis elkezdünk foglalkozni a megvilágítás (lighting) kérdésével, hogy végre tetszetős ábrákat varázsoljunk a képernyőre. Az OpenGL természetesen itt is a segítségünkre lesz. Már most meg kell jegyeznünk, hogy az árnyalás/megvilágítás és az árnyékolás között óriási különbség van. Árnyalásnál minden felületet (face-t) külön kell vizsgálni, tehát az egymás közti viszonyokat nem kell nézni, csak a fény és a poligon pillanatnyi állapota számít. Az árnyékolás egy sokkal összetettebb dolog, hisz ott elvileg a poligonok is árnyékolhatják egymást. Ezt az OpenGL alapból nem is támogatja, tehát, ha árnyékolni szeretnétek, akkor egyértelműen trükközni kell. De most egyelőre csak az árnyalással foglalkozzunk, vagyis pontosabban a megvilágítással.

2010. május 30., vasárnap

2010. április 13., kedd

A Graphics Library Utility Toolkit (GLUT)

Többször megemlítettük már, hogy az OpenGL nem tartalmaz az ablakok létrehozását elősegítő függvényeket, ezért egy OpenGL program számára szükséges ablakot nekünk kell létrehozni az adott nyelven, ez pedig nem is olyan egyszerű feladat. Röviden arról van szó, hogy írni kell egy Windows programot, amelynek annyi a feladata, hogy az OpenGL használatához szükséges minimum követelményeket beállítsa, azaz nyisson egy ablakot, amelybe majd rajzolni lehet.

2010. március 26., péntek

Lassan beérik az OpenTK projek


Lassan beérik az OpenTK projekt. Négy éves fejlesztés után végre megjelent az OpenTK 1.0 RC-1 verzió, ami azt jelenti, hogy nem kell sokat aludni már a végleges változatig. Hurrá!
De mi is az OpenTK? Az OpenTK vagy a teljes nevén az Open Toolkit egy C# nyelven írt szabad wrapper ami .NET környezetben (Mono-t is beleértve) teszi elérhetővé az OpenGL, OpenAL és OpenCL API-k használatát.

2010. március 21., vasárnap

Tao Start 08 - Glut szövegelés

Bármilyen programról is legyen, szó általában ki kell írni bizonyos dolgokat a képernyőre. A játékokban ilyen például, hogy mennyi töltényünk van, mennyi életünk maradt stb. Ezzel kapcsolatban rögtön eszünkbe jut, hogy mi lenne, ha mondjuk, egy 512×512-es textúrába megrajzolnánk az összes karaktert, amiből szöveget alkothatunk, majd kiíráskor ezeket a megfelelő módon bizonyos méretű négyzetekre húznánk. Ez nagyon jó ötlet, ezt használja például a Quake 3 a számok kijelzésére (életerő stb).