public void startRendering(Scene scene, Display display)
        {
            scene.prepareForRender();

            m_imageSampler.setScene(scene);

            m_imageSampler.startTracing(display);
        }
        public BucketWorker(Rectangle imgPlaneRect, Rectangle bucketRect, Display display, IPixelSampler pixelSampler, Scene scene, ManualResetEvent doneEvent)
        {
            _doneEvent = doneEvent;

            m_pixelSampler = pixelSampler;
            m_scene = scene;
            m_imgPlaneRect = imgPlaneRect;
            m_bucketRect = bucketRect;
            m_bucketRect.Intersect(imgPlaneRect);
            m_display = display;
        }
        public static RayContext startFromPixel(Ray startRay, int pixX, int pixY, Scene _scene, IIntegrator integrator)
        {
            RayContext newContext = new RayContext(startRay);
            newContext.scene = _scene;
            newContext.m_renderer = integrator;
            newContext.m_rndContext = new RandomContext(2, 17 * pixX + 73 * pixY);

            return newContext;
        }
        public void compileMeshToScene(Scene scene, Shader shader)
        {
            int faceID = 0;
            for (int i = 0; i < numFaces * m_vertsPerFace; i += m_vertsPerFace) {

                Triangle tri = new Triangle();
                tri.v[0].set(v[ f[i+0] ]);
                tri.v[1].set(v[ f[i+1] ]);
                tri.v[2].set(v[ f[i+2] ]);

                tri.tc[0].set(tc[i + 0]);
                tri.tc[1].set(tc[i + 1]);
                tri.tc[2].set(tc[i + 2]);

                tri.vn[0].set(vn[i + 0]);
                tri.vn[1].set(vn[i + 1]);
                tri.vn[2].set(vn[i + 2]);

                tri.shaderID = faceShaderIDs[faceID];

                tri.setShader(shader);
                scene.addPrimitive(tri);

                faceID++;
            }
        }
 public void setScene(Scene scene)
 {
     m_scene = scene;
 }
 public void setParams( Rectangle imageRect, Scene scene)
 {
     m_imageRect = imageRect;
     m_scene = scene;
 }