From 4af7ea8da456e9766f2fe7e6a6ecb28a51415838 Mon Sep 17 00:00:00 2001 From: yuanjiajia <1139393632@qq.com> Date: Mon, 12 Jun 2023 10:09:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=B2=E6=9F=93=E6=B5=8B=E5=BC=8F=20?= =?UTF-8?q?=E6=A1=88=E4=BE=8B=20=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/renderTest.php | 66 +++++++++++++++++++------------------- src/scene/render/Film.php | 27 +++++++++++----- src/scene/render/Image.php | 24 ++++++-------- 3 files changed, 62 insertions(+), 55 deletions(-) diff --git a/examples/renderTest.php b/examples/renderTest.php index c7a8c8b..79ab75c 100644 --- a/examples/renderTest.php +++ b/examples/renderTest.php @@ -274,42 +274,13 @@ $scene->registerCamera($camera); // 四、设置渲染参数 -// // gpu 渲染 -// $render = ''; -// $renderEngine = new RenderEngine(); -// $render .= $renderEngine; - -// $openCL = new OpenCL(); -// $render .= $openCL; - -// $lightStrategy = new LightStrategy(); -// $render .= $lightStrategy; - -// $path = new Path(); -// $render .= $path; - -// $sampler = new Sampler(); -// $render .= $sampler; - -// $filesaver = new FileSaver(); -// $render .= $filesaver; - -// $batch = new Batch(); -// $batch->haltspp = 200; -// // $batch->halttime = 2000; -// $render .= $batch; - -// $sceneCfg = new render\Scene(); -// $render .= $sceneCfg; - -// cpu 渲染 +// gpu 渲染 $render = ''; $renderEngine = new RenderEngine(); -$renderEngine->type = RenderEngine::TYPE_PATHCPU; $render .= $renderEngine; -$native = new Native(); -$render .= $native; +$openCL = new OpenCL(); +$render .= $openCL; $lightStrategy = new LightStrategy(); $render .= $lightStrategy; @@ -321,7 +292,6 @@ $sampler = new Sampler(); $render .= $sampler; $filesaver = new FileSaver(); -$filesaver->renderengineType = FileSaver::TYPE_PATHCPU; $render .= $filesaver; $batch = new Batch(); @@ -332,6 +302,36 @@ $render .= $batch; $sceneCfg = new render\Scene(); $render .= $sceneCfg; +// // cpu 渲染 +// $render = ''; +// $renderEngine = new RenderEngine(); +// $renderEngine->type = RenderEngine::TYPE_PATHCPU; +// $render .= $renderEngine; + +// $native = new Native(); +// $render .= $native; + +// $lightStrategy = new LightStrategy(); +// $render .= $lightStrategy; + +// $path = new Path(); +// $render .= $path; + +// $sampler = new Sampler(); +// $render .= $sampler; + +// $filesaver = new FileSaver(); +// $filesaver->renderengineType = FileSaver::TYPE_PATHCPU; +// $render .= $filesaver; + +// $batch = new Batch(); +// $batch->haltspp = 200; +// // $batch->halttime = 2000; +// $render .= $batch; + +// $sceneCfg = new render\Scene(); +// $render .= $sceneCfg; + // 图像输出设置 $imageOutPath = $sceneTemplatePath.'/imageOut'; $film = new Film(); diff --git a/src/scene/render/Film.php b/src/scene/render/Film.php index 7f357e4..b03689a 100644 --- a/src/scene/render/Film.php +++ b/src/scene/render/Film.php @@ -70,21 +70,32 @@ class Film extends BaseCfg public function addImage(object $object, $outDir) { $i = -1; - if($object->type == Image::TYPE_RGB_IMAGEPIPELINE) - { - foreach($this->outputs as $value) - { + if($object->type == Image::TYPE_RGB_IMAGEPIPELINE){ + foreach($this->outputs as $value){ $i = $value->index > $i ? $value->index : $i; } $object->index = $i + 1; - - if ($object->effect != null) - { + if ($object->effect != null){ $this->imagepipelines[ sprintf("%03d",$object->index) ] = $object->effect; $object->effect = null; } - $object->filename = "{$outDir}/{$object->type}_{$object->index}.png"; + if(!$object->filename){ + $object->filename = "{$object->type}_{$object->index}.png"; + } + }else{ + if(!$object->filename){ + if( in_array($object->type,Image::PNG ) ){ + $object->filename = "{$object->type}.png"; + } + else if ( in_array($object->type,Image::EXR) ){ + $object->filename = "{$object->type}.exr"; + } + else{ + $object->filename = "{$object->type}.jpg"; + } + } } + $object->filename = "{$outDir}/{$object->filename}"; $this->outputs[] = $object; } diff --git a/src/scene/render/Image.php b/src/scene/render/Image.php index 472efaf..8f9a8cb 100644 --- a/src/scene/render/Image.php +++ b/src/scene/render/Image.php @@ -147,23 +147,19 @@ class Image extends BaseCfg */ public function __construct($config = []) { - Base::__construct($config); - if( in_array($this->type,self::PNG ) ) - { - $this->filename = "./DemoScene/{$this->type}.png"; + if(!$this->filename){ + if( in_array($this->type,self::PNG ) ){ + $this->filename = "{$this->type}.png"; + } + else if ( in_array($this->type,self::EXR) ){ + $this->filename = "{$this->type}.exr"; + } + else{ + $this->filename = "{$this->type}.jpg"; + } } - else if ( in_array($this->type,self::EXR) ) - { - $this->filename = "./DemoScene/{$this->type}.exr"; - } - else - { - $this->filename = "./DemoScene/{$this->type}.jpg"; - } - } - } ?>