Loading 3D models with the min3D framework for Android

Posted by on May 17, 2010 in 3D, Android88 comments

NOTE: This OpenGL ES 1.1 framework isn’t maintained anymore. Check out the OpenGL ES 2.0 Rajawali framework which also supports live wallpapers.

Min3D is a new 3D framework based on OpenGL ES for Android. It’s still in its early stages, but new stuff is getting added rapidly. If you have an Android phone you can download the demo .apk file and install it on your phone.

I started contributing to the framework by writing a parser for .obj files. Almost all 3D programs export to this format, so it was an obvious choice. The first version of this parser has just been committed to Google Code and I still need to add support for a couple of things:

  • multiple objects in one file
  • groups of objects
  • bump map, specular texture map, etc

Here’s an example of how to use the new Obj parser. These are the export option from Blender:

Blender to Obj  exporter options

Blender to Obj exporter options

When you export materials, you can also select “copy images” .

The Obj file should be exported to [your android project]/res/raw. Both the .obj and .mtl files have the same filename and should be renamed so there are no conflicts in the resource manager. It is best to remove the dot between the file name and the extension and replace it with an underscore. Like so:

  • camaro.obj renamed to camaro_obj
  • camaro.mtl renamed to camaro_mtl

Don’t worry about changing the file names in the file itself. The parser will take care of this. Just be sure that there are no paths prefixed to the file name.

The images should be placed in [your android project]/res/drawable. You don’t need to worry about file extensions here. Here’s what the structure looks like for the demo project:

Example project structure

Example project structure

Now all that’s left is adding a few lines of code. It’s as simple as creation a new Activity that is based on min3D’s RenderActivity. The parser code should be added to the initScene() method:


package min3d.sampleProject1;

import min3d.core.Object3dContainer;
import min3d.core.RendererActivity;
import min3d.parser.IParser;
import min3d.parser.Parser;

/**
 * How to load a model from a .obj file
 *
 * @author dennis.ippel
 *
 */
public class ExampleLoadObjFile extends RendererActivity {
	private Object3dContainer objModel;

	@Override
	public void initScene() {
		IParser parser = Parser.createParser(Parser.Type.OBJ,
				getResources(), "min3d.sampleProject1:raw/camaro_obj");
		parser.parse();

		objModel = parser.getParsedObject();
		objModel.scale().x = objModel.scale().y = objModel.scale().z = .7f;
		scene.addChild(objModel);
	}

	@Override
	public void updateScene() {
		objModel.rotation().x++;
		objModel.rotation().z++;
	}
}

The Parser.createParser() method takes two arguments:

  • the parser type (only obj for now)
  • the location of the obj file resource (in “package:type/entry” format)

The rest should be self-explanatory.

This is what the result looks like for the example project:

Example min3D Obj parser output

Example min3D Obj parser output



Tags: , , , ,


88 comments

» Comments RSS Feed
  1. [...] just committed an update to min3D’s .obj file parser.  Yesterday’s tutorial showed how you can import an .obj file into [...]

  2. [...] the previous tutorials (Loading 3D models with the min3D framework for Android and Loading multiple 3D objects from an Obj file (min3D for Android)) there are some basic [...]

  3. Thanks for this framework.
    Just a question, do you have it in jar file so that i can add to my \lib?

  4. I have the same question, how to we use min3d do we add a jar to lib? where to we get it?

  5. Hi Swirl and Jack,

    At the moment there’s no jar file available. You can just link the source code to your Eclipse project.

    Dennis

  6. hello, i have some question about your explaination.
    i want to make the program that show 3d object.
    so i want to see your program’s code. can i see that?
    as you said earlier, i downloaded min3 in my emulatior, and blender,
    but i don’t know how load the file in my eclipse, and how connect the source that you already upload source and the other source things…

    if you have some time, then send me some e-mail. i’ll be wait for you.!

  7. hi, i ran it, and it works clearly.
    really thanks to
    I have some question.
    Can I know what is the algorithm?
    where can i know basic knowledge?
    anyway, thank u :D

  8. Excuse me.
    I can’t texture The Obj files(a car and a moving car) on devece HT-03A.
    And “texture wrapping” is also not.
    But it textured on my emulator at my computer.
    why?
    my device version is android1.6.
    my English is bad and poor. sorry.
    I will happy if you reply.

  9. Hi Dennis
    How do i “link the source code to your Eclipse project.”
    sorry im new to this.
    Need some help with it
    Thanks

  10. I exported with Max but I am having problem display texture. I anyone have any thoughts?

  11. GREAT stuff. Can’t wait for group support, looks like then it will be exactly what I need.

  12. Just wondering if the library can allow loading of the .obj and .mtl files from the sdcard, instead of just from /res?

    This will make the app based on the library more flexible, as we need not package the model files into the apk itself.

  13. @Hiro: thanks for reporting this. I will look into it.
    @Jack: project > properties > java build path > link source
    @lio: can you send me the files?
    @Swirl: not yet. hopefully in the near future.

  14. Exellent work on the lib!

    Consider adding

    to sample project manifest, otherwise with tablet AVD (screen res 1024*768 for example), the sample stays tiny with a huge black border (and for some reason goes landscape seemingly).

  15. Ok, the XML was removed LOL,

    It said:

    ‘open’ supports-screens
    android:largeScreens=”true”
    android:normalScreens=”true”
    android:smallScreens=”true”
    android:anyDensity=”true” ‘close’

  16. tank you

  17. I’m trying to integrate the min3D framework inside my eclipse project but have some trouble with the ObjImpScene.java file. It complains that several methods in the implementation like glGenLists() is undefined for the type GL. The code is as it was without changes made by me. Could it be that there is an import missing? I’m still new to this and hope you can help me!

  18. I have a Sphere that I got textured on the emulator, but as soon as I run it on my Galaxy S, the texture is gone.

    Any fix for this (yet)?

  19. Addition to previous comment:
    I uploaded the sample project to my phone and everything works fine..

    Also:
    Keep up the good work, I’m really loving the engine :)
    Makes my life whole lot easier :p

  20. Hii,
    excellent Work,
    Min 3D is lot helpfull to me, i had very bad problem with textures.
    Thank u very much,

  21. @Hiro on Jun 23, 2010, 5:58 pm:

    Excuse me.
    I can’t texture The Obj files(a car and a moving car) on devece HT-03A.
    And “texture wrapping” is also not.
    But it textured on my emulator at my computer.
    why?
    my device version is android1.6.
    my English is bad and poor. sorry.
    I will happy if you reply.

    —-
    Hii, Try this,
    goto res/camaro_mtl file,

    and move the line , map_Kd camaro.jpg
    below line , newmtl 01_-_Default_CMRO_TEX.TGA

    then recompile , and get apk, try on ur mobile

  22. Hi Pradeep,
    I will have a look. Thanks for reporting this.
    You can also log this issue on Google Code.
    Thanks,
    Dennis

  23. Hi,
    great job.

    I’ve written an obj-parser for android as well.

    Loading of vertices/textures/normals works for now, but still have to implement the materials/texture algorithm when having more than one texture or material defined in the MTL. Also the automatically triangulating (by parser) is not implemented yet.

    Regards,
    Aydin

  24. Hi, Thanks for the information. I’ve exported two objects following the instructions above, the first object and texture (UV) worked find and displayed exactly as expected. The 2nd object rendered ok, but without texture, I’ve checked over and over and the textures are correctly named and it all renders fine in blender, but not in Android….Any suggestions?

  25. Update, the object I’m having problems with is a cyclinder. It works fine on the emulator, but the texture doesn’t show when rendered on my Sony X10. Which is running Android 2.1, the application was created with the Android 1.5 SDK.

    Any suggestions ?

  26. Having tried this over and over and couldn’t get it to work, I thought I would try the 3DS export from Blender, this produces a single file .3ds not the obj and mtl you get with the obj export. I put the texture and 3ds file in the appropriate folders “drawable” and “raw”, but unforunately the problem is exactly the same. I get a white object without the texture.

  27. This works 100% on the emulator for Android versions 1.5, 1.6 and 2.1, but on my Sony X10 running Android 2.1, I get no textures for even the simplest model, a box with a texture.

  28. Hi Simon,
    Are you using a power-of-two texture?
    http://forum.instantreality.org/index.php?topic=19.0

  29. Hi Dennis, I’m not sure, I screenshot the uv map from blender then cropped in photoshop it may not be exactly a power of two. Would that explain it? I’ll try it out tomorrow. Thanks for the response.

  30. Thank you Dennis, that was it, my texture was 623×624, I changed it to 512×512 and it works….odd that it worked on the emulator, very grateful. :) Have a wonderful xmas!

  31. Nice frameowrk,
    but regarding the .3ds loader, do you support loading animated .3ds models ?

  32. Hi,

    I am having troubles with the imports… they just give me errors “the import … can not be resolved”

    I am new to all this, what should I do?

  33. Hello,

    I dont understand how to add min3d in eclipse project??
    Where can i find project files on web?

    Help me im new on Android.
    Thanks

  34. Hello,

    Im new and i dont understand how to add min3d on Eclipse project, i test a lot of thing but dont work.
    Please help me.

    I just want to have a min3d project to show an obj.
    Best regards

  35. Hi Amici,

    I will explain how I did it. I’m not sure if this is the correct way I am sure someone will correct me if not.

    1. Fetch the source code

    You need a SVN client for this. I could not make the Subclipse plug-in work for Eclipse, so I used Slik subversion. After install you just type:

    svn checkout http://min3d.googlecode.com/svn/trunk/ min3d-read-only

    this creates a folder called ‘min3d-read-only’ with the source in it.

    2. Create your android project in Eclipse

    3. Drag the min3d folder from the min3d-read-only/src folder into the src folder in your new android project.

    4. If you want to look at the samples, drag the samples/src into src and the res folder etc into your android res folder.

    I might have forgotten something but that is basically what I did. Oh there was a build error where it was looking for a folder called ‘source’ To get around that I created the folder temporarily in Android and then deleted it.

    Maybe there is a better way than this, I am not sure.

  36. Hello,
    I am trying the “load obj file” programm replacing the car example by an android 3D model I export from Blender. Unfortunately I ve only got a grey flat shadow of the android with the following mtl file :
    # Blender3D MTL File: one.blend
    # Material Count: 1
    newmtl Material.006
    Ns 96.078431
    Ka 0.000000 0.000000 0.000000
    Kd 0.473726 0.602353 0.191373
    Ks 0.500000 0.500000 0.500000
    Ni 1.000000
    d 1.000000
    illum 2

    Looking at the code, I realize all these parameters are not taken into account by the parser.
    Thanks for any idea…

  37. Found… export obj options were not correct (normals,triangulate). But I need to specify a color jpg for the object(s): simple rgb color settting doesn’t work.
    Anyway, great job !

  38. Excellent work Dennis! However, I’m having a small issue with alpha textures which I’d appreciate some advice on.

    I have a very simple model in blender, just a plane with a texture UV mapped onto it. Part of the texture is white, part is 100% alpha. I set-up a material and a texture so that objects behind the plane are visible through the alpha part of the texture when I render the frame in blender.

    However, when I export to obj and load the model in min3d, the alpha section of the texture appears black and obscures objects behind it.

    Any and all advice is gratefully accepted!

    Ta.,
    Richard.

  39. For those of you who were having issues with the textures not showing, the solution for me was adding the following line as the first line in the initScene() method mentioned in the tutorial:

    scene.lights().add(new Light());

    It seems that this tutorial is a little outdated seeing how min3d is still being developed; the min3d google code link mentions that it’s probably best to check out the examples provided in the code to figure out how to use the min3d library.

    Here is a link to the file I found the updated solution at: http://code.google.com/p/min3d/source/browse/trunk/sampleProjects/min3dSampleProject1/src/min3d/sampleProject1/ExampleLoadObjFile.java

    Thanks to the original post by the way for getting me started with this sweet library and a great introduction to opengl on android!

  40. I found the solution to my alpha texture problem. While browsing the code of the ExampleMultiTexture sample, which renders alpha textures as I wanted to, I found the following comment:

    “While the order in which objects are drawn is not important in terms of z-ordering (which is taken care of automatically by OpenGL), the order _is_ important when it comes to transparency. Here, for the transparency
    of the “_jupiter” sphere to be apparent, it must added as the second child of the scene (which means it will be drawn second). The engine does not manage this automatically for you.”

    Thank god for code comments!

    Ta.,
    Richard.

  41. I’m using the min3d framework to render a 3DS object. I’ve added Gesture control to it so that I can easily rotate my object left/right. When I detect the “onSingleTapUp” I get the X and Y coords of the tap, but I can’t think of how to determine where on the 3DS model I tapped.

    I’ve been looking at the Object3dContainer.position, but it’s not based on a 2D tap. Any ideas of how to do this? My thought is to take the screen dimensions and take into account the scale of the object to determine the X and Y hot spots.

    Excellent framework. Made it very easy to solve a task I wasn’t sure how to tackle.

    Al

  42. Quesiton: Can I use this engine for a Live Wallpaper?

  43. @Charlie: No, unfortunately this isn’t possible.

  44. I am getting my model as an .obj file which i exported from blender. I am trying to render it using the Min3D library. Now here’s the problem. The object is rendered white even though I have applied textures. Can anybody help me out with this.?

  45. Hello!!Can I have the link of the project? There is a rar file?

  46. Hello, Everybody. Above is very nice tutorial regarding 3D.
    I have a some query regarding to loading 3D models with the min3D framework for Android.
    1) In res->drawable->camaro.jpg/any.jpg is compulsory for loading 3D model.

    2) I am using Blender 2.5 for Export into any.obj and any.mtl file.
    Here i click on File->Export->Wavefront(.obj) after that in “Export OBJ” option there is lots of check boxes to select.
    I am not able to understand which check box i have to select from these – Selection Only, All Scenes, Animation, Apply Modifiers, Rotate X90, Edges, Normals, High Quality Normals, UVs, Materials, Triangulate, Polygroups, Nurts, Objects as OBJ Objects, Objects as OBJ Gropus, Material Groups, Keep Vertex Order.

    If anybody suggest me then its very helpfull for me.
    Thanks in advance.

  47. This might not be the right thread but people were having problems checking out the min3d project in Eclipse from the google svn repository and getting it to build. Here’s what worked for me:

    You must have subversion SVN plugin in eclipse already.

    File/Import/project from SVN

    http://min3d.googlecode.com/svn/trunk/sampleProjects/min3dSampleProject1

    then import the min3d source into the /source folder of the sample project

    File/Import/project from svn

    http://min3d.googlecode.com/svn/trunk/src/min3d

    check it in as folder in the existing min3dSampleProjct1/source directory.

    Now fix build path in the sample project

    Configure Java Build Path

    Source folders on build path: edit min3dSampleProject1\min3d_src

    It points to c:\projects\android\min3dSampleProject1\source and you should replace this with the correct path on your installation.

    When you change the path you also need to change the name of the included source folder from min3d_src to just min3d

    Everything should build as expected after that.

  48. Hi,

    this text is a copy from Stackoverflow:

    http://stackoverflow.com/questions/5897042/how-to-load-maya-models-exported-to-wavefront-obj-with-android-gl

    Me and friends are currently working on an android project (battleship game) where we want to load and render our own ship models. We made them in maya and exported them to wavefront with the built-in plugin. We just don’t get them rendered. Android-gl seems not to work, the model renderer sample app just crashed. We also tried the min3d framework, it rendered our models but incorrect – some faces were missing but dependent on the perspective. The min3d samples rendered fine. We want to use qualcomm’s qcar, so we wrote all the vertices over the vertices of the teapot example in its header file (c++) but after compiling (NDK) we saw nothing. Also our models didn’t render in the AndAR Model viewer. But I have an linux model viewer called G3DViewer which renders all our models fine..

    We are confused. We think there’s something wrong with our models. But we don’t know what and how to fix that. Do we have to consider anything special when we export them from maya to wavefront? Plus we want to say, that we are new to modelling and opengl ES.

    It would be good to have an android project to siply test our models, but all objectloaders we found seem to fail while loading and rendering our model.

    Can you help us? Can you test our models? Maybe you have an example how to load and render them with android-gl?

    models: http://dl.dropbox.com/u/3985208/testmodels.zip (submarine_new is just a basic construct of a submarine)

  49. Excellent framework, thanks for the hard work! I’ve got a question I’m hoping you can help with.

    I’m loading an .obj file, and the textures are not drawing properly- it looks like all 4 or 5 texture images are being tiled together repeatedly over my larger surfaces (when it’s really supposed to be a single texture repeated to cover a surface).

    I can use the same textures successfully on things like a skybox, and my obj file loads up just fine in things like Blender.

    Any thoughts or tips would be greatly appreciated. Thanks again!

    FWIW, I’m working on an Android 3 platform.

  50. Hey, am new in the field of 3d graphics and i need to load and rotate a 3d object in an android app. i have managed to get the .obj and .mtl files..
    i know it is a huge jump but my prof need it by next weekend and if i don’t do it he will ruin my career.
    From where can i get the api/lib for min3d?
    do reply soon.. am in urgent need.

  51. Hello ! I want to make an application in which I will load an object. In my application I have an user interface with different buttons. I want to connect one of my buttons to open ExampleLoadObjFile class. Here is what I did:

    Button 3D =(Button)findViewById(R.id.3DView);
    Vizualizare3D.setOnClickListener(this);

    after this I have:

    public void onClick(View v){
    switch (v.getId()) {
    case R.id.3DView:
    Intent i=new Intent(this, ExampleLoadObjFile.class);
    startActivity(i);
    break;

    In my manifest file I declared ExampleLoadObjFile as an activity, and the model of my object is in raw folder. My problem is that when I press the button the application stops unexpectedly. If I use ExampleLoadObjFile as main activity when I start the application everything goes fine. Also I want to know if this method is good to open ExampleLoadObjFile because this extends for RenderActivity.

    Thank you!

  52. hello, I would like to know the procedure to export a file. obj and which is compatible to min3D.
    I have already completed the tutorial
    but nothing works. I have no texture.

    sorry to english

  53. @ravenfeld: In recent versions 2.5x+ Blender does not show this export dialogue for OBJ any more.

    Did you get the two files (.obj and .mtl)?
    Did you copy .obj, .mtl and .jpg file to the correct project folders?
    Did you rename the files .obj with _obj and .mtl with _mtl?

  54. EDIT: The export options for OBJ are now located in the Blender file selector window to the left. Did not find them on first look.. ;-)

    There you can have normals exported, too.

  55. Nice code!! I could display a 3D image using the above code. I am wondering if there is a way to display larger files like 30 MB obj file?

  56. Thanks for the tutorial Dennis. Now that I have the obj model loaded I was trying to rotate the model using the touch listener. I am implementing the OnTouchListener interface on the RenderActivity, is this the right way to go about it?

    Thanks Shreyas

  57. Hi Shreyas,
    Object picking isn’t supported unfortunately :-(

  58. Hi Asha,
    There’s a limitation to the size of the models you can load.

  59. hi, thanks for the tutorial , everything else works fine but when the model is loaded it looks like the scene is missing some lights
    the object is really dark and cant see it properly because of i think lightning. can u tell me how to enable the lights?
    Thanx

  60. Hey how can I download the source code of min3d framework. I’ve browsed the code from
    http://code.google.com/p/min3d/source/browse/trunk#trunk%2Fsrc%2Fmin3d

    But unable to download them..
    please specify how to download the code from google code… ????

    thank u..

  61. Hi,
    You can use a Subversion client like TortoiseSVN to download the files.

  62. [...] http://www.rozengain.com/blog/2010/05/17/loading-3d-models-with-the-min3d-framework-for-android/ [...]

  63. Hi friends i have made some changes in the lib to load obj models from sdcard

    please refer my comment in this link
    http://code.google.com/p/min3d/issues/detail?id=40

    and find the attachment for the source

  64. i am doing the same thing on nyartoolkit in min3d.core package in rendereractivity but its not displaying my object can anyone help?
    thanks

  65. Could you give an example on how to draw a font on the screen. Does Min3ds has an utility to create and load fonts

    Thanks

  66. I can load my own model without UV-setting, but how to load it with UV???
    Just putting the UV in a drawable folder doesnt work…
    Or do i need Special Setting for this in Blender??

  67. Dennis, I also have the same problem on real device (android 2.2)

    I can’t texture The Obj files(a car and a moving car) on devece HT-03A.
    And “texture wrapping” is also not.
    But it textured on my emulator at my computer.

    Is it some solution?

  68. Hi Denis,
    How Can I set background image with 3D Object? I made searching but still not find the answer. The background is still black.

  69. Do you mean an ImageView with a transparent GLSurfaceView on top of it?

  70. Hi Denis,

    Thanks for response,

    Yes, That is exactly What I am looking for. Do you have any suggestion?

  71. That isn’t supported yet but it’s been requested before. I’ll prioritise it on my todo list :O

  72. Oh, I just saw you commented on a Min3D post. This engine isn’t maintained anymore. Please check out my new engine, Rajawali: https://github.com/MasDennis/Rajawali

  73. Hi Denis,

    Is there any way to change 3D Object color (file .obj, 3ds, md2) using min3d?

    Thanks,

  74. Hi Dennis, excellent work on this open 3D engine. I was looking to make one myself when I stumbled on yours :)

    I’m having a problem using Mini3D since I followed your example and ended up with a blank screen and no errors whatsoever. I’m using the obj files that are included on the sample, but the sample project was made by me.

    I packed Min3D as a JAR to include in the example project. I don’t think this is the issue…

    Here’s the LogCat:

    05-06 12:16:18.462: I/Min3D(457): ManagedLightList.reset()
    05-06 12:16:18.753: D/libEGL(457): egl.cfg not found, using default config
    05-06 12:16:18.753: D/libEGL(457): loaded /system/lib/egl/libGLES_android.so
    05-06 12:16:18.773: I/Min3D(457): Renderer.onSurfaceCreated()
    05-06 12:16:18.783: V/Min3D(457): RenderCaps – openGLVersion: 1.1
    05-06 12:16:18.783: V/Min3D(457): RenderCaps – maxTextureUnits: 2
    05-06 12:16:18.783: V/Min3D(457): RenderCaps – maxTextureSize: 4096
    05-06 12:16:18.783: V/Min3D(457): RenderCaps – maxLights: 8
    05-06 12:16:18.793: I/Min3D(457): Scene.init()
    05-06 12:16:18.803: I/Min3D(457): ManagedLightList.reset()
    05-06 12:16:18.813: I/global(457): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
    05-06 12:16:18.813: D/Min3D(457): Start parsing object org.ak47.android.min3d.example:raw/camaro_obj
    05-06 12:16:18.813: D/Min3D(457): Start time 1336306578817
    05-06 12:16:18.833: I/global(457): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
    05-06 12:16:18.843: D/Min3D(457): Adding texture org.ak47.android.min3d.example:drawable/camaro
    05-06 12:16:19.113: D/dalvikvm(457): GC_FOR_MALLOC freed 10495 objects / 432152 bytes in 66ms
    05-06 12:16:19.472: D/dalvikvm(457): GC_FOR_MALLOC freed 15165 objects / 535184 bytes in 61ms
    05-06 12:16:19.583: D/dalvikvm(457): GC_FOR_MALLOC freed 3171 objects / 111088 bytes in 50ms
    05-06 12:16:19.583: I/dalvikvm-heap(457): Grow heap (frag case) to 3.200MB for 2740-byte allocation
    05-06 12:16:19.663: D/dalvikvm(457): GC_FOR_MALLOC freed 1 objects / 1840 bytes in 73ms
    05-06 12:16:19.993: D/dalvikvm(457): GC_FOR_MALLOC freed 12902 objects / 455024 bytes in 56ms
    05-06 12:16:20.103: D/Min3D(457): End time 1295
    05-06 12:16:20.113: D/Min3D(457): Start object creation
    05-06 12:16:20.183: D/dalvikvm(457): GC_EXTERNAL_ALLOC freed 5129 objects / 210952 bytes in 63ms
    05-06 12:16:20.253: D/dalvikvm(457): GC_FOR_MALLOC freed 5 objects / 224 bytes in 49ms
    05-06 12:16:20.263: I/dalvikvm-heap(457): Grow heap (frag case) to 5.279MB for 1048592-byte allocation
    05-06 12:16:20.333: D/dalvikvm(457): GC_FOR_MALLOC freed 41 objects / 1592 bytes in 67ms
    05-06 12:16:20.502: D/Min3D(457): Creating object
    05-06 12:16:20.833: D/Min3D(457): Object creation finished
    05-06 12:16:20.833: I/Min3D(457): Renderer.onSurfaceChanged()
    05-06 12:16:20.843: I/ARMAssembler(457): generated scanline__00000197:03545444_00009501_00000000 [171 ipp] (267 ins) at [0x2bc3a0:0x2bc7cc] in 2480396 ns

    Again, thanks for this and thanks for making it open source :)

  75. [...] Possible useful Libraries: Min3d Library How to import objFiles using the Min3d Library Libgdx library documentation Share this:TwitterFacebookLike this:LikeBe the first to like [...]

  76. Hi all,
    Thanks for this great tutorial I finally managed to insert and .obj file into my Augmented Reality application on Android.
    Maybe some of you can help me with the next step. I would like to show in the screen the frame rate at the same time that the application is running. Do you know how to display text with min3d, if it’s possible?
    Thanks in advance

  77. whether i can make a transparent background in this load .obj
    Thanks in advance

  78. please help!!!!I can’t install this API.How this install in eclipse

  79. haii,
    I am interested to import a 3d object in android.I am not all expert in open GL.I go through this link http://code.google.com/p/min3d/downloads/list and download the apk.I don’t know how to install it.Please let me know.Step by step process.please!!!

  80. Hi Dennis,
    Can you please elaborate how to tile a texture along a rectangle/Box or any other Object3dContainer?

  81. Hi dennis

    can u please tell how can we change colour of car means texture at run time
    anykind of help will be appreciated.

    thanx

  82. how to load 3d obj file in live wallpaper and also have background image . help me please

  83. I saw someone had asked about using min3D with touch event, I just want to make sure that the answer you reply, did you mean I can not use min3D to rotate the model by hand? if so, what tools should I use ?! please help me! thanks!!

  84. i am tries to rotate object by touch events but its not working well…please tell what changes me required…….my code is…….

    package ezeelearning.tablet.min3d.sampleProject1;
    import android.opengl.GLSurfaceView;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Gravity;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.ViewGroup.LayoutParams;
    import android.widget.Button;
    import android.widget.LinearLayout;
    import ezeelearning.tablet.R;
    import ezeelearning.tablet.min3d.core.Object3dContainer;
    import ezeelearning.tablet.min3d.core.RendererActivity;
    import ezeelearning.tablet.min3d.parser.IParser;
    import ezeelearning.tablet.min3d.parser.Parser;
    import ezeelearning.tablet.min3d.vos.Light;
    public class ExampleLoadObjFlower extends RendererActivity{
    private Object3dContainer objModel;
    Button b;
    protected GLSurfaceView _glSurfaceView;
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    _glSurfaceView = new GLSurfaceView(this);
    }

    public boolean onTouchEvent(MotionEvent event) {

    int action = event.getAction() & MotionEvent.ACTION_MASK;
    switch(action) {
    case MotionEvent.ACTION_DOWN : {

    objModel.rotation().x=objModel.rotation().x+10;
    Log.d(“CV”,”ACTION_DOWN”);

    break;
    }
    case MotionEvent.ACTION_UP : {

    objModel.rotation().x=objModel.rotation().x-10;
    Log.d(“CV”,”ACTION_DOWN”);

    break;
    }

    }

    return true;
    }
    public void initScene() {

    scene.lights().add(new Light());
    IParser parser = Parser.createParser(Parser.Type.MAX_3DS, getResources(),
    “ezeelearning.tablet:drawable/monster_high”, true);

    parser.parse();
    objModel = parser.getParsedObject();
    objModel.scale().x = objModel.scale().y = objModel.scale().z = .7f;
    scene.addChild(objModel);

    }

    public void updateScene() {
    //objModel.rotation().x++;
    //objModel.rotation().z++;
    }

    }

  85. I am developing a server application to provide .obj and .mtl files. With the current obj parser, is it possible to load .obj file from network path instead of local resources?

  86. Hi Manikandan,
    That is not possible unfortunately. But it shouldn’t be hard to add support for that. You could create an issue for this at https://github.com/MasDennis/Rajawali and we’ll take a look at it.

  87. [...] 游戏引擎 http://www.cuteandroid.com/open- … oid-developers-plus 绘图引擎 http://www.rozengain.com/blog/20 … mework-for-android/ [...]

  88. How to Implement same on Live wallpaper android.

Leave a comment