示例#1
0
        private void CreateBackLight()
        {
            var vertices = PrimitiveUtils.CreateFrontVertices(new Vector3(0), new Vector2(2), 1);
            var uvs      = PrimitiveUtils.CreateFrontUvs();

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

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

            area.X      = width;
            position.Z += 0.05f;

            return(new Billboard(
                       texture,
                       _shader,
                       PrimitiveUtils.CreateFrontVertices(position, area, height),
                       PrimitiveUtils.CreateFrontUvs()));
        }