SceneGraph Confusion

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  :slight_smile: