Glitches and artifacts

hi!





Uploaded with ImageShack.us

The most strange thing about this picture is that this kind of artifacts appears in case to case, not always.

I know that this is due to big distance from viewer to that vertexes (about 1 million of world units), but why it appears randomly?

Have you try TangentBinormalGenerator.generate?

nehon said:
Have you try TangentBinormalGenerator.generate?

Trying right now. This thing calculates something very long.. Am I right to say that TangentBinormalGenerator.generate tries to reconstruct normals? But I am pretty sure that I have them defined correctly when I constructed my "sphere"..

Yhea it’s pretty long especially when you have a lot of vertices.

But you can calculate them when converting to j3o.

The sphere is hand made?

nehon said:
Yhea it's pretty long especially when you have a lot of vertices.
But you can calculate them when converting to j3o.
The sphere is hand made?

Yes, completely, so no conversion can be made. I am researching different types of LoD techniques to be used on planet-sized terrains. This one uses simple quadtree approach and adds a simple n by n patch if more detail is needed, but right now I am looking more in the way to switch to ROAM technique. The usual "planet" in the end consists of about 2000 objects with 200000 triangles in my scene, so it seems that it's not unusual that I have such slowdowns.

I believe I just need to make up some space compactification algorithm even for close-up scenes.

ROAM will most likely slow down your planet rendering if anything. Also, 200,000 triangles is nothing for modern GPUs.

I recommend you use a similar LOD system to the one used in jme3-terrain, it is called geomipmapping.

Momoko_Fan said:
ROAM will most likely slow down your planet rendering if anything. Also, 200,000 triangles is nothing for modern GPUs.
I recommend you use a similar LOD system to the one used in jme3-terrain, it is called geomipmapping.

I have researched geomipmapping too, and I found the most promising one to make not rectangular grids, but spherical, but it's rather complicated from the point of fusing different levels boundaries together. ROAM has some nice advantages - split-combine priority in queues that can be used to achieve desired performance. GeoMM is the best from the texturing point of view.
I am not quite sure how to implement texturing in ROAM since having a one big object (terrain) would have one texture coordinates, so the texture itself should be very huge to cover entire terrain. If I to use another way, I will have each triangle as separate object (almost like in my project, but in my project the "simplest" object is not a triangle, but a patch of 32 triangles) and this will slow the performance down.
The most supa-dupa-coolest thing is a Chunked LoD technique, it's something like ROAM+Quad_tree, but fusing borders of two patches there is such a pain in the **s...

200k triangles is not a problem if it's a single object, and it's not my case :)