Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:opengl:opengl_lib3d

< OpenGl

OpenGl Lib3d

  • Szerző: Sallai András
  • Copyright © Sallai András, 2011, 2020
  • Licenc: GNU Free Documentation License 1.3

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:
*/
 
//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.

Külső linkek

oktatas/programozas/opengl/opengl_lib3d.txt · Utolsó módosítás: 2020/08/18 07:06 szerkesztette: admin