public void Draw(List <DrawableEntity> visibleEntities)
 {
     foreach (var triangle in visibleEntities.OfType <Triangle>())
     {
         drawing.AddGeometry(triangle.geometry, triangle.material, Matrix.Identity);
     }
 }
Example #2
0
 public void Draw(List <DrawableEntity> visibleEntities)
 {
     foreach (var plane in visibleEntities.OfType <GroundPlane1X1>())
     {
         drawing.AddGeometry(plane.geometry, plane.material, plane.Transform);
     }
 }
        private void DrawGeometry(Billboard entity)
        {
            look.Normalize();
            Vector3D right     = Vector3D.Cross(cameraUp, look);
            Vector3D up        = Vector3D.Cross(look, right);
            Matrix   transform = Matrix.Identity;

            transform.Right       = right;
            transform.Up          = look;
            transform.Forward     = up;
            transform.Translation = entity.Position;
            drawing.AddGeometry(entity.planeQuad.Geometry, entity.planeQuad.Material, transform);
        }
Example #4
0
        private void DrawModel(Model model)
        {
            if (model == null)
            {
                return;
            }
            var modelTransform = Matrix.CreateScale(model.Scale);

            modelTransform            *= Matrix.FromQuaternion(model.Orientation);
            modelTransform.Translation = model.Position;
            var data = model.Get <ModelData>();

            foreach (var mesh in data.Meshes)
            {
                drawing.AddGeometry(mesh.Geometry, mesh.Material, mesh.LocalTransform * modelTransform);
            }
        }