Exemple #1
0
        public FrameManager(IRendererOutputSettings outputSettings, IRendererQualitySettings qualitySettings, RayEngineScene scene, RenderingMode mode = RenderingMode.StillFrame )
        {
            this.output = (OutputSettingsInfo)outputSettings;
            this.quality = (QualitySettingsInfo)qualitySettings;
            this.renderingComplete = false;
            this.samplesPerFrame = quality.SamplesPerPixel * quality.SuperSamplingSize;

            this.RenderJob = new RendererJobInfo(output, quality)
            {
                JobFramesCount = 1,
                FramesPerSecond = 1,
                NameTemplate = "frame_{0}.png",
                OutputDirectory = @"G:\RenderOutput\"
            };
            this.Mode = mode;
            this.startTime = DateTime.UtcNow;
            this.renderingTime = new TimeSpan(0, 5, 0);
            this.endless = this.Mode == RenderingMode.StillFrame;
            this.maxFrames = this.RenderJob.JobFramesCount * this.RenderJob.FramesPerSecond;
            this.animationManager = new AnimationManager(scene, this.TotalFramesToRender);
        }
Exemple #2
0
 public RendererJobInfo(OutputSettingsInfo os = null, QualitySettingsInfo qs = null) {
     this.Id = Guid.NewGuid();
     this.OutputSettings = os??new OutputSettingsInfo();
     this.QualitySettings = qs??new QualitySettingsInfo();            
 }