public void DrawModel(Model model)
{
//foreach (Vertex v in model.Vertices)
//{
// DrawPixel(v.Projected, Color.Red.ToArgb());
//}
int c = 0;
foreach (Triangle t in model.Triangles.Where(x => !x.IsBackFaced))
{
DrawTriangle(model, t);
c++;
}
Logger.Value("triangles drawn", c);
}
private void Render() { var sw = Stopwatch.StartNew(); frame.Clear(); frame.DrawModel(model); Logger.Value("frame.DrawModel()", sw.ElapsedMilliseconds); sw.Restart(); renderer.SetBackbuffer(frame); Logger.Value("renderer.SetBackbuffer()", sw.ElapsedMilliseconds); sw.Restart(); renderer.SwapBuffer(); Logger.Value("renderer.SwapBuffer()", sw.ElapsedMilliseconds); sw.Restart(); renderer.Update(); Logger.Value("renderer.Update()", sw.ElapsedMilliseconds); }