[[:oktatas:programozás:opengl|< OpenGl]] ====== OpenGl Lib3d ====== * **Szerző:** Sallai András * Copyright (c) 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 ==== 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 ===== * http://www.donkerdump.nl/node/207