Browse Source

新增一个“Entry”直接光缓存类文件,修改了“Path”、“print”、“LightStrategy”三个类文件

master
yuanjiajia 3 years ago
parent
commit
7dfe1cf433
  1. 2
      examples/print.php
  2. 40
      src/scene/Entry.php
  3. 51
      src/scene/LightStrategy.php
  4. 17
      src/scene/Path.php

2
examples/print.php

@ -16,6 +16,7 @@ echo $openCL;
//设置打印光线跟踪的配置参数
$path = new Path();
$path->photonGI = new PhotonGI();
echo $path;
//设置打印 采样器 配置参数
@ -24,6 +25,7 @@ echo $sampler;
//设置打印 灯光策略 配置参数
$lightStrategy = new LightStrategy();
$lightStrategy->openLightCache();
echo $lightStrategy;
//设置打印 文件储存格式 配置参数

40
src/scene/Entry.php

@ -0,0 +1,40 @@
<?php
namespace Blobt\Luxcore\scene;
class Entry extends BaseCfg
{
/**
* @var float 查找半径大小,单位跟系统,取值为0表是自动给出查找半径,大于0的值表示查找半径大小,(取值:大于0的小数)
*/
public $radius = 0;
/**
* @var integer TODO:预处理样本,具体作用尚未明确,(取值:大于等于0的整数)
*/
public $warmupsamples = 12;
/**
* @var float TODO:具体作用尚未明确,(取值:0-90的小数)
*/
public $normalangle = 10;
/**
* @var integer TODO:具体作用尚未明确,(取值:大于等于0的整数)
*/
public $maxpasses = 1024;
/**
* @var float TODO:具体作用尚未明确,(取值:0-1的小数)
*/
public $convergencethreshold = 0.01;
/**
* @var bool TODO:具体作用尚未明确,(默认取值:false)
*/
public $volumesEnable = false;
}
?>

51
src/scene/LightStrategy.php

@ -8,11 +8,60 @@ class LightStrategy extends BaseCfg
const TYPE_LOG_POWER = 'LOG_POWER';
const TYPE_POWER = 'POWER';
const TYPE_UNIFORM = 'UNIFORM';
const TYPE_DLS_CACHE = 'DLS_CACHE';
/**
* @var string 使用何种灯光策略(可取值是 LOG_POWER、POWER、UNIFORM 三个字符串之一)
* @var string 使用何种灯光策略(可取值是 LOG_POWER、POWER、UNIFORM、DLS_CACHE 四个字符串之一,当值是DLS_CACHE时,直接光子缓存配置参数开启)
*/
public $type = self::TYPE_LOG_POWER;
/**
* @var float 光照阈值,(取值:0-1的小数)
*/
public $lightthreshold;
/**
* @var float 目标缓存比率,(取值:0-1的小数)
*/
public $targetcachehitratio;
/**
* @var integer 最大深度,(取值:大于等于0的整数)
*/
public $maxdepth;
/**
* @var integer 最大采样数,(取值:大于等于0的整数,默认1000万)
*/
public $maxsamplescount;
/**
* @var string 直接光缓存文件的路径用文件名
*/
public $persistentFile;
/**
* @var object 储存个Entry类对象
*/
public $entry;
public function openLightCache()
{
$this->type = self::TYPE_DLS_CACHE;
$this->maxdepth = 4;
$this->maxsamplescount = 1e+07;
$this->persistentFile = "C:\Users\ADMINI~1\AppData\Local\Temp\Untitled.dlsc";
$this->entry = new Entry();
}
public function closeLightCache()
{
$this->type = self::TYPE_LOG_POWER;
$this->maxdepth = null;
$this->maxsamplescount = null;
$this->persistentFile = null;
$this->entry = null;
}
}
?>

17
src/scene/Path.php

@ -16,14 +16,6 @@ class Path extends BaseCfg
*/
public $hybridBackforWard;
/**
* @var object 存储一个 GhotonGI类 对象
*/
public $photonGI;
/**
* @var bool 是否限制 单象素光线 最大跟踪数量
*/
@ -37,6 +29,15 @@ class Path extends BaseCfg
/**
* @var object 存储一个 GhotonGI类 对象
*/
public $photonGI;
/**
* 实例 PathDepth类、HybridBackforWard类的两个对象

Loading…
Cancel
Save