Modellek
A bonyolultabb geometriájú modelleket célszerű külön fájlokban tárolni, és onnan tölteni be őket a memóriába. Az egyszerűsége miatt a javasolt modelformátum a Wavefront OBJ. A formátummal kapcsolatos néhány leírás itt található:
OBJ fájl betöltése
- 2016. április 12: A modellbetöltőben a
clear_comment
függvény korrigálva lett, mert bizonyos programok az OBJ exportálásánál szóközt raknak a sortörés elé.
A model_viewer.zip fájlban van egy példa arra, hogy hogyan lehet modellt textúrával együtt betölteni és megjeleníteni.
A uv_map.zip fájlban lévő programmal ki lehet rajzoltatni, hogy a betöltött textúrának mely részei kerülnek majd leképzésre.
Példa a sample.obj fájl betöltésére
A modell betöltésénél és megjelenítésénél elég sok hiba előfordulhat. Érdemes a következőkre figyelni.
- Meg kell nézni, hogy a modellfájlt be sikerül-e tölteni. A modell betöltésekor írja a program, ha gond lenne.
- A SOIL a dokumentáció alapján tud kezelni JPG és PNG fájlokat, de néhány JPG betöltésével a tapasztalatok alapján nem boldogul. Érdemes kirajzoltatni vele először a textúrát, ha az a modellen nem látszana.
- A textúrapontok
u
,v
koordinátáit alapvetően[0; 1]
intervallumon kellene, hogy legyenek. Ez az OBJ fájlok egy részében nem így van, ezért érdemes megnézni azuv_map
-pel, hogy hol keresi a textúra egyes részeit. Ezek alapján transzformálni kellhet ezeket a koordinátákat. - A modellek méretezése, irányultsága és elhelyezkedése változó. Ha nem saját készítésű modellről van szó, akkor érdemes megnézni a
print_bounding_box
függvénnyel, hogy mekkora a modell, és a skálázást és kamerát annak megfelelően átállítani. - A nem látható lapok eldobása miatt, ha a csúcspontok sorrendje nem megfelelő, akkor a modell nem jól fog megjelenni. Ha minden betöltendő modell ilyen, akkor a programban lehet korrigálni a sorrendet, de célszerűbb magát a modellfájlt átalakítani inkább.
- Ingyenes OBJ modelles weboldal http://tf3dm.com/