Több mint fél éve írtam meg az első bejegyzésemet az nVidia Cg API-val kapcsolatosan. Emlékeztetőül: Cg Shaderezés alapok
Akkor, hogy elérjük menedzselt környezetből a Cg API függvényeit, felhasználtuk az általam készített OpenCg névre keresztelt wrapper libraryt. Az OpenCg könyvtárat a néhai Tao.Cg alaposztályait felhasználva kezdtem el fejleszteni anno. A wrapper készítésekor fontos cél volt, hogy az IntPtr-ek száma a lehető legkevesebb legyen, valamint, hogy a menedzselt osztályok felépítése a lehető legjobban hasonlítson a natív API-hoz. Ezeket a célokat úgy gondolom sikerült is elérnem, és jelenleg az OpenCg a Cg API 3.0-ás verzióját teszi elérhetővé a .NET rendszerben.
Az áprilisi verzióhoz képest az új verzió nagy előrelépése, hogy minden függvény el lett látva dokumentációs kommenttel. Ez sokat segít a fejlesztés során, hiszen így nagyon gyorsan tudunk információhoz jutni egy-egy függvényhívás működésével kapcsolatosan.
Jelenleg csak az OpenGL grafikus API-n keresztül használható, de később tervezem még a DirectX (9,10,11) függvényhívásait is elérhetővé tenni.
Most még csak hét apró példaprogram mutatja be Cg API működését, ami remélhetőleg segíti a ráhangolódást a könyvtárra. A későbbiekben a natív Cg API összes példaprogramját implementálni szeretném, mivel így a wrapper helyes működése is ellenőrizhető.
Jelenleg az OpenCg béta állapotban van, mivel nem lett „agyon” tesztelve, de ez nem jelenti azt, hogy nem megbízható a működése. Mivel a forráskódot viszonylag vállalható formába sikerült rázni, az egész projektet megosztottam a Sourceforge oldalon. A projekt továbbfejlesztésébe bárki bekapcsolódhat! Minden építő jellegű kritikát szívesen veszek.
A projekt ezen a címen érthető el: http://sourceforge.net/projects/opencgnet/
Jelenleg csak az OpenGL grafikus API-n keresztül használható, de később tervezem még a DirectX (9,10,11) függvényhívásait is elérhetővé tenni.
Most még csak hét apró példaprogram mutatja be Cg API működését, ami remélhetőleg segíti a ráhangolódást a könyvtárra. A későbbiekben a natív Cg API összes példaprogramját implementálni szeretném, mivel így a wrapper helyes működése is ellenőrizhető.
Jelenleg az OpenCg béta állapotban van, mivel nem lett „agyon” tesztelve, de ez nem jelenti azt, hogy nem megbízható a működése. Mivel a forráskódot viszonylag vállalható formába sikerült rázni, az egész projektet megosztottam a Sourceforge oldalon. A projekt továbbfejlesztésébe bárki bekapcsolódhat! Minden építő jellegű kritikát szívesen veszek.
A projekt ezen a címen érthető el: http://sourceforge.net/projects/opencgnet/
0 megjegyzés :
Megjegyzés küldése