public FastBitmap CreateBitmap(CalculatedFractalPart calculatedFractalPart, IFractalSettings settings, IShader shader) { var fastBitmap = new FastBitmap( calculatedFractalPart.ScreenPosition.Right - calculatedFractalPart.ScreenPosition.Left + 1, calculatedFractalPart.ScreenPosition.Bottom - calculatedFractalPart.ScreenPosition.Top + 1); using (var lazyGraphics = new LazyGraphics(fastBitmap.Bitmap)) { using (var pens = new PenCache()) { foreach (var path in calculatedFractalPart.Paths) { var color = shader.GetColor(path.Value, settings.MaxIterations); DrawPath(path, color, fastBitmap, pens, lazyGraphics); } } } return(fastBitmap); }
public IRenderSpecification CreateFromCalculatedPart(CalculatedFractalPart part, IFractalSettings settings, IShader shader) { return(new ShadingOnlyRenderSpecification(part, settings, shader)); }
public RenderResult(CalculatedFractalPart calculatedFractalPart) { this.CalculatedFractalPart = calculatedFractalPart; }
public ShadingOnlyRenderSpecification(CalculatedFractalPart calculatedFractalPart, IFractalSettings settings, IShader shader) : base(settings, shader) { this.CalculatedFractalPart = calculatedFractalPart; }