setMode(Mode.Lines); setBuffer(Type.Position, 3, posBuf); setBuffer(Type.Color, 4, colBuf); updateBound(); setStatic();
public BoundingSphereDebug() { setGeometryData(); setIndexData(); }
@Override protected void initialize(Application app) { debugNode = new Node("Environment debug Node"); Sphere s = new Sphere(16, 16, 0.15f); debugGeom = new Geometry("debugEnvProbe", s); debugMaterial = new Material(app.getAssetManager(), "Common/MatDefs/Misc/reflect.j3md"); debugGeom.setMaterial(debugMaterial); debugBounds = BoundingSphereDebug.createDebugSphere(app.getAssetManager()); if (scene == null) { scene = app.getViewPort().getScenes().get(0); } }
/** * Convenience factory method that creates a debuging bounding sphere geometry * @param assetManager the assetManager * @return the bounding sphere debug geometry. */ public static Geometry createDebugSphere(AssetManager assetManager) { BoundingSphereDebug b = new BoundingSphereDebug(); Geometry geom = new Geometry("BoundingDebug", b); Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); mat.setBoolean("VertexColor", true); mat.getAdditionalRenderState().setWireframe(true); geom.setMaterial(mat); return geom; } }
/** * sets the indices for rendering the sphere. */ private void setIndexData() { // allocate connectivity int nbSegments = (radialSamples) * 3; ShortBuffer idxBuf = BufferUtils.createShortBuffer(2 * nbSegments); setBuffer(Type.Index, 2, idxBuf); int idx = 0; int segDone = 0; while (segDone < nbSegments) { idxBuf.put((short) idx); idxBuf.put((short) (idx + 1)); idx++; segDone++; if (segDone == radialSamples || segDone == radialSamples * 2) { idx++; } } }
@Override protected void initialize(Application app) { debugNode = new Node("Environment debug Node"); Sphere s = new Sphere(16, 16, 1); debugGeom = new Geometry("debugEnvProbe", s); debugMaterial = new Material(app.getAssetManager(), "Common/MatDefs/Misc/reflect.j3md"); debugGeom.setMaterial(debugMaterial); debugBounds = BoundingSphereDebug.createDebugSphere(app.getAssetManager()); if (scene == null) { scene = app.getViewPort().getScenes().get(0); } }
/** * Convenience factory method that creates a debuging bounding sphere geometry * @param assetManager the assetManager * @return the bounding sphere debug geometry. */ public static Geometry createDebugSphere(AssetManager assetManager) { BoundingSphereDebug b = new BoundingSphereDebug(); Geometry geom = new Geometry("BoundingDebug", b); Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); mat.setBoolean("VertexColor", true); mat.getAdditionalRenderState().setWireframe(true); geom.setMaterial(mat); return geom; } }
/** * sets the indices for rendering the sphere. */ private void setIndexData() { // allocate connectivity int nbSegments = (radialSamples) * 3; ShortBuffer idxBuf = BufferUtils.createShortBuffer(2 * nbSegments); setBuffer(Type.Index, 2, idxBuf); int idx = 0; int segDone = 0; while (segDone < nbSegments) { idxBuf.put((short) idx); idxBuf.put((short) (idx + 1)); idx++; segDone++; if (segDone == radialSamples || segDone == radialSamples * 2) { idx++; } } }
setMode(Mode.Lines); setBuffer(Type.Position, 3, posBuf); setBuffer(Type.Color, 4, colBuf); updateBound(); setStatic();
public BoundingSphereDebug() { setGeometryData(); setIndexData(); }