private void GetDrawElements(List <DrawElement> elements, SceneGraphNode parent) { if (parent.DrawnParts.Count > 0) { elements.AddRange(parent.DrawnParts); } foreach (var node in parent.Children) { GetDrawElements(elements, node); } }
private void Read(FileReader reader) { reader.SetByteOrder(true); Version = reader.ReadByte(); InternalName = reader.ReadString(0x0B); TextureOffset = reader.ReadUInt32(); SamplerOffset = reader.ReadUInt32(); PositionOffset = reader.ReadUInt32(); NormalOffset = reader.ReadUInt32(); Attribute1Offset = reader.ReadUInt32(); Attribute2Offset = reader.ReadUInt32(); TexCoordOffset = reader.ReadUInt32(); Attribute3Offset = reader.ReadUInt32(); Attribute4Offset = reader.ReadUInt32(); Attribute5Offset = reader.ReadUInt32(); MaterialOffset = reader.ReadUInt32(); ShapeBatchOffset = reader.ReadUInt32(); SceneGraphOffset = reader.ReadUInt32(); SceneRoot = ReadSection <SceneGraphNode>(reader, 0); OrderLists(); }
public void AddChild(SceneGraphNode sceneGraph) { sceneGraph.Parent = this; Children.Add(sceneGraph); }