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)); }
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; }
public virtual void DrawTexturedFullbright(CompiledModel model) { SelectTechnigue(2); RawDraw(model); }
public virtual void DrawTextured(CompiledModel model) { SelectTechnigue(1); RawDraw(model); }
public virtual void Draw(CompiledModel model) { SelectTechnigue(0); RawDraw(model); }
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); }
public ModelComponent(CompiledModel model) { this.model = model; this._boundingVolume = model.boundingSphere; }