March 15, 2011

karthiksrini karthiksrini
Lab Rat
16 posts

Using 3d models (.obj) AND materials (.mtl) in an opengl application

 

Hi,

I have been trying to figure out how to use .obj format 3d models and the associated material files (.mtl) using opengl in a Qt app.
I have had enough examples on loading the obj model into the application which I am able to do. But I can’t figure out how to use the mtl files.

Any suggestions or pointers on this would be really useful.

Thanks,
Karthik

14 replies

March 15, 2011

ZapB ZapB
Robot Herder
1359 posts

I think that you will have to parse the MTL files yourself and translate them into suitable calls to glLightfv. I do not know of anything with Qt that will do this for you.

Have you checked out the Qt3d [qt.gitorious.org] stuff in gitorious? This may have some classes that can help you. I certainly think that it provides helpers fo rthe .obj format.

 Signature 

Nokia Certified Qt Specialist
Interested in hearing about Qt related work

March 16, 2011

karthiksrini karthiksrini
Lab Rat
16 posts

ZapB wrote:
I think that you will have to parse the MTL files yourself and translate them into suitable calls to glLightfv. I do not know of anything with Qt that will do this for you.

Have you checked out the Qt3d [qt.gitorious.org] stuff in gitorious? This may have some classes that can help you. I certainly think that it provides helpers fo rthe .obj format.

Thanks. I was just hoping that someone would’ve already done something like parsing the mtl files and could possibly help me with that. I will checkout Qt3d though and see what’s in it.

March 16, 2011

laumaya laumaya
Lab Rat
35 posts

Hi,
Two others possibilities :

  • you can use GLC_lib [glc-lib.net] to load and view your model
  • you review code of the class : GLC_ObjMtlLoader [glc-lib.net]

@+

March 17, 2011

karthiksrini karthiksrini
Lab Rat
16 posts

laumaya wrote:
Hi,
Two others possibilities :
  • you can use GLC_lib [glc-lib.net] to load and view your model
  • you review code of the class : GLC_ObjMtlLoader [glc-lib.net]

@+

Thanks. That sounds interesting. Let me dig my teeth into that see how it tastes… :D
laumaya, is that project something you run all by yourself?

March 17, 2011

laumaya laumaya
Lab Rat
35 posts
karthiksrini wrote:
laumaya, is that project something you run all by yourself?

Yes.

March 22, 2011

karthiksrini karthiksrini
Lab Rat
16 posts

Laumaya, I am trying to build glc_lib and the examples. The main glc library builds fine. But when I tried to build example09, I get a linker error. Any idea? I have the .pro file configured to find the include files and libs.

  1. release/glwidget.o:glwidget.cpp:(.text+0x18c): undefined reference to `_imp___ZN20GLC_3DViewCollection11boundingBoxEv'
  2. release/glwidget.o:glwidget.cpp:(.text+0x600): undefined reference to `_imp___ZN20GLC_3DViewCollection11boundingBoxEv'
  3. release/glwidget.o:glwidget.cpp:(.text+0x7d4): undefined reference to `_imp___ZN9GLC_3DRepaSERKS_'
  4. release/glwidget.o:glwidget.cpp:(.text+0x11fb): undefined reference to `_imp___ZN20GLC_3DViewCollection11boundingBoxEv'

March 22, 2011

laumaya laumaya
Lab Rat
35 posts

It seems that you have not installed GLC_lib correctly.
Please, check the help page of GLC_lib : http://www.glc-lib.net/help.php [glc-lib.net]

March 22, 2011

karthiksrini karthiksrini
Lab Rat
16 posts

ZapB, I tried Qt3d and the model viewer example directly loaded the obj file along with mtl files! Thanks!
I however had some difficulty loading the 3ds format of the same model though.

March 22, 2011

karthiksrini karthiksrini
Lab Rat
16 posts
laumaya wrote:
It seems that you have not installed GLC_lib correctly. Please, check the help page of GLC_lib : http://www.glc-lib.net/help.php [glc-lib.net]

Thanks! I was using qt creator and I didn’t realize that I had forgotten the make install.
Another quick question. Can I load animated models too using GLC_lib?

March 22, 2011

laumaya laumaya
Lab Rat
35 posts

No, GLC_lib doesn’t support animated model.

August 16, 2011

hurricane hurricane
Lab Rat
3 posts

hi karthik,

i have just started learning Qt.I m getting problems in loading 3D textures from obj files.Can u please send me some examples showing how to load 3d textures from obj files…

Regards
hurr[i]cane

August 16, 2011

karthiksrini karthiksrini
Lab Rat
16 posts

hurricane wrote:
hi karthik,

i have just started learning Qt.I m getting problems in loading 3D textures from obj files.Can u please send me some examples showing how to load 3d textures from obj files…

Regards
hurr[i]cane

You can use both Qt 3D and GLC_Lib as mentioned. Both these have examples. I was able to directly load them using the examples.

August 17, 2011

hurricane hurricane
Lab Rat
3 posts

I want to load 3D models and textures for symbian 3 devices using Qt with openGL ES 1.1 . Can u provide some example for that…

Regards
hurr[i]cane

August 17, 2011

karthiksrini karthiksrini
Lab Rat
16 posts

hurricane wrote:
I want to load 3D models and textures for symbian 3 devices using Qt with openGL ES 1.1 . Can u provide some example for that…

Regards
hurr[i]cane

Ah, for symbian… Then I guess you can’t use GLC Lib. (laumaya?)
However I think you should be able to use Qt 3d. I haven’t tried it on symbian. So I don’t have exact pointers for you there.

 
  ‹‹ What does "block" mean in QTextCursor?      Add two numbers ››

You must log in to post a reply. Not a member yet? Register here!