Пример #1
0
        public (TransparentModel, Bounds) Construct(Entity entity, Model model)
        {
            var transparentModel = new TransparentModel(entity, model);

            this.Container.Add(transparentModel);

            BoundaryComputer.ComputeExtremes(model, out var min, out var max);
            var bounds = new Bounds(entity, min, max);

            this.Bounds.Add(bounds);

            return(transparentModel, bounds);
        }
Пример #2
0
        public Geometry Construct(Entity entity, GBufferVertex[] vertices, int[] indices, Texture2D diffuseMap, PrimitiveType primitiveType = PrimitiveType.TriangleList)
        {
            var specularMap   = this.GenerateTexture(Color.White, 1, 1);
            var normalMap     = this.GenerateTexture(new Color(0.5f, 0.5f, 1.0f, 1.0f), 1, 1);
            var reflectionMap = this.GenerateTexture(Color.Black, 1, 1);
            var mask          = this.GenerateTexture(Color.White, 1, 1);
            var skybox        = this.GenerateSkybox(Color.White);

            var geometry = new Geometry(entity, vertices, indices, diffuseMap, specularMap, normalMap, reflectionMap, mask, skybox, primitiveType);

            this.Container.Add(geometry);

            BoundaryComputer.ComputeExtremes(geometry, out var min, out var max);
            var bounds = new Bounds(entity, min, max);

            this.Bounds.Add(bounds);

            return(geometry);
        }