I tweaked a bit the bitmaps (size, JPEG compression, seamless) and it looks quite good now. I also followed your advice on the "onSurfaceCreated". That didn't make a noticeable performance change but am convinced that it is better to put the code there.

Performance is better now but there is a huge correlation between performance and the amount of time textures are repeated. I guess this is good in a way, it makes me bear in mind technical limitations rather than just making everything "hi-res"

Wow, your code just produces awesome results. Only problem is that FPS has taken a serious hit. I'm not stretching the planes too much though, ie there's not a crazy amount of repeats. Any idea why this?

I tried to use plane.getTransformedCenter as you recommended and I agree the figures I see make much more sense. I am not sure I understand why however.

If org is the position in world space from where the translation starts, it seems correct to me to start translating the ground from where it is (ground.getTransformedCenter()) with a vector which is opposite to the plane's movement. This is equivalent as moving the plane towards the ground with its own motion vector.

Moreover, if I calculate such distance from the plane center, this does not allow me to do what I was initially trying to do which is to find out which part of the plane hits the ground.

Collision is almost never triggered when I fly trough the plane, but is sometimes randomely triggered for some minDist figures around 50.

I strongly suspect that I am doing something wrong, perhaps with the coordinates system, but could not find anything obvious. I have even changed the translation vector sv to always point straight up towards the plane.

Would you mind if I sent you my two models? Without textures, but they should still load properly. I load them via the code pasted a few messages above. For the plane, I do not set any collision attributes. For the ground, I set

Thanks for your quick reply. Much appreciated. This seems to be what I am looking for. I am now trying to make it work in practice, and am having a few problems. The values returned by this method do not make sense to me, I must be doing something wrong. As per the below picture, I have a plane (black), the translation vector for the next frame (red) and the ground (blue).

I have enabled COLLISION_CHECK_OTHER on the ground, with collision improvement. To check collision, I use the following code:

In this scenario, the collision is never detected (id is always Object3D.NO_OBJECT even if I fly trough the sea). Also when I check values for the min distance, it varies between 1E12 (max float I guess) and figures between 50 and 200 depending on the areas I fly over but not depending on my altitude. I would like to remind that the ground is a set of Object3D laoded via 3DS and regrouped via the following code, but should still behave as an atomic object right?

I have been reading the documentation on collisions, as well as existing resource on this forum, but could not find my answer. I am trying to detect collisions between a complex object (a plane) and the ground which can be considered as a plane (it is actually an assembly of several planes grouped into one Object3D loaded via the 3DS loader).

From what I have read, if I do not want to consider the plane as an ellipsoid (I need to be accurate for example for the landing gear, the wings etc - I have tried the Ellipsoid but this did not provide accurate enough results), I need to set the ground to COLLISION_OTHERS and check collisions from it calling "checkCollision". I have now two options (let's say two as Spherical and Ellipsoid are roughly the same here).

- If I check for collisions using a casted ray from the ground, my understanding is that this does not return the new translation vector which is collision free. This is no good to me as the plane needs to "fit" the ground on landing.- If I check for collisions using an Ellipsoid, I will need to "wrap" the ground into an Ellipsoid. Problem is that the ground is huge compared to the plane and this would not be accurate enough.

What I would be looking for really is to calculate collisions between two complex Object3D. Is this possible with the current JPCT framework and have I missed something? Or should I look for another collision detector framwork?

Right, while trying to set up a test case I think I understood what was wrong. I don't know if I am not using the API correctly of if there is an issue with it.

I have three objects in my world- A plane- A landing strip- A control tower

On every frame, I draw the plane, then translate/rotate the landing strip and the control tower. On the first frame you cannot see either of these, but you can see the plane.The camera is always looking at (0,0,0), where my plane is, and where my airport is at the beginning, when the models are loaded. I setup the camera this way to always see the plane from behind:

When I do it like this, after flying around with the plane, when the airport comes visible, it is not textured. When I place the camera on the original position of the airport however (which is the same as the model is at (0,0,0) when the stuff is initialised), it appears textured.

I suppose this is something to do with lazy texturing - do not texture something that is not visible. In this case however, either I am not using the API correcly (should I reset the camera on every frame?) or there is an issue when those become visible.