At the moment, I let the Java3D renderer do a lot of my rendering, I use the GeometryUpdater.updateData to change vertex data in real-time.
However, I do want to also render arbitrary shapes in real-time. I've extended Canvas3D and am using the preRender, renderField, and postRender methods to do this.
This is where I run into trouble. If I first draw, for example a LineArray with the flags: COORDINATES | COLOR_4,
and then immediately render a QuadArray with the flags: COORDINATES | NORMALS,
The quad is rendered as though it has per-vertex coloring
In fact, if I am cycling the vertex colors in the line array (different color for each vert),
the entire quad seems to be rendered in one of the colors.
I have had other trouble with trying to render a textured quad. Like rendering the FPS at the top of the screen.
All of my shapes in the scenegraph (rendered by the Java3D pipe, not in immediate mode) which did not have a texture assigned to them would render with the texture on them.
Suddenly, all of my white and gray quads on screen had my FPS text (all stretched and contorted) all over them.
I have tried calling flush(true) and flush(false) all over the place. Calling clear() was no good as it cleared everything
Is there a configuration set somewhere that needs to be reset?
I'm sure I can somehow get around this and do it in pure-retained mode.
However, if there is a better way, I'm all for it.
Thanks for any help. Sorry if this is an obvious one.