/// <summary>
        /// Gets static geometry.
        /// </summary>
        /// <returns>Static geometry builder.</returns>
        public StaticGeometryBuilder GetStaticGeometry()
        {
            // Create builder
            StaticGeometryBuilder builder = new StaticGeometryBuilder(core.GraphicsDevice);

            // Convert vertices to required format
            List <VertexPositionNormalTextureBump> vertices = new List <VertexPositionNormalTextureBump>(primitive.Vertices.Count);

            foreach (var vertex in primitive.Vertices)
            {
                vertices.Add(new VertexPositionNormalTextureBump(
                                 vertex.Position,
                                 vertex.Normal,
                                 Vector2.Zero,
                                 Vector3.Zero,
                                 Vector3.Zero));
            }

            // Add geometry
            StaticGeometryBuilder.BatchData batchData = new StaticGeometryBuilder.BatchData
            {
                Vertices = vertices,
                Indices  = primitive.Indices,
            };
            builder.AddToBuilder((uint)MaterialManager.NullTextureKey, batchData, this.Matrix);

            return(builder);
        }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="core">Engine core.</param>
 public DaggerfallBillboardBatchComponent(DeepCore core)
     : base(core)
 {
     // Setup
     CreateBillboard();
     staticGeometry   = new StaticGeometryBuilder(core.GraphicsDevice);
     renderBillboards = core.ContentManager.Load <Effect>("Effects/RenderBillboards");
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="core">Engine core.</param>
 public DaggerfallBlockComponent(DeepCore core)
     : base(core)
 {
     // Create static geometry builder
     staticGeometry = new StaticGeometryBuilder(core.GraphicsDevice);
 }