public HullDataManager(HullGeometryInfo geometryInfo) { NumDecks = geometryInfo.NumDecks; CurDeck = 0; VisibleDecks = NumDecks; HullBuffers = geometryInfo.HullWallTexBuffers; DeckBuffers = geometryInfo.DeckFloorBuffers; DeckFloorBoundingBoxes = geometryInfo.DeckFloorBoundingBoxes; FloorVertexes = geometryInfo.FloorVertexes; DeckHeight = geometryInfo.DeckHeight; WallResolution = geometryInfo.WallResolution; CenterPoint = geometryInfo.CenterPoint; WallBuffers = new ObjectBuffer<ObjectIdentifier>[NumDecks]; for (int i = 0; i < WallBuffers.Count(); i++){ int potentialWalls = geometryInfo.FloorVertexes[i].Count()*2; WallBuffers[i] = new ObjectBuffer<ObjectIdentifier>(potentialWalls, 10, 20, 30, "HullWallTex"); } WallIdentifiers = new List<ObjectIdentifier>[NumDecks]; for (int i = 0; i < WallIdentifiers.Length; i++){ WallIdentifiers[i] = new List<ObjectIdentifier>(); } //override default lighting foreach (var buffer in DeckBuffers){ buffer.DiffuseDirection = new Vector3(0, 1, 0); } foreach (var buffer in HullBuffers){ buffer.DiffuseDirection = new Vector3(0, -1, 1); buffer.CullMode = CullMode.None; } }