Browse Source
修改了“Base.php”、“BaseCfg.php”、“RenderEngine.php”、“Sampler.php”、“StringHelper.php”五个类文件,和示例文件;新增“Film.php”、“Filter.php”、“NoiseEstimation.php”三个类文件
master
修改了“Base.php”、“BaseCfg.php”、“RenderEngine.php”、“Sampler.php”、“StringHelper.php”五个类文件,和示例文件;新增“Film.php”、“Filter.php”、“NoiseEstimation.php”三个类文件
master
yuanjiajia
3 years ago
9 changed files with 304 additions and 12 deletions
-
19examples/print.php
-
5src/core/Base.php
-
24src/scene/BaseCfg.php
-
139src/scene/Film.php
-
40src/scene/Filter.php
-
21src/scene/NoiseEstimation.php
-
5src/scene/RenderEngine.php
-
12src/scene/Sampler.php
-
51src/utils/StringHelper.php
@ -0,0 +1,139 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene; |
||||
|
use Blobt\Luxcore\core\Base; |
||||
|
|
||||
|
class Film extends BaseCfg |
||||
|
{ |
||||
|
|
||||
|
/** |
||||
|
* @var object 一个 NoiseEstimation类 的实例对象 |
||||
|
*/ |
||||
|
public $noiseEstimation; |
||||
|
|
||||
|
/** |
||||
|
* @var object 一个 Filter类 的实例对象 |
||||
|
*/ |
||||
|
public $filter; |
||||
|
|
||||
|
/** |
||||
|
* 渲染图像的宽度,单位像素(取值:大于0的整数) |
||||
|
*/ |
||||
|
public $width = 1920; |
||||
|
|
||||
|
/** |
||||
|
* 渲染图像的高度,单位像素(取值:大于0的整数) |
||||
|
*/ |
||||
|
public $heigth = 1080; |
||||
|
|
||||
|
/** |
||||
|
* @var bool TODO:具体作用尚不明确(取值:true) |
||||
|
*/ |
||||
|
public $openclEnable = 1; |
||||
|
|
||||
|
/** |
||||
|
* @var integer TODO:具体作用尚不明确(取值:0) |
||||
|
*/ |
||||
|
public $openclDevice = 0; |
||||
|
|
||||
|
/** |
||||
|
* @var array 渲染图像后期处理配置参数 |
||||
|
*/ |
||||
|
public $imagepipelines; |
||||
|
|
||||
|
/** |
||||
|
* @var array 图像输出的配置参数 |
||||
|
*/ |
||||
|
public $outputs; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 实例 PathDepth类、HybridBackforWard类的两个对象,初始化数组“$imagepipelines”; |
||||
|
*/ |
||||
|
public function __construct($config = []) |
||||
|
{ |
||||
|
$this->noiseEstimation = new NoiseEstimation($config); |
||||
|
$this->filter = new Filter($config); |
||||
|
|
||||
|
$this->imagepipelines = array( |
||||
|
'000' =>array( |
||||
|
'0' => array( |
||||
|
'type' => "NOP", |
||||
|
), |
||||
|
'1' => array( |
||||
|
'type' => "TONEMAP_LINEAR", |
||||
|
'scales' => 1 |
||||
|
), |
||||
|
'2' => array( |
||||
|
'type' => "GAMMA_CORRECTION", |
||||
|
'value' => 2.2 |
||||
|
), |
||||
|
'radiancescales' => array( |
||||
|
'0' => array( |
||||
|
'enabled' => 1, |
||||
|
'globalscale' => 1, |
||||
|
'rgbscale' => '1 1 1' |
||||
|
) |
||||
|
) |
||||
|
), |
||||
|
|
||||
|
'001' =>array( |
||||
|
'0' => array( |
||||
|
'type' => "BCD_DENOISER", |
||||
|
'scales' => 3, |
||||
|
'histdistthresh' => 1, |
||||
|
'patchradius' => 1, |
||||
|
'searchwindowradius' => 6, |
||||
|
'filterspikes' => 0 |
||||
|
), |
||||
|
'1' => array( |
||||
|
'type' => "NOP" |
||||
|
), |
||||
|
'2' => array( |
||||
|
'type' => "TONEMAP_LINEAR", |
||||
|
'scales' => 1 |
||||
|
), |
||||
|
'3' => array( |
||||
|
'type' => "GAMMA_CORRECTION", |
||||
|
'value' => 2.2 |
||||
|
), |
||||
|
'radiancescales' => array( |
||||
|
'0' => array( |
||||
|
'enabled' => 1, |
||||
|
'globalscale' => 1, |
||||
|
'rgbscale' => '0.99 0.5 0.8' |
||||
|
) |
||||
|
) |
||||
|
) |
||||
|
); |
||||
|
|
||||
|
|
||||
|
$this->outputs = array( |
||||
|
'0' => array( |
||||
|
'type' => 'RGB_IMAGEPIPELINE', |
||||
|
'index' => 0, |
||||
|
'filename' => 'RGB_IMAGEPIPELINE_0.png' |
||||
|
), |
||||
|
|
||||
|
'1' => array( |
||||
|
'type' => 'ALBEDO', |
||||
|
'filename' => 'ALBEDO.exr' |
||||
|
), |
||||
|
|
||||
|
'2' => array( |
||||
|
'type' => 'AVG_SHADING_NORMAL', |
||||
|
'filename' => 'AVG_SHADING_NORMAL.exr' |
||||
|
), |
||||
|
|
||||
|
'3' => array( |
||||
|
'type' => 'RGB_IMAGEPIPELINE', |
||||
|
'index' => 1, |
||||
|
'filename' => 'RGB_IMAGEPIPELINE_1.png' |
||||
|
) |
||||
|
); |
||||
|
|
||||
|
Base::__construct($config); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,40 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene; |
||||
|
use Blobt\Luxcore\core\Base; |
||||
|
|
||||
|
class Filter extends BaseCfg |
||||
|
{ |
||||
|
|
||||
|
const TYPE_NONE = 'NONE'; |
||||
|
const TYPE_BLACKMANHARRIS = 'BLACKMANHARRIS'; |
||||
|
const TYPE_MITCHELL_SS = 'MITCHELL_SS'; |
||||
|
const TYPE_GAUSSIAN = 'GAUSSIAN'; |
||||
|
const TYPE_SINC = 'SINC'; |
||||
|
const TYPE_CATMULLROM = 'CATMULLROM'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var string 使用何种抗锯齿类型 |
||||
|
*/ |
||||
|
public $type = self::TYPE_NONE; |
||||
|
|
||||
|
/** |
||||
|
* @var float 边缘抗锯齿宽度,单位像素(取值:大于0的数浮点数) |
||||
|
*/ |
||||
|
public $width = 1.5; |
||||
|
|
||||
|
/** |
||||
|
* 高斯类型抗锯齿过滤器的透明度(取值:0.10-10的浮点数) |
||||
|
*/ |
||||
|
public $gaussianAlpha = 2; |
||||
|
|
||||
|
/** |
||||
|
* TODO:具体作用尚不明确,(取值:0.10-8的浮点数) |
||||
|
*/ |
||||
|
public $sincTau = 1; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
?>
|
@ -0,0 +1,21 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene; |
||||
|
use Blobt\Luxcore\core\Base; |
||||
|
|
||||
|
class NoiseEstimation extends BaseCfg |
||||
|
{ |
||||
|
|
||||
|
/** |
||||
|
* @var integer TODO:具体作用尚不明确,(大于0的整数) |
||||
|
*/ |
||||
|
public $warmup = 8; |
||||
|
|
||||
|
/** |
||||
|
* @var integer TODO:具体作用尚不明确,(取值:大于等于16的整数) |
||||
|
*/ |
||||
|
public $step = 32; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
?>
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue