示例#1
0
        public void SplatSampleBuffer(bool isPreviewOver, SampleBuffer sampleBuffer)
        {
            lock (lclock)
            {
                var sbe = sampleBuffer;
                if (this.Filter)
                {
                    for (var i = 0; i < sampleBuffer.GetSampleCount(); ++i)
                    {
                        this.SplatFiltered(sampleBuffer.Samples[i]);
                    }
                }
                else
                {
                    for (var i = 0; i < sampleBuffer.GetSampleCount(); ++i)
                    {
                        SampleBufferElem sampleElem = sbe.Samples[i];
                        int x = (int)sampleElem.screenX;
                        int y = (int)sampleElem.screenY;
                        this.SplatRadiance(ref sampleElem.radiance, x, y, 1.0f);
                    }
                }
                //                statsTotalSampleTime += WallClockTime() - t;
                //statsTotalSamplesCount += sampleBuffer->GetSampleCount();

                freeSampleBuffers.Enqueue(sampleBuffer);
            }
        }