Hi ,
someone has any idea why the BLACK COLOR of the 3D object is rendered as transparent. The object is a .3DS
This is the onDrawFrame func:
@Override
public void onDrawFrame(GL10 gl10) {
try {
float[] projectionCamera = ARToolKit.getInstance().getProjectionMatrix();
projMatrix.setIdentity();
projMatrix.setDump(projectionCamera);
projMatrix.transformToGL();
SimpleVector translation = projMatrix.getTranslation();
SimpleVector dir = projMatrix.getZAxis();
SimpleVector up = projMatrix.getYAxis();
cam.setPosition(translation);
cam.setOrientation(dir, up);
if (ARToolKit.getInstance().queryMarkerVisible(markerID)) {
float[] transformation = ARToolKit.getInstance().queryMarkerTransformation(markerID);
object3d.setIdentity();
object3d.setDump(transformation);
object3d.transformToGL();
thing.clearTranslation();
thing.translate(object3d.getTranslation());
thing.setRotationMatrix(object3d);
thing.scale(GlobalVar.getScale());
}
//buffer.clear(colorBLACK);
world.renderScene(buffer);
world.draw(buffer);
//buffer.display();
}catch (Exception e){
//Log.d("esx","ERRORE RenderARESX.java onDrawFrame(GL10 gl10) : "+e.toString());
e.printStackTrace();
}
}
*The commented lines has no effect
Any idea how to solve?
This is a screenshot:
THX and sorry for my english
That's the default behaviour for transparent objects. By default, black areas of the texture will become transparent. If you don't want that: Make sure that your object isn't transparent by accident. Some 3ds files carry this information even if the object is not supposed to be transparent. In that case, add a obj.setTransparency(-1). If it's supposed to be transparent, disable the default behaviour by creating the texture with the alternative constructor that takes a boolean in addition. Set that boolean to true.