Dit is een archief-pagina

Dit is een archief-pagina. Ik werk deze pagina niet meer actief bij.
Informatie kan verouderd zijn, en links lopen mogelijk dood.
Maar, misschien heeft iemand er nog wat aan.


3D Programming met OpenGL

OpenGL Logo Allegro is niet zo geschikt voor 3D games, omdat het geen hardware 3D kaarten en accelerators ondersteunt. Voor snelle 3D games kan je eens kijken naar OpenGL (de drivers hiervoor worden met de meeste grafische kaarten meegeleverd). OpenGL zorgt voor de '3D rendering' oftewel het uitrekenen van de 3D plaatjes. Maar OpenGL bevat geen routines om dit dan daadwerkelijk op het scherm te zetten, of geluidseffecten afhandelen, of ... Hier is altijd nog een extra laag voor nodig, bijvoorbeeld GLUT, SDL of AllegGL (de laatste kruising tussen Allegro en OpenGL is nog in ontwikkeling).

Een andere mogelijkheid voor 3D-programming is DirectX, maar dit is alleen voor Windows beschikbaar. En ziet er veel moeilijker uit.

OpenGL met SDL

Ik heb in experimenten OpenGL samen met SDL gebruikt, door de packages hiervoor te downloaden vanuit de Dev-C++ package manager (zie menu Tools --> Check for Updates/Packages). Hiermee kan je OpenGl/SDL projecten maken (bijvoorbeeld via New Project --> Other -> SDL&GL), en dat werkt bij mij.

GLAUX: Probleem is dat in veel van de NeHe stand-alone OpenGL voorbeelden de GL uitbreidingslibrary GLaux wordt gebruikt; deze wordt niet standaard geïnstalleerd en is wat lastig op het web te vinden. Ik hem een vrij compleet pakket (inclusief header files etc: gl.h, glu.h, glu_.h, glut.h, glaux.h, glext.h, OPENGL32.DLL, GLU32.DLL, glut32.dll, glaux.dll, glut32.lib) gevonden (maar niet getest) op een Franse coding site: zie de AddOns. De glaux.dll moet je installeren in je Windows/System32 directory, de glaux.h file in de Dev_C++ include/gl directory.

Heel goede uitleg voor OpenGL, met veel tutorials, voorbeeldcode en zo is te vinden op NeHe: nehe.gamedev.net. Zonder meer geweldig! Tientallen 3D tutorials, bitmap handling, belichting, alles wordt behandeld, met voorbeeldcode zowel voor stand-alone OpenGL als voor SDL/OpenGL combi, als voor zeer veel andere platforms!

SDL DLL: wordt niet standaard gedaan bij installeren van de SDL package in Dev_C++: kopieer SDL.dll en SDL_image.dll van Dev-Cpp/Dll naar Windows/System32

SDL/OpenGL van NeHe: De NeHe voorbeelden voor SDL zijn bedoeld voor Linux, en niet voor Dev-C++. Ik los dit als volgt op: maak in Dev_Cpp een nieuw SDL&GL project aan, en kopieer de inhoud van de NeHe voorbeeldfile dan in de project main.c file. In Project --> Project Options --> Files voor main.c 'Compile as C++' uitzetten (niet strikt nodig maar maakt de executable kleiner). En in Project --> Project Options --> Parameters de optie -lglu32 toevoegen achteraan de linker opties.

Meer info over OpenGL

The OpenGL 'Red Book', het officiële OpenGL boek?

Hier nog wat OpenGL, onder andere FAQ's (Frequently Asked Questions, veelgestelde vragen):

Bij gebrek aan SDL als integrerende laag wordt ook vaak verwezen naar GLUT, de OpenGL Utility Toolkit, een systeem-onafhankelijke (Windows, Linux, ...) toolkit om OpenGL programma's te schrijven. Het implementeert een simpele window applicatie programming interface (API) voor OpenGL. De Windowsversie is te vinden op GLUT for Windows. Een alternatief is FreeGLUT, een open-source alternatief voor de OpenGL Utility Toolkit (GLUT) library, die iets actiever de OpenGL ontwikkelingen probeert te volgen. Maar... ik gebruik liever Allegro of SDL, ook omdat deze ook functies voor geluid, muziek, en zo voort leveren.

3D game engines

Een 3D game engine is CA3D , voor mij niet helemaal duidelijk of'ie niet-commercieel gratis is te gebruiken. Kijk ook eens op 3dengines.net waar veel info over 3D programmeren is te vinden.

Voor meer links naar game engines, zie mijn programming links page.