yuanjiajia
3 years ago
16 changed files with 599 additions and 130 deletions
-
50src/scene/camera/Bokeh.php
-
19src/scene/camera/Camera.php
-
16src/scene/camera/CameraBase.php
-
79src/scene/camera/Environment.php
-
100src/scene/camera/Orthographic.php
-
116src/scene/camera/Perspective.php
-
103src/scene/lights/Emission.php
-
98src/scene/lights/Laser.php
-
17src/scene/lights/Projection.php
-
17src/scene/lights/Sphere.php
-
17src/scene/lights/Spot.php
-
5src/scene/lights/env/StarDistant.php
-
4src/scene/lights/env/Sun.php
-
1src/scene/materials/MaterialsBase.php
-
86src/scene/materials/emission/Emission.php
-
1src/scene/volumes/VolumesBase.php
@ -0,0 +1,50 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene\camera; |
||||
|
use Blobt\Luxcore\scene\BaseCfg; |
||||
|
|
||||
|
class Bokeh extends BaseCfg |
||||
|
{ |
||||
|
|
||||
|
/** |
||||
|
* 景深模糊效果原型 |
||||
|
*/ |
||||
|
const TYPE_NONE = "NONE"; //无
|
||||
|
const TYPE_UNIFORM = "UNIFORM"; //均衡
|
||||
|
const TYPE_EXPONENTIAL = "EXPONENTIAL"; //指数
|
||||
|
const TYPE_INVERSEEXPONENTIAL = "INVERSEEXPONENTIAL"; //逆指数
|
||||
|
const TYPE_GAUSSIAN = "GAUSSIAN"; //高斯
|
||||
|
const TYPE_INVERSEGAUSSIAN = "INVERSEGAUSSIAN"; //反高斯
|
||||
|
const TYPE_TRIANGULAR = "TRIANGULAR"; //三角形
|
||||
|
const TYPE_CUSTOM = "CUSTOM"; //图像
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var string 模糊效果原型,取值是一个 景深模糊效果原型 的字符串常量 |
||||
|
*/ |
||||
|
public $distributionType = self::TYPE_NONE; |
||||
|
|
||||
|
/** |
||||
|
* @var integer 光圈叶片数量(取值:大于等于3的整数) |
||||
|
*/ |
||||
|
public $blades = 8; |
||||
|
|
||||
|
/** |
||||
|
* @var integer 能量乘方(取值:大于等于1的整数),只有当类型为 指数和逆指数 才可以置此参数。否则固定为3。 |
||||
|
*/ |
||||
|
public $power = 3; |
||||
|
|
||||
|
/** |
||||
|
* @var float 各向异性 |
||||
|
*/ |
||||
|
public $scaleX = 0.7071068; |
||||
|
public $scaleY = 0.7071068; |
||||
|
|
||||
|
/** |
||||
|
* @var string 当 景深模糊效果原型 为图像时,可以指定一个图像文件 |
||||
|
*/ |
||||
|
public $distributionImage; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
?>
|
@ -1,19 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
namespace Blobt\Luxcore\scene\camera; |
|
||||
use Blobt\Luxcore\scene\BaseCfg; |
|
||||
use Blobt\Luxcore\scene\Scene; |
|
||||
use Blobt\Luxcore\core\Base; |
|
||||
|
|
||||
class Camera extends BaseCfg |
|
||||
{ |
|
||||
|
|
||||
public function __construct($config = []) |
|
||||
{ |
|
||||
$this->id = Scene::createID(); |
|
||||
Base::__construct($config); |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
?>
|
|
@ -0,0 +1,16 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene\camera; |
||||
|
use Blobt\Luxcore\scene\BaseCfg; |
||||
|
|
||||
|
class CameraBase extends BaseCfg |
||||
|
{ |
||||
|
|
||||
|
/** |
||||
|
* @var string 相机类型 |
||||
|
*/ |
||||
|
public $type; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
?>
|
@ -0,0 +1,79 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene\camera; |
||||
|
use Blobt\Luxcore\core\Base; |
||||
|
|
||||
|
class Environment extends Camerabase |
||||
|
{ |
||||
|
|
||||
|
/** |
||||
|
* 全景相机 |
||||
|
*/ |
||||
|
const TYPE_ENVIRONMENT = 'environment'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var string 视野中心偏移,视野中心为平面坐标原点O(字母O),前两个数分别代表视野 X轴上的的最左侧和最右侧边缘的位置, |
||||
|
* 后两个数分别代表视野 Y轴上最下侧边缘和最上侧边缘的位置 |
||||
|
*/ |
||||
|
public $screenwindow = "-1 1 -0.5625 0.5625"; |
||||
|
|
||||
|
/** |
||||
|
* @var float 剪切成像区的起始位置(单位跟随系统),设置一个 从相机焦平面开始,到视野前方的某个起始位置,从这个起始位置到视野前方截止位置为相机的可见成像区域 |
||||
|
*/ |
||||
|
public $cliphither = 0.001; |
||||
|
|
||||
|
/** |
||||
|
* @var float 剪切成像区的截止位置(单位跟随系统),设置一个 从相机焦平面开始,到视野前方的某个截止位置,从起始位置到视野前方的这个截止位置的为相机的可见成像区域 |
||||
|
*/ |
||||
|
public $clipyon = 100; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var float TODO:运动模糊,其参数意义还需测试才能确定 |
||||
|
*/ |
||||
|
public $shutteropen = 0; |
||||
|
public $shutterclose = 1; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var bool 是否自动从环境光中同步一个体积效果到本摄像机中 |
||||
|
*/ |
||||
|
public $autovolumeEnable = self::OPEN; |
||||
|
|
||||
|
/** |
||||
|
* @var string 接收一个体积对象,设置材质的内部体积属性 |
||||
|
*/ |
||||
|
public $volume; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var string 相机位置,一组 x y z 坐标值。 |
||||
|
*/ |
||||
|
public $lookatOrig = "7.358891 -6.925791 4.958309"; |
||||
|
|
||||
|
/** |
||||
|
* @var string 相机目标位置,一组 x y z 坐标值。 |
||||
|
*/ |
||||
|
public $lookatTarget = "6.707333 -6.31162 4.513038"; |
||||
|
|
||||
|
/** |
||||
|
* @var string 一组 x y z 坐标值。其参数意义还需测试才能确定 |
||||
|
*/ |
||||
|
public $up = "-0.3240135 0.3054208 0.8953956"; |
||||
|
|
||||
|
|
||||
|
|
||||
|
public function __construct($config = []) |
||||
|
{ |
||||
|
$this->type = self::TYPE_ENVIRONMENT; |
||||
|
Base::__construct($config); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
?>
|
@ -0,0 +1,100 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene\camera; |
||||
|
use Blobt\Luxcore\core\Base; |
||||
|
|
||||
|
class Orthographic extends Camerabase |
||||
|
{ |
||||
|
|
||||
|
/** |
||||
|
* 正交相机 |
||||
|
*/ |
||||
|
const TYPE_ORTHOGRAPHIC = 'orthographic'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var string 视野中心偏移,视野中心为平面坐标原点O(字母O),前两个数分别代表视野 X轴上的的最左侧和最右侧边缘的位置, |
||||
|
* 后两个数分别代表视野 Y轴上最下侧边缘和最上侧边缘的位置 |
||||
|
*/ |
||||
|
public $screenwindow = "-1 1 -0.5625 0.5625"; |
||||
|
|
||||
|
/** |
||||
|
* @var float 剪切成像区的起始位置(单位跟随系统),设置一个 从相机焦平面开始,到视野前方的某个起始位置,从这个起始位置到视野前方截止位置为相机的可见成像区域 |
||||
|
*/ |
||||
|
public $cliphither = 0.001; |
||||
|
|
||||
|
/** |
||||
|
* @var float 剪切成像区的截止位置(单位跟随系统),设置一个 从相机焦平面开始,到视野前方的某个截止位置,从起始位置到视野前方的这个截止位置的为相机的可见成像区域 |
||||
|
*/ |
||||
|
public $clipyon = 100; |
||||
|
|
||||
|
|
||||
|
|
||||
|
//正交相机中,以下三项参数不可调
|
||||
|
|
||||
|
/** |
||||
|
* @var float 景深(取值:0.0001744423-0.2232861),使用较高的值可得到更大程度的散焦效果,使用较低的值可得到更锐利的图像效果 |
||||
|
*/ |
||||
|
public $lensradius = 0; |
||||
|
|
||||
|
/** |
||||
|
* @var float 物距,相机成像焦点到被拍摄物体的距离 |
||||
|
*/ |
||||
|
public $focaldistance = 10; |
||||
|
|
||||
|
/** |
||||
|
* @var bool 是否自动测算成像焦点到被拍摄物体的距离 |
||||
|
*/ |
||||
|
public $autofocusEnable = self::CLOSE; |
||||
|
|
||||
|
//正交相机中,以上三项参数不可调
|
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var float TODO:运动模糊,其参数意义还需测试才能确定 |
||||
|
*/ |
||||
|
public $shutteropen = 0; |
||||
|
public $shutterclose = 1; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var bool 是否自动从环境光中同步一个体积效果到本摄像机中 |
||||
|
*/ |
||||
|
public $autovolumeEnable = self::OPEN; |
||||
|
|
||||
|
/** |
||||
|
* @var string 接收一个体积对象,设置材质的内部体积属性 |
||||
|
*/ |
||||
|
public $volume; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var string 相机位置,一组 x y z 坐标值。 |
||||
|
*/ |
||||
|
public $lookatOrig = "7.358891 -6.925791 4.958309"; |
||||
|
|
||||
|
/** |
||||
|
* @var string 相机目标位置,一组 x y z 坐标值。 |
||||
|
*/ |
||||
|
public $lookatTarget = "6.707333 -6.31162 4.513038"; |
||||
|
|
||||
|
/** |
||||
|
* @var string 一组 x y z 坐标值。其参数意义还需测试才能确定 |
||||
|
*/ |
||||
|
public $up = "-0.3240135 0.3054208 0.8953956"; |
||||
|
|
||||
|
|
||||
|
|
||||
|
public function __construct($config = []) |
||||
|
{ |
||||
|
$this->type = self::TYPE_ORTHOGRAPHIC; |
||||
|
Base::__construct($config); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
?>
|
@ -0,0 +1,116 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene\camera; |
||||
|
use Blobt\Luxcore\core\Base; |
||||
|
|
||||
|
class Perspective extends Camerabase |
||||
|
{ |
||||
|
|
||||
|
/** |
||||
|
* 透视相机 |
||||
|
*/ |
||||
|
const TYPE_PERSPECTIVE = 'perspective'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var float 视野,单位度(取值:0.367-173的小数) |
||||
|
*/ |
||||
|
public $fieldofview = 39.59776; |
||||
|
|
||||
|
/** |
||||
|
* @var string 视野中心偏移,视野中心为平面坐标原点O(字母O),前两个数分别代表视野 X轴上的的最左侧和最右侧边缘的位置, |
||||
|
* 后两个数分别代表视野 Y轴上最下侧边缘和最上侧边缘的位置 |
||||
|
*/ |
||||
|
public $screenwindow = "-1 1 -0.5625 0.5625"; |
||||
|
|
||||
|
/** |
||||
|
* @var float 剪切成像区的起始位置(单位跟随系统),设置一个 从相机焦平面开始,到视野前方的某个起始位置,从这个起始位置到视野前方截止位置为相机的可见成像区域 |
||||
|
*/ |
||||
|
public $cliphither = 0.001; |
||||
|
|
||||
|
/** |
||||
|
* @var float 剪切成像区的截止位置(单位跟随系统),设置一个 从相机焦平面开始,到视野前方的某个截止位置,从起始位置到视野前方的这个截止位置的为相机的可见成像区域 |
||||
|
*/ |
||||
|
public $clipyon = 100; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var float 景深(取值:0.0001744423-0.2232861),使用较高的值可得到更大程度的散焦效果,使用较低的值可得到更锐利的图像效果 |
||||
|
*/ |
||||
|
public $lensradius = 0; |
||||
|
|
||||
|
/** |
||||
|
* @var float 物距,相机成像焦点到被拍摄物体的距离 |
||||
|
*/ |
||||
|
public $focaldistance = 10; |
||||
|
|
||||
|
/** |
||||
|
* @var bool 是否自动测算成像焦点到被拍摄物体的距离 |
||||
|
*/ |
||||
|
public $autofocusEnable = self::OPEN; |
||||
|
|
||||
|
/** |
||||
|
* @var object 存储一个 Bokeh类对象 |
||||
|
*/ |
||||
|
public $bokeh; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var float TODO:运动模糊,其参数意义还需测试才能确定 |
||||
|
*/ |
||||
|
public $shutteropen = 0; |
||||
|
public $shutterclose = 1; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var bool 是否自动从环境光中同步一个体积效果到本摄像机中 |
||||
|
*/ |
||||
|
public $autovolumeEnable = self::OPEN; |
||||
|
|
||||
|
/** |
||||
|
* @var string 接收一个体积对象,设置材质的内部体积属性 |
||||
|
*/ |
||||
|
public $volume; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var bool TODO:具体作用尚未明确(固定取值:false) |
||||
|
*/ |
||||
|
public $oculusriftBarrelpostproEnable = self::CLOSE; |
||||
|
|
||||
|
/** |
||||
|
* @var string 相机位置,一组 x y z 坐标值。 |
||||
|
*/ |
||||
|
public $lookatOrig = "7.358891 -6.925791 4.958309"; |
||||
|
|
||||
|
/** |
||||
|
* @var string 相机目标位置,一组 x y z 坐标值。 |
||||
|
*/ |
||||
|
public $lookatTarget = "6.707333 -6.31162 4.513038"; |
||||
|
|
||||
|
/** |
||||
|
* @var string 一组 x y z 坐标值。其参数意义还需测试才能确定 |
||||
|
*/ |
||||
|
public $up = "-0.3240135 0.3054208 0.8953956"; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @param array $config 接收一个数组,可以初始化当前实例化对象的各种属性 |
||||
|
* @param object $bokeh 如需自定义景深模糊,必须传入一个 Bokeh类对象,否则使用一个默认景深模糊 |
||||
|
*/ |
||||
|
public function __construct($config = [],Bokeh $bokeh = null) |
||||
|
{ |
||||
|
if($bokeh != null) $this->bokeh = $bokeh; |
||||
|
else $this->bokeh = new Bokeh(); |
||||
|
$this->type = self::TYPE_PERSPECTIVE; |
||||
|
Base::__construct($config); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
?>
|
@ -0,0 +1,103 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene\lights; |
||||
|
use Blobt\Luxcore\scene\Scene; |
||||
|
use Blobt\Luxcore\core\Base; |
||||
|
use Blobt\Luxcore\scene\BaseCfg; |
||||
|
|
||||
|
class Emission extends BaseCfg |
||||
|
{ |
||||
|
|
||||
|
/** |
||||
|
* @var string 亮度增益:1、当发光强度单位是 artistic 类型、或是 坎德拉类型且坎德拉参数下勾选为每平方米(当勾选每平方米时,坎德拉 |
||||
|
* 参数值就是增益倍数,不勾选时,坎德拉参数值转换为一个功率的值传给$power,$gain则固定为 "1 1 1")时,可以 |
||||
|
* 设置此参数,这个参数是色彩模式的色值($color)、或色温模式的色温值、或图像文件色值 的增益倍数,这个倍数则 |
||||
|
* 是由 UI界面中曝光参数(2的n次方,2底数,n是UI界面中曝光参数设置的值)、与UI界面中增益倍数的乘积 的计算结 |
||||
|
* 果; |
||||
|
* 2、否则固定为 1 1 1 |
||||
|
*/ |
||||
|
public $gain = "1 1 1"; |
||||
|
|
||||
|
/** |
||||
|
* @var float 能量强度:1、当发光强度单位为 参量乘方 类型、流明类型、坎德拉类型且坎德拉参数下不勾选为每平方米(当勾选每平方米时,坎德拉参数 |
||||
|
* 值就是增益倍数,不勾选时,坎德拉参数值转换一个功率值的数传给$power,$gain则固定为 "1 1 1")时,可以设置此参 |
||||
|
* 数,此值 由一个单位是瓦特、流明或坎德拉的数转换而得(取值:大于等于0的小数); |
||||
|
* 2、否则固定为0 |
||||
|
*/ |
||||
|
public $power = 0; |
||||
|
|
||||
|
/** |
||||
|
* @var float 转换效率:1、当发光强度单位是 参量乘方 类型时,可以设置此参数,(取值:大于等于0的小数), |
||||
|
* 2、否则为artistic 类型和坎德拉类型且坎德拉参数下勾选为(每平方米时)时,固定为0; |
||||
|
* 3、否则为流明和坎德拉时固定为1 |
||||
|
*/ |
||||
|
public $efficency = 0; |
||||
|
|
||||
|
/** |
||||
|
* @var bool 是否 通过发光强度单位(流明、坎德拉、勒克斯)推荐的颜色亮度 对强度进行规格化,以模拟发光效率函数,当发光强度单位非 artistic |
||||
|
* 类型、坎德拉类型且坎德拉参数下勾选为每平方米时,可以设置此参数,(取值:true或false),否则固定为 false |
||||
|
*/ |
||||
|
public $normalizebycolor = self::CLOSE; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var integer 色温模式,开关状态与色彩模式互斥,1、当取值为0-13000的小数时(会被转化为一个普通色值),色温模式开启,色彩模式关闭。 |
||||
|
* 2、当取值为-1时,色温模式关闭,色彩模式启。 |
||||
|
*/ |
||||
|
public $temperature = -1; |
||||
|
|
||||
|
/** |
||||
|
* @var integer 是否将色温模式下的色温值规格化为小数形式的RGB色值,色温模式开启,色彩模式关闭 |
||||
|
*/ |
||||
|
public $temperatureNormalize = 0; |
||||
|
|
||||
|
/** |
||||
|
* @var string 光域网文件名及路径,如果为空,则表示不使用光域网 |
||||
|
*/ |
||||
|
public $mapfile; |
||||
|
|
||||
|
/** |
||||
|
* @var float 校正光域网文件的gamma值,(固定取值:1) |
||||
|
*/ |
||||
|
public $gamma; |
||||
|
|
||||
|
/** |
||||
|
* @var string 输出的图片的色值以何种方式表示(固定取值:"float") |
||||
|
*/ |
||||
|
public $storage; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var float 光线的发射时的扩散角度,设置为光源的半角。默认值为90。较小的值意味着在 垂直光源表面 的方向上发射的光更多,而在侧面发射的光更少,反之亦然 |
||||
|
*/ |
||||
|
public $theta = 90; |
||||
|
|
||||
|
/** |
||||
|
* @var float TODO:权重,具体作用沿未明确,(取值:大于0的小数) |
||||
|
*/ |
||||
|
public $importance = 1; |
||||
|
|
||||
|
/** |
||||
|
* @var string 直接光采样类型,(固定取值:AUTO) |
||||
|
*/ |
||||
|
public $directlightsamplingType = "AUTO"; |
||||
|
|
||||
|
/** |
||||
|
* @var integer 当前灯光的ID号(取值:大于0的整数) |
||||
|
*/ |
||||
|
public $id; |
||||
|
|
||||
|
/** |
||||
|
* @param array $config 接收一个数组,可以初始化当前实例化对象的各种属性 |
||||
|
*/ |
||||
|
public function __construct($config = []) |
||||
|
{ |
||||
|
$this->id = Scene::createID(); |
||||
|
Base::__construct($config); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
?>
|
@ -0,0 +1,98 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace Blobt\Luxcore\scene\lights; |
||||
|
use Blobt\Luxcore\scene\Scene; |
||||
|
use Blobt\Luxcore\core\Base; |
||||
|
|
||||
|
class Laser extends LightBase |
||||
|
{ |
||||
|
|
||||
|
/** |
||||
|
* 平行的激光 |
||||
|
*/ |
||||
|
const TYPE_LASER = 'laser'; |
||||
|
|
||||
|
/** |
||||
|
* @var string 亮度增益:1、当发光强度单位是 artistic 类型时,可以设置此参数,这个参数是色彩模式的色值($color)、或色温模式的色温值、 |
||||
|
* 或图像文件色值 的增益倍数,这个倍数则是由 UI界面中曝光参数(2的n次方,2底数,n是UI界面中曝光参数设置的值)、 |
||||
|
* 与UI界面中增益倍数的乘积 的计算结果; |
||||
|
* 2、否则固定为 1 1 1 |
||||
|
*/ |
||||
|
public $gain = "1 1 1"; |
||||
|
|
||||
|
/** |
||||
|
* @var float 能量强度:1、当发光强度单位为 参量乘方类型、流明类型、坎德拉类型时,可以设置此参数,此值 由一个单位是瓦特、流明或坎德拉的 |
||||
|
* 数转换而得(取值:大于等于0的小数); |
||||
|
* 2、否则固定为0 |
||||
|
*/ |
||||
|
public $power = 0; |
||||
|
|
||||
|
/** |
||||
|
* @var float 转换效率:1、当发光强度单位是 参量乘方 类型时,可以设置此参数,(取值:大于等于0的小数), |
||||
|
* 2、否则为artistic 类型时,固定为0; |
||||
|
* 3、否则为 流明 和 坎德拉 时固定为1 |
||||
|
*/ |
||||
|
public $efficency = 0; |
||||
|
|
||||
|
/** |
||||
|
* @var bool 是否 通过发光强度单位(流明、坎德拉、勒克斯)推荐的颜色亮度 对强度进行规格化,以模拟发光效率函数,当发光强度单位非 artistic |
||||
|
* 类型时,可以设置此参数,(取值:true或false),否则固定为 false |
||||
|
*/ |
||||
|
public $normalizebycolor = self::CLOSE; |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var string 发光颜色,分两种情况:1、当色彩模式开启,色温模式半闭时,这里的参数是一组小数形式RGB三通道的色值 |
||||
|
* 2、当色彩模式关闭,色温模式开启时,这里只能取一个固定的色值 ”1 1 1“ |
||||
|
*/ |
||||
|
public $color = "1 1 1"; |
||||
|
|
||||
|
/** |
||||
|
* @var float 色温模式,开关状态与色彩模式互斥,1、当取值为0-13000的小数时(会被转化为一个普通色值),色温模式开启,色彩模式关闭。 |
||||
|
* 2、当取值为-1时,色温模式关闭,色彩模式启。 |
||||
|
*/ |
||||
|
public $temperature = -1; |
||||
|
|
||||
|
/** |
||||
|
* @var bool 是否将色温模式下的色温值规格化为小数形式的RGB色值,色温模式开启,色彩模式关闭 |
||||
|
*/ |
||||
|
public $temperatureNormalize = self::CLOSE; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @var string 一个由16个数据组成模型的空间位置参数,包抱位置坐标,旋转参数,缩放参数 |
||||
|
*/ |
||||
|
public $transformation = "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1"; |
||||
|
|
||||
|
/** |
||||
|
* @var string 位置 |
||||
|
*/ |
||||
|
public $position = "0 0 0"; |
||||
|
|
||||
|
/** |
||||
|
* @var string 目标方向(位置) |
||||
|
*/ |
||||
|
public $target = "0 0 -1"; |
||||
|
|
||||
|
/** |
||||
|
* @var float 光源半径,(取值:大于等于0的小数) |
||||
|
*/ |
||||
|
public $radius = 0.5; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* @param array $config 接收一个数组,可以初始化当前实例化对象的各种属性 |
||||
|
*/ |
||||
|
public function __construct($config = []) |
||||
|
{ |
||||
|
$this->type = self::TYPE_LASER; |
||||
|
$this->id = Scene::createID(); |
||||
|
Base::__construct($config); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
?>
|
@ -1,86 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
namespace Blobt\Luxcore\scene\materials; |
|
||||
use Blobt\Luxcore\scene\BaseCfg; |
|
||||
|
|
||||
class Emission extends BaseCfg |
|
||||
{ |
|
||||
|
|
||||
/** |
|
||||
* @var string 亮度增益,当发光强度单位是 artistic 类型时,或是 坎德拉类型且坎德拉参数下勾选为(每平方米时),可以设置此参数,这个 |
|
||||
* 参数是色彩模式的色值($color)的增益倍数,这个倍数则是由 UI界面中曝光参数(2的n次方,2底数,n是UI界面中曝光参数设 |
|
||||
* 置的值)、与UI界面中增益倍数的乘积 的计算结果;;否则固定为 1 1 1 |
|
||||
*/ |
|
||||
public $gain = "1 1 1"; |
|
||||
|
|
||||
/** |
|
||||
* @var float 能量强度,当发光强度单位为非 artistic 类型和坎德拉类型且坎德拉参数下勾选为(每平方米时)时,可以设置此参数,此值 由一 |
|
||||
* 个单位是瓦特、流明或坎德拉的数转换而得(取值:大于等于0的小数);否则固定为0 |
|
||||
*/ |
|
||||
public $power = 0; |
|
||||
|
|
||||
/** |
|
||||
* @var float 转换效率, 当发光强度单位是 参量乘方 类型时,可以设置此参数,(取值:大于等于0的小数),否则artistic 类型和坎德 |
|
||||
* 拉类型且坎德拉参数下勾选为(每平方米时)时,固定为0;流明和坎德拉时固定为1 |
|
||||
*/ |
|
||||
public $efficency = 0; |
|
||||
|
|
||||
/** |
|
||||
* @var bool 是否 通过发光强度单位(流明、坎德拉、勒克斯)推荐的颜色亮度 对强度进行规格化,以模拟发光效率函数,当发光强度单位非 artistic |
|
||||
* 类型时,可以设置此参数,(取值:true或false),否则固定为 false |
|
||||
*/ |
|
||||
public $normalizebycolor = self::CLOSE; |
|
||||
|
|
||||
|
|
||||
|
|
||||
/** |
|
||||
* @var integer TODO:温度,具体作用沿未明确,(固定取值:-1) |
|
||||
*/ |
|
||||
public $temperature = -1; |
|
||||
|
|
||||
/** |
|
||||
* @var integer TODO:具体作用沿未明确,(固定取值:0) |
|
||||
*/ |
|
||||
public $temperatureNormalize = 0; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
/** |
|
||||
* @var float 光线的发射时的扩散角度,设置为光源的半角。默认值为90。较小的值意味着在 垂直光源表面 的方向上发射的光更多,而在侧面发射的光更少,反之亦然 |
|
||||
*/ |
|
||||
public $theta = 90; |
|
||||
|
|
||||
/** |
|
||||
* @var integer 当材质作为一个光源时的ID值,(固定取值:0) |
|
||||
*/ |
|
||||
public $id = 0; |
|
||||
|
|
||||
/** |
|
||||
* @var float TODO:权重,具体作用沿未明确,(取值:大于0的小数) |
|
||||
*/ |
|
||||
public $importance = 1; |
|
||||
|
|
||||
/** |
|
||||
* @var string 直接光采样类型,(固定取值:AUTO) |
|
||||
*/ |
|
||||
public $directlightsamplingType = "AUTO"; |
|
||||
|
|
||||
/** |
|
||||
* @var string 光域网文件名及路径,如果为空,则表示不使用光域网 |
|
||||
*/ |
|
||||
public $mapfile; |
|
||||
|
|
||||
/** |
|
||||
* @var float 校正光域网文件的gamma值,(固定取值:1) |
|
||||
*/ |
|
||||
public $gamma; |
|
||||
|
|
||||
/** |
|
||||
* @var string 输出的图片的色值以何种方式表示(固定取值:"float") |
|
||||
*/ |
|
||||
public $storage; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
?>
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue