Tartalomjegyzék
OpenGl Lib3d
- Szerző: Sallai András
- Copyright © Sallai András, 2011, 2020
- 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
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: */ //For the veretx, for the texels just change the pointer glBufferData(GL_ARRAY_BUFFER, 3*sizeof(float)*points, myvertexarray, GL_STATIC_DRAW); glBufferData(GL_ELEMENT_ARRAY_BUFFER,3*sizeof(uint)*faces, myfacesarray,GL_STATIC_DRAW); //Then just call glDrawElements with indices to 0.