// simple test to see if our level at least has SOME data. XXX: could look to the tile level.
while (index > 0 && !_clipmapLevels.get(index).isReady()) {
index--;
}
AbstractBresenhamTracer tracer = _tracers.get(index);
ClipmapLevel level = _clipmapLevels.get(index);
// start our tracer
tracer.startWalk(_workRay);
final Vector3 intersection = store != null ? store : new Vector3();
if (tracer.isRayPerpendicularToGrid()) {
// XXX: "HACK" for perpendicular ray
level.getCache().getEyeCoords(tileStore, tracer.getGridLocation()[0], tracer.getGridLocation()[1],
_workEyePos);
final float scaledClipSideSize = level.getClipSideSize() * level.getVertexDistance() * 0.5f;
final float h1 = getWeightedHeight(tileStore[0], tileStore[1], tileStore[2], tileStore[3],
scaledClipSideSize);
final float h2 = getWeightedHeight(tileStore[4], tileStore[5], tileStore[6], tileStore[7],
scaledClipSideSize);