< OpenGl

OpenGl Lib3d

Szerző: Sallai András

Copyright © Sallai András, 2011

Licenc: GNU Free Documentation License 1.3

Web: http://szit.hu

Bevezetés

Cél a 3D-Studió fájlok használatához lib3ds könyvtárak telepítésének bemutatása.

Beszerzés

Windows

http://www.lib3ds.org

Egyetlen állomány töltehtő le amely forrásban tartalmazza a lib3ds könyvtárakat.

lib3ds-20080909.zip

Debian GNU/Linux Lenny

apt-get install lib3ds-dev

Telepítés

Windows

lib3ds könytárak telepítése

Először le kell fordítani a forrás állományokat. A forrásban találunk egy MS Visual Studio projekt fájlt. Ezen keresztül importálnunk kell a projektet a CodeBlocksba. Ehhez válasszuk a CodeBlocksban a File → Import project → MS Visual Project … menüpontot. Keressük meg az src könyvtáraban a lib3ds.vcproj nevű fájlt (Importáláskor valójában más állomány nem is látszik).

Az álltalam letöltött 20080909 verziójú forrásban két helyen kellett javítást végeznem ahhoz, hogy leforduljon a projekt:

Linux

A lib3ds a beszerzés során települt, nincs több lépésre szükség.

Használat

Windows, Linux

Használatra találunk példát a lib3ds könyvtár weboldalán: http://www.lib3ds.org

Lib3dsFile* myfile = lib3ds_file_load("MySuperModel.3ds");
Lib3dsMesh* miObjeto = lib3ds_file_mesh_by_name(myfile, "airplane");
//Mesh objects have this members:
uint points;
uint faces;
uint texels//points = texels;
Lib3dsPoint* pointL;//vertex
Lib3dsFace* faceL;//indices
/*
Copy this fields to your own arrays(I don't know why it doesn't work when i send them directly to VBOs);
If you are using VBOs:
*/
glBufferData(GL_ARRAY_BUFFER, 3*sizeof(float)*points, myvertexarray, GL_STATIC_DRAW);//For the veretx, for the texels just change the pointer
glBufferData(GL_ELEMENT_ARRAY_BUFFER,3*sizeof(uint)*faces, myfacesarray,GL_STATIC_DRAW);
//Then just call glDrawElements with indices to 0.

Külső linkek

http://www.donkerdump.nl/node/207