private void CreateHeadLight()
        {
            var vertices = PrimitiveUtils.CreateBacksideVertices(new Vector3(0), new Vector2(2), 1);
            var uvs      = PrimitiveUtils.CreateBackUVs();

            var mesh = new Mesh(vertices, uvs, _headlightShader)
            {
                IsInstanced = true
            };

            _meshes.Add(mesh);
        }
        public Billboard CreateSouthFacingBillboard(Vector3 position, Vector2 area, float height)
        {
            var texture = _billboardTextures.ElementAt(_random.Next(_billboardTextures.Length));
            var width   = CalculateBillboardWidth(height);

            position.X  = position.X + area.X - width; //compensate position because of the worldspace coordinates
            area.X      = width;
            position.Z -= 0.05f;

            return(new Billboard(
                       texture,
                       _shader,
                       PrimitiveUtils.CreateBacksideVertices(position, area, height),
                       PrimitiveUtils.CreateBackUVs()));
        }