Esempio n. 1
0
        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 );
 }
Esempio n. 3
0
 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();
 }
Esempio n. 4
0
 public void AddRenderer(Renderer r, int i, int j)
 {
     m_Renderers[i, j] = r;
 }