› Strukture podataka


Assimp biblioteka vraća uvezene podatke kao skup struktura.

Struktura aiScene formira korijen podataka, od kojeg je moguće pristupiti svim čvorovima, mrežama, materijalima, animacijama i teksturama koje su učitane iz uvežene datoteke. aiScene se vraća kada se uspješno izvrši metoda Assimp::Importer::ReadFile(), aiImportFile(), ili aiImportFileEx().

Prema osnovnim postavkama, svi podaci za 3D su distribuirani u desnom Kartezijevom koordinatnoom sustavu (isto kao što ga koristi i OpenGL). U takvom koordinanom sustavu, +X ide udesno, +Z ide prema promatraču, a +Y ide prema gore. Mnogi paketi za modeliranje, poput 3D Studio Maxa koriste taj koordinatni sustav. Međutim, postoje mnogi sustavi koji koriste upravo lijevi Kartezijev koordinatni sustav, a najpoznatiji takav sustav je DirectX. Ako želimo uvezene objekte translatirati u lijevi Kartezijev koordinatni sustav, potrebno je koristiti zastavicu aiProcess_MakeLeftHanded unutar poziva metode ReadFile().

Točke se u Assimpu crtaju obrnuto od smjera kazaljke na satu (face winding). Kako bi se točke iscrtavale u smjeru kazaljke na satu, potrebno je koristiti zastavicu aiProcess_FlipWinding.

Izvozni 2D koordinatni sustav ima točku (0, 0) u donjem lijevom kutu:

0y|1y ---------- 1x|1y 
  | 	 	   |
  |                |
  |                |
0x|0y ---------- 1x|0y

Sve matrice se u memoriji spremaju red po red, slično kao i kod OpenGL-a. Tipična 4x4 matrica sa dijelom za translaciju izgleda ovako:

X1 Y1 Z1 T1
X2 Y2 Z2 T2
X3 Y3 Z3 T3
0  0  0  1

Ako želimo koristiti ovakvu matricu u DirectX funkcijama, potrebno ju je transponirati.