private void Init(IIntersectionEngine device, bool lowLatency, CorrectorImageFilm pixelDevice, GlobalSamplingContext sc) { this.samplers = sc; intersectionDevice = device; width = pixelDevice.Width; height = pixelDevice.Height; var rayBufferSize = lowLatency ? (RayBuffer.RayBufferSize / 8) : RayBuffer.RayBufferSize; rayBuffers = new RayBuffer[DeviceRenderBufferCount]; this.pixelDevice = pixelDevice; for (int i = 0; i < DeviceRenderBufferCount; i++) { rayBuffers[i] = new RayBuffer(rayBufferSize); rayBuffers[i].UserData = threadIndex; } _pathRayProcessors = new PathSampleProcessor(scene.MaxPaths, (RayEngineScene)scene, pixelDevice, samplers); //_pathRayProcessors.RequestSamplesFunc = (f)=>{ GenerateIm} renderThread = null; }
public virtual void InitPath(PathSampleProcessor renderer) { this.Processor = renderer; imageSample = renderer.GetImageSample(); }