Nu var det dags för ännu ett nytt projekt. Efter en tids funderande har jag nu kastat mig över att åter bekanta mig med OpenGL och hur det fungerar i Cocoa. Har förut gjort en hel del OpenGL på olika plattformar dock oftast med något mellan lager som GLUT, SDL eller liknande.
Nu har jag däremot bestämt mig och delvis blivit tvingad att göra något åt saken. Ett gammalt projekt som är baserat på SDL vill inte riktigt kompilera som det ska med nya SDL och nyare OS X sdk. Inte helt förvånande och ger mig en ursäkt att ta tag i Cocoa OpenGL igen.
Jag fick då två val framför mig, CGL eller NSOpenGLView. CGL är en mer lågnivå access mot OpenGL medan NSOpenGLView är högnivå drivet och kan till stor del hanteras genom Interface Builder. Valet föll på det senare då en snabb sökning på hur CGL är bestämde jag mig snabbt för att fokusera på OpenGL och inte initiering av renderingen.
Dagens snabba hackande har resulterat i att jag har ett Cocoa projekt med en NSOpenGLView drivet av NSTimer för renderingen. Detta ger en bra bas för att nu börja lyfta mitt gamla projekt över till en ny Cocoa bas. För att klargöra så är det inte "bara" att kopiera källkod och hacka in lite anrop. Min gamla kodbas består av lite egenutvecklade bibliotek för texturhantering, bildhantering, kamera och lite mer. Allt detta ska nu kodas om i objective-c och använda Cocoa. Tanken är att dels lära sig mer om Cocoa och dess ramverk samt göra det enklare att publicera koden som ger detta.
I skrivande stund ser programmet inte mycket ut för världen. Däremot ska det blir snyggare om ett par dagar hoppas jag. Ovan är en skärmdump från hur det såg ut för några år sedan med dåvarande bas förhoppningsvis kommer det se bättre ut när jag är klar med det. När det nu än blir.