Op vrijdag 14 september 2001 08:18 schreef Janoz het volgende:
Bij een 3d engine heb je meer aan wiskunde dan aan programeer ervaring....
BASICS
Waar je op moet letten zijn de transformaties. Er zijn een aantal basic transformaties (denk aan tekenprogramma). Deze zijn schalen, verplaatsen en draaien. Daarnaast is voor een 3d engine de perspectief transformatie ook een belangrijke.
Heb je gelijk in Janoz, misschien is het nog wat een inkopper om erachteraan te vermelden maar je doet de transformatie wel ergens op he.
Je moet sowieso uitgaan van een coordinatenstelsel, er zijn meerdere soorten coordinaten maar normaal gesproken zit je toch in een xyz-assenstelsel te werken.
Een object wordt vaak gedefinieerd als een verzameling punten in de 3D-ruimte ("vertices") verbonden door lijnen ("edges"). Een 3D-object wordt dus normaal gesproken ook opgeslagen als een verzameling vertices en edges. Het formaat waarin die edges staan opgeslagen kan varieren, zo zei hier eerder al iemand dat de modellen vaak uit driehoeken bestaan. Een handigheid hiervan is dat je de edges en vertices ook in zogenaamde "triangle-strips" en ook "triangle-fans" kan opslaan, wat een hoop opslagruimte bespaart. (hier valt vast ook veel over te vinden op i-net).
Tijdens het afbeelden van de objecten zelf zijn dingen als Hidden Surface Removal ook erg handig, je bepaalt welke dingen vanuit het perspectief van de kijker niet te zien zijn (de achterkant van een niet doorzichtig object bijvoorbeeld) zodat je de moeite kan besparen om die lijnen/vlakken af te beelden, wat het zaakje weer een stuk sneller maakt.
Een laatste tip: er zijn veel boeken over Computer Graphics en 3D, ik denk dat zoiets ook erg handig zou zijn
Succes