Example #1
0
 private void RawDraw(CompiledModel model)
 {
     device.SetVertexBuffer(model.verticies);
     device.Indices = model.indicies;
     device.DrawIndexedPrimitives(PrimitiveType.TriangleList, 0, 0, model.verticies.VertexCount,
         0, System.Math.Min(model.primitiveCount, 65535));
 }
Example #2
0
        public static CompiledModel CompileModel(RawModel model, GraphicsDevice device)
        {
            CompiledModel result = new CompiledModel();

            var combinedIndex = CompileIndicies(model);
            result.indicies = new IndexBuffer(device, typeof(Int16), combinedIndex.Length, BufferUsage.WriteOnly);
            result.indicies.SetData(combinedIndex);

            if (model.IsTextured)
            {
                var combinedVertex = CompileTexturedVerticies(model);
                result.verticies = new VertexBuffer(device, typeof(TexturedVertex), combinedVertex.Length, BufferUsage.WriteOnly);
                result.verticies.SetData(combinedVertex);
                result.Textured = true;
            }
            else
            {
                var combinedVertex = CompileVerticies(model);
                result.verticies = new VertexBuffer(device, typeof(Vertex), combinedVertex.Length, BufferUsage.WriteOnly);
                result.verticies.SetData(combinedVertex);
                result.Textured = false;
            }

            result.primitiveCount = combinedIndex.Length / 3;
            result.boundingSphere = new BoundingSphere(Vector3.Zero, 1);

            return result;
        }
Example #3
0
 public virtual void DrawTexturedFullbright(CompiledModel model)
 {
     SelectTechnigue(2);
     RawDraw(model);
 }
Example #4
0
 public virtual void DrawTextured(CompiledModel model)
 {
     SelectTechnigue(1);
     RawDraw(model);
 }
Example #5
0
 public virtual void Draw(CompiledModel model)
 {
     SelectTechnigue(0);
     RawDraw(model);
 }
Example #6
0
        public override void PreDraw(GraphicsDevice device, RenderContext context)
        {
            if (renderTarget == null)
            {
                renderTarget = new RenderTarget2D(device, uiCamera.Viewport.Width, uiCamera.Viewport.Height);
                var rawGuiQuad = Gen.CreateTexturedQuad();
                Gen.Colorize(rawGuiQuad, Vector4.One);
                rawGuiQuad = Gen.FacetCopy(rawGuiQuad);
                quadModel = CompiledModel.CompileModel(new RawModel(rawGuiQuad), device);
            }

            module.DrawRoot(uiRoot, uiCamera, renderTarget);
        }
Example #7
0
 public ModelComponent(CompiledModel model)
 {
     this.model = model;
     this._boundingVolume = model.boundingSphere;
 }