public DMSImage( Renderer renderer ) : this(renderer.Size) { m_Progress = 0.0; BitmapData bitmap_data = m_Bitmap.LockBits(new Rectangle(0, 0, m_Bitmap.Width, m_Bitmap.Height), ImageLockMode.ReadWrite, pixel_format); unsafe { byte* dest = (byte*)bitmap_data.Scan0; for (int y = 0; y < Height; y++) { m_Progress = (double)y / Height; for (int x = 0; x < Width; x++) { Color color = renderer.GetPixel(x, y); *dest++ = color.B; *dest++ = color.G; *dest++ = color.R; *dest++ = color.A; } } } m_Bitmap.UnlockBits(bitmap_data); m_Progress = 1.0; }
//constructors; public Equirect2Ortho(Renderer renderer, int size) : base(new Size(size, size)) { m_renderer = renderer; m_radius = size / 2; m_center = new Point2D(m_radius, m_radius ); }
public SuperSampler(Renderer SourceRenderer, int samples, bool random=false) : base(new Size(SourceRenderer.Size.Width / samples, SourceRenderer.Size.Height / samples)) { m_SourceRenderer = SourceRenderer; m_Sample = samples; m_SampleSquared = m_Sample * m_Sample; m_random = random; m_Rand = new Random(); }
public void AddRenderer(Renderer r, int i, int j) { m_Renderers[i, j] = r; }