Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - higgs

#1
Support / texturing 3ds files
September 10, 2013, 02:17:01 PM
Hi,

I got a little problem with texturing my 3ds files. I got my models in the assets folder and now I want to texture my files. I imported the texture, set it to my model. Now it just takes the "average color" (whats the correct word btw?) of my .png, means: if i've got a texture that has got black and white stripes it just takes grey color for the whole model. I made both, model and texture, in Blender where it is displayed correctly.

Whats the matter here?
#2
originally I wanted to import a 3ds-modell.

Yerst gave me some code that seems to work, but I cant access my 3ds file in res/raw (res can not be resolved) (context has to get resources). Now, Yerst told me to put Resources res = context.getResources() in front of my 3ds import. Now, context cant be resolved. In Addition, he told me to call  this.getApplicationContext() in my main activity, but that doesnt seem to work neither.

So now, my only fault is that context cant be resolved in Resources res = context.getResources().
#3
already got that from the beginning.

Here is what I got


import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;

import android.content.Context;
import android.content.res.Resources;
import android.opengl.GLSurfaceView;

import com.threed.jpct.Camera;
import com.threed.jpct.FrameBuffer;
import com.threed.jpct.Light;
import com.threed.jpct.Loader;
import com.threed.jpct.Object3D;
import com.threed.jpct.RGBColor;
import com.threed.jpct.SimpleVector;
import com.threed.jpct.Texture;
import com.threed.jpct.TextureManager;
import com.threed.jpct.World;
import com.threed.jpct.util.MemoryHelper;


I got my code partially from a sample code and Im wondering whats the difference between context and masterContext. So Im asking myself if masterContext is necessary or if it "constricts" the "normal" context.
#4
Hi,
sorry for the late reply, but I dont get it managed.

I tried to get the Context by writing this.getApplicationContext(), but I just get a proposal to built a so called method.
My MyRenderer - method is looking like this:

public MyRenderer(JPCTAESkeletonActivity master, Context context) {

this.masterActivity=master;
this.masterContext=context;

}


I hope this is the right method.

Also, the "res"-fault disappears, putting  "Resources res = context.getResources();" in front of my import-code. Only fault left is that "context" cant be resolved. Any last ideas how to fix it?
Thanks a lot.
#5
Thanks for the quick reply.
This code seems to work but I got the problem that res cannot be resolved. I tried to define it with
Resources res = getResources();

right before the Loader and importing

import android.content.res.Resources;

Then he suggests to create a method "getRessource". I dont think, that this is the right way.

Is there anything I forgot to import? Whats to do?

Thanks again.
#6
Support / No success with importing 3ds into Project
August 14, 2013, 12:51:14 PM
Hi,
im an absolute beginner with jpct-ae and now trying to import a .3ds file, which i made in blender (its already got a texture).

I was reading in this forum for quite some time and in the API of jpct but didnt succeed to get it work.

I already managed to get my app run, showing a cube, that can be turned by touch, now i just want to replace this cube by my .3ds file.

I read a comment somewhere in this forum, that the .3ds file should be in res/raw folder, is this correct?
And what code do i have to use to import the .3ds?

Till now, my code looks like this (excerpt)

[...]
Texture texture = new Texture(BitmapHelper.rescale(BitmapHelper.convert(masterContext.getResources().getDrawable(R.drawable.ic_launcher)), 64, 64));
TextureManager.getInstance().addTexture("ic_launcher", texture);
cube = Primitives.getCube(10);
cube.calcTextureWrapSpherical();
cube.setTexture("ic_launcher");
cube.strip();
cube.build();
world.addObject(cube);
[...]


I tried to load the file via the loadModel-method from the API:

private Object3D loadModel(String filename, float scale) throws IOException {

InputStream stream = mContext.getAssets().open("cube.3ds");
     Object3D[] model = Loader.load3DS(stream, scale);
     Object3D o3d = new Object3D(0);
     Object3D temp = null;
     for (int i = 0; i < model.length; i++) {
         temp = model[i];
         temp.setCenter(SimpleVector.ORIGIN);
         temp.rotateX((float)( -.5*Math.PI));
         temp.rotateMesh();
         temp.setRotationMatrix(new Matrix());
         o3d = Object3D.mergeObjects(o3d, temp);
         o3d.build();
     }
     return o3d;
}


I have no clue, if this is the right approach.
   
My .3ds file is very small, I think like 1KB (its just a cube also), so it should work without renaming it to .mp3.

Thanks for the help.