I thought I had a reasonable grasp of how the scenegraph worked, but I've run into what I think is a simple problem that I can't figure out, so I'm not so sure…
I'm using StandardGame with GameStates. A RootNode is already defined. I create a Node called "TerrainNode", and I create a TriMesh called terrain. If I attach Terrain to RootNode, it's displayed and life is good. But if I attach Terrain to TerrainNode, and attach TerrainNode to RootNode, then Terrain doesn't get displayed and life is not so good.
I enabled a WireFrameState to verify it's not just a lighting issue, and I don't think it's lighting since I can see it when I attach it to the RootNode.
So why can't I see geometry when I attach it to a child node of the root? What am I missing?
It looks like I'm not as crazy as I thought…
For my TriMesh object, I used the Hexagon class as an example and it defines the index buffer using clockwise winding (which I thought was odd, but since it seemed to work, I didn't question it). Thanks to SceneMonitor, I finally noticed that my TerrainNode has an attached Cullstate which uses CullState.Face.Back, meaning it expects counter-clockwise winding. Since it thought I was looking at the back of my triangles, they were being culled.
Still good to know this