Explanation:

I am working on building "bubble" technology into our terrain system.  The
idea being that in an area of 700 meters surrounding the user they are
getting high density mesh and high density textures. Outside that area, for
an additional X meters (2k meters+) I am using low density mesh created by
running a polygon reducer algorithm.  Each cell in the "far" terrain is
using the same Appearance, the only thing that changes from shape to shape
is the geometry.  They all use the same texture, but use texture coordinates
to map to different parts.  The "near" terrain uses a seperate texture per
cell (200m x 200m).  The far terrain is all in one branchgroup.  Each shape
in the far terrain has setAppearanceOverrideEnable(true).  There is an
alternate appearance node set in the far branchgroup.  It's attached
appearance has only RenderingAttributes, with setVisible(false).  The
alternate appearance has influencing bounds set to a bounding sphere.  When
the user moves enough to trigger a bubble move, the bounding sphere for the
alternate appearance is changed to be the new bounds, thus rendering the
shapes within the bubble as invisible.  Within the same behavior we all
attach and detach some high density cells, thus there is never an overlap of
one type of cell to another.

This works extremely well (yahoooo!) however...

for some reason corruption is getting into the rendered view sometimes.  I
have attached a picture.  But basically some triangles on the near (high
density terrain) are being rendered in WHITE.  Not the whole shapes, just
some triangles in some of the shapes.

This only happens to the "near" terrain, never the far.  It goes away as
soon as the influencing bounds are reset.  It also never happens within
view.  This means if I walk backward I never see it happen, but if I walk
foward, then turn around, the corruption appears as I rotate.

I am running 1.2.1 beta 1. OpenGL.


Any ideas?

Dave Yazel
Cosm Development Team

cosm78.jpg

Reply via email to