yuanjiajia
3 years ago
10 changed files with 548 additions and 660 deletions
-
2.vscode/launch.json
-
107examples/printRender.php
-
468examples/printScene.php
-
522examples/startDome.php
-
58src/scene/Gltf.php
-
30src/scene/Scene.php
-
2src/scene/render/Filter.php
-
12src/scene/render/Image.php
-
2src/scene/render/Sobol.php
-
1src/utils/StringHelper.php
@ -1,107 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
|
|
||||
|
|
||||
namespace Blobt\Luxcore\scene; |
|
||||
|
|
||||
|
|
||||
include dirname(dirname(__FILE__)) . "/vendor/autoload.php"; |
|
||||
|
|
||||
// //设置打印 渲染引擎 的配置参数
|
|
||||
// $renderEngine = new render\RenderEngine();
|
|
||||
// echo $renderEngine;
|
|
||||
|
|
||||
// //设置打印GPU渲染设备的配置参数
|
|
||||
// $openCL = new render\OpenCL();
|
|
||||
// echo $openCL;
|
|
||||
|
|
||||
// //设置打印光线跟踪的配置参数
|
|
||||
// $path = new render\Path();
|
|
||||
// echo $path;
|
|
||||
|
|
||||
// //设置打印 采样器 配置参数
|
|
||||
// $sampler = new render\Sampler();
|
|
||||
// echo $sampler;
|
|
||||
|
|
||||
// //设置打印 灯光策略 配置参数
|
|
||||
// $lightStrategy = new render\LightStrategy();
|
|
||||
// echo $lightStrategy;
|
|
||||
|
|
||||
// //设置打印 文件储存格式 配置参数
|
|
||||
// $filesaver = new render\FileSaver();
|
|
||||
// echo $filesaver;
|
|
||||
|
|
||||
// //设置打印 渲染终止 配置参数
|
|
||||
// $batch = new render\Batch();
|
|
||||
// echo $batch;
|
|
||||
|
|
||||
// //设置打印 场景属性 配置参数
|
|
||||
// $scene = new render\Scene();
|
|
||||
// echo $scene;
|
|
||||
|
|
||||
|
|
||||
|
|
||||
// //设置打印 “胶片” 配置参数
|
|
||||
// $film = new render\Film();//添加一个胶片,
|
|
||||
|
|
||||
// $img = new render\Image();
|
|
||||
// $img->effect = [new render\effect\Pretreatment(),new render\effect\ToneMapLinear(),new render\effect\CammaCorrection()];
|
|
||||
// $film->addImage($img);
|
|
||||
|
|
||||
// $film->addImage(new render\Image(['type' => 'ALBEDO']));
|
|
||||
// $film->addImage(new render\Image(['type' => 'AVG_SHADING_NORMAL']));
|
|
||||
|
|
||||
// $film->addImage(new render\Image(['type' => 'OBJECT_ID']));
|
|
||||
|
|
||||
|
|
||||
// $img = new render\Image();
|
|
||||
// $img->effect = [new render\effect\NoiseReducerOIDN(),new render\effect\Pretreatment(),new render\effect\ToneMapLinear(),new render\effect\CammaCorrection()];
|
|
||||
// $film->addImage($img);
|
|
||||
|
|
||||
|
|
||||
// echo $film;
|
|
||||
|
|
||||
// class vector implements \JsonSerializable
|
|
||||
// {
|
|
||||
// public function __construct( $arr )
|
|
||||
// {
|
|
||||
// $this->array = $arr;
|
|
||||
// }
|
|
||||
|
|
||||
// public function jsonSerialize()
|
|
||||
// {
|
|
||||
// return $this->array;
|
|
||||
// }
|
|
||||
// }
|
|
||||
|
|
||||
|
|
||||
// $test = [
|
|
||||
// "x" => "geeks",
|
|
||||
// "y" => "for",
|
|
||||
// "z" => "geeks"
|
|
||||
// ];
|
|
||||
|
|
||||
// $test = new Gltf();
|
|
||||
|
|
||||
// echo json_encode($test, JSON_PRETTY_PRINT);
|
|
||||
|
|
||||
$rr = 'AACAPwAAgD8AAIA/AACAPwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIA/AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAgPwAAgD4AACA/AAAAPwAAYD8AAAA/AABgPwAAgD4AAAEAAgAAAAIAAwA='; |
|
||||
|
|
||||
// echo base64_decode($rr);
|
|
||||
|
|
||||
// $fileType = base64_decode($rr);
|
|
||||
$fileType = "\x04\x00\xa0\x00"; |
|
||||
|
|
||||
echo $fileType; |
|
||||
echo "\n\n"; |
|
||||
|
|
||||
$rr = unpack("cchars/nint",$fileType); |
|
||||
|
|
||||
var_dump($rr); |
|
||||
|
|
||||
|
|
||||
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw=='; |
|
||||
echo base64_decode($str); |
|
||||
|
|
||||
|
|
||||
?>
|
|
@ -1,468 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
|
|
||||
|
|
||||
namespace Blobt\Luxcore\scene; |
|
||||
include dirname(dirname(__FILE__)) . "/vendor/autoload.php"; |
|
||||
|
|
||||
const OPEN = true; |
|
||||
const CLOSE = false; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
$scene = new Scene(); // 创建一个场景
|
|
||||
|
|
||||
// // 一、创建光场:
|
|
||||
// // 1、创建 面片光001
|
|
||||
// $obj = new objects\Objects(); // 创建 面片光001 的实体
|
|
||||
// $obj->ply = './ply/面光.001.ply'; // 指定 面片光001 实体网格数据
|
|
||||
// $materials = new materials\Matte(); // 创建一个材质
|
|
||||
// $materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
|
||||
// $materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
|
||||
// $scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 为 面片光001 指定一个自发光材质
|
|
||||
// $scene->registerObjects($obj); // 将 面片光001 注册到 scene 中
|
|
||||
|
|
||||
// // 2、创建 面片光002
|
|
||||
// $obj = new objects\Objects(); // 创建 面片光002 的实体
|
|
||||
// $obj->ply = './ply/面光.002.ply'; // 指定 面片光002 实体网格数据
|
|
||||
// $materials = new materials\Matte(); // 创建一个材质
|
|
||||
// $materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
|
||||
// $materials->setEmission('0 0 0'); // 设置材质为一个自发光材质,并指定发光颜色
|
|
||||
// $materials->emissionCfg = new lights\Emission( // 设置发光属性
|
|
||||
// [
|
|
||||
// 'gain' => "30 30 30", // 设置发光增益
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 为 面片光002 指定一个自发光材质
|
|
||||
// $scene->registerObjects($obj); // 将 面片光002 注册到 scene 中
|
|
||||
|
|
||||
// // 3、创建 面片光003
|
|
||||
// $obj = new objects\Objects(); // 创建 面片光003 的实体
|
|
||||
// $obj->ply = './ply/面光.003.ply'; // 指定 面片光003 实体网格数据
|
|
||||
// $materials = new materials\Matte(); // 创建一个材质
|
|
||||
// $materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
|
||||
// $materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
|
||||
// $materials->emissionCfg = new lights\Emission( // 设置发光属性
|
|
||||
// [
|
|
||||
// 'gain' => "50 50 50", // 设置发光增益
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 为 面片光003 指定一个自发光材质
|
|
||||
// $scene->registerObjects($obj); // 将 面片光003 注册到 scene 中
|
|
||||
|
|
||||
// // 4、创建 面片光004
|
|
||||
// $obj = new objects\Objects(); // 创建 面片光004 的实体
|
|
||||
// $obj->ply = './ply/面光.004.ply'; // 指定 面片光004 实体网格数据
|
|
||||
// $materials = new materials\Matte(); // 创建一个材质
|
|
||||
// $materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
|
||||
// $materials->setEmission('0 0 0'); // 设置材质为一个自发光材质,并指定发光颜色
|
|
||||
// $materials->emissionCfg = new lights\Emission( // 设置发光属性
|
|
||||
// [
|
|
||||
// 'gain' => "4 4 4", // 设置发光增益
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 为 面片光004 指定一个自发光材质
|
|
||||
// $scene->registerObjects($obj); // 将 面片光004 注册到 scene 中
|
|
||||
|
|
||||
// // 5、创建 面片光005
|
|
||||
// $obj = new objects\Objects(); // 创建 面片光005 的实体
|
|
||||
// $obj->ply = './ply/面光.005.ply'; // 指定 面片光005 实体网格数据
|
|
||||
// $materials = new materials\Matte(); // 创建一个材质
|
|
||||
// $materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
|
||||
// $materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
|
||||
// $materials->emissionCfg = new lights\Emission( // 设置发光属性
|
|
||||
// [
|
|
||||
// 'gain' => "10 10 10", // 设置发光增益
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 为 面片光005 指定一个自发光材质
|
|
||||
// $scene->registerObjects($obj); // 将 面片光005 注册到 scene 中
|
|
||||
|
|
||||
// // 6、创建 面片光006
|
|
||||
// $obj = new objects\Objects(); // 创建 面片光006 的实体
|
|
||||
// $obj->ply = './ply/面光.006.ply'; // 指定 面片光006 实体网格数据
|
|
||||
// $materials = new materials\Matte(); // 创建一个材质
|
|
||||
// $materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
|
||||
// $materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
|
||||
// $materials->emissionCfg = new lights\Emission( // 设置发光属性
|
|
||||
// [
|
|
||||
// 'gain' => "8 8 8", // 设置发光增益
|
|
||||
// 'mapfile' => "SD-037.exr", // 加载一个光域文件
|
|
||||
// 'gamma' => 1, // 设置校正光域文件的gamma值
|
|
||||
// 'storage' => "float" // 声明光域文件表示色值的数据类型
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 为 面片光006 指定一个自发光材质
|
|
||||
// $scene->registerObjects($obj); // 将 面片光006 注册到 scene 中
|
|
||||
|
|
||||
// // 7、创建 面片光006
|
|
||||
// $obj = new objects\Objects(); // 创建 面片光 的实体
|
|
||||
// $obj->ply = './ply/面光.ply'; // 指定 面片光 实体网格数据
|
|
||||
// $materials = new materials\Matte(); // 创建一个材质
|
|
||||
// $materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
|
||||
// $materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
|
||||
// $materials->emissionCfg = new lights\Emission( // 设置发光属性
|
|
||||
// [
|
|
||||
// 'gain' => "3.3 3.3 3.3", // 设置发光增益
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 为 面片光 指定一个自发光材质
|
|
||||
// $scene->registerObjects($obj); // 将 面片光 注册到 scene 中
|
|
||||
|
|
||||
// // 8、创建环境光
|
|
||||
// $light = new lights\env\HdrImage( // new 一个环境光对象
|
|
||||
// [
|
|
||||
// 'gain' => "1.25 1.25 1.25", // 设置颜色增益
|
|
||||
// 'transformation' => "0.1736481 -0.9848078 0 0 -0.9848078 -0.1736481 0 0 0 0 1 0 0 0 0 1", //设置对象变换
|
|
||||
// 'file' => "env.png", // 加载一个全景图像文件
|
|
||||
// 'gamma' => 1, // 设置一个校正全景图像文件的 gamma 值
|
|
||||
// 'storage' => "byte" // 声明这个图像文件表示色值的数据类型
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $scene->registerLight($light); // 将环境光注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
// // 二、添加要渲染的模型
|
|
||||
// // 1、创建地面模型
|
|
||||
// $obj = new objects\Objects(); // 创建 地面 的实体
|
|
||||
// $obj->ply = './ply/地面.ply'; // 指定 地面 实体网格数据
|
|
||||
|
|
||||
// $mapping = new texture\mapping\Mapping(); // 创建一个铺贴对象
|
|
||||
// $mapping->useUVMapping2d( // 使用"uvmapping2d"类型的铺贴对象
|
|
||||
// 0, // uv通道
|
|
||||
// "0", // 旋转角度
|
|
||||
// "0.4 -0.966", // 缩放比例
|
|
||||
// "0.3 0.983" // 偏移量
|
|
||||
// );
|
|
||||
|
|
||||
// $texture = new texture\procedural\ImageMap( // 创建一个纹理
|
|
||||
// [
|
|
||||
// 'file' => "方形阴影遮照 (3).png", // 加载一个图像文件
|
|
||||
// 'gain' => 0.6, // 设置颜色增益
|
|
||||
// 'gamma' => 1, // 设置校正图像文件的gamma值
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $texture->mapping = $mapping; // 将铺贴对象赋值给纹理的“mapping”属性
|
|
||||
// $scene->registerTexture($texture); // 将纹理注册到 scene 中
|
|
||||
|
|
||||
// $materials = new materials\Disney( // 创建一个材质
|
|
||||
// [
|
|
||||
// 'shadowcatcherEnable' => OPEN, // 设置为阴影捕捉器
|
|
||||
// 'photongiEnable' => CLOSE // 关闭此材质的全局光缓存
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $materials->setBaseColor('1 1 1'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyFront($texture); // 将纹理设置为材质的正面透明度
|
|
||||
// $materials->setTransparencyBack($texture); // 将纹理设置为材质的背面透明度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 地面模型 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 地面模型 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 2、创建 刷毛003 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 刷毛003 的实体
|
|
||||
// $obj->ply = './ply/刷毛003.ply'; // 指定 刷毛003 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.233238 0.567919 0.654361' ); // 设置材质的漫反射
|
|
||||
// $materials->setSpecular('1'); // 设置材质的高光反射强度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 刷毛003 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 刷毛003 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 3、创建 刷毛002 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 刷毛002 的实体
|
|
||||
// $obj->ply = './ply/刷毛002.ply'; // 指定 刷毛002 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.0739024 0.0739024 0.0739024' );// 设置材质的漫反射
|
|
||||
// $materials->setSpecular('1'); // 设置材质的高光反射强度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 刷毛002 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 刷毛002 注册到 scene 中
|
|
||||
|
|
||||
// // 3、创建 刷毛001 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 刷毛001 的实体
|
|
||||
// $obj->ply = './ply/刷毛001.ply'; // 指定 刷毛001 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.857449 0.857449 0.857449' ); // 设置材质的漫反射
|
|
||||
// $materials->setSpecular('1'); // 设置材质的高光反射强度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 刷毛001 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 刷毛001 注册到 scene 中
|
|
||||
|
|
||||
// // 4、创建 牙刷头 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 牙刷头 的实体
|
|
||||
// $obj->ply = './ply/牙刷头.ply'; // 指定 牙刷头 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.701102 0.701102 0.701102' ); // 设置材质的漫反射
|
|
||||
// $materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
|
||||
// $materials->setRoughness('0.05'); // 设置粗糙度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 牙刷头 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 牙刷头 注册到 scene 中
|
|
||||
|
|
||||
// // 5、创建 牙刷头文字 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 牙刷头文字 的实体
|
|
||||
// $obj->ply = './ply/牙刷头文字.ply'; // 指定 牙刷头文字 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.0144817 0.0144817 0.0144817' );// 设置材质的漫反射
|
|
||||
// $materials->setSpecular('1'); // 设置材质的高光反射强度
|
|
||||
// $materials->setRoughness('0'); // 设置粗糙度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 牙刷头文字 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 牙刷头文字 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 6、创建 金属振动轴 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 金属振动轴 的实体
|
|
||||
// $obj->ply = './ply/金属振动轴.ply'; // 指定 金属振动轴 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $texture = new texture\procedural\Fresnelcolor(); // 创建一个菲涅尔反射纹理
|
|
||||
// $texture->setRefraction('0.7 0.7 0.7'); // 设置反射颜色
|
|
||||
// $scene->registerTexture($texture); // 将纹理注册到 scene 中
|
|
||||
// $materials = new materials\Metal(); // 创建一个材质
|
|
||||
// $materials->setFresnel($texture); // 设置材质的金属度
|
|
||||
// $materials->setUroughness('0.15'); // 设置U向粗糙度
|
|
||||
// $materials->setVroughness('0.15'); // 设置V向粗糙度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 金属振动轴 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 金属振动轴 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 7、创建 金属按扭底坐 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 金属按扭底坐 的实体
|
|
||||
// $obj->ply = './ply/金属按扭底坐.ply'; // 指定 金属按扭底坐 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $texture = new texture\procedural\Fresnelcolor(); // 创建一个菲涅尔反射纹理
|
|
||||
// $texture->setRefraction('0.7 0.7 0.7'); // 设置反射颜色
|
|
||||
// $scene->registerTexture($texture); // 将纹理注册到 scene 中
|
|
||||
// $materials = new materials\Metal(); // 创建一个材质
|
|
||||
// $materials->setFresnel($texture); // 设置材质的金属度
|
|
||||
// $materials->setUroughness('0.05'); // 设置U向粗糙度
|
|
||||
// $materials->setVroughness('0.05'); // 设置V向粗糙度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 金属按扭底坐 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 金属按扭底坐 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 8、创建 刷毛样本金属圆管 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 刷毛样本金属圆管 的实体
|
|
||||
// $obj->ply = './ply/刷毛样本金属圆管.ply'; // 指定 刷毛样本金属圆管 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $obj->setMaterial($materials); // 将上一个相同的材质设置为 刷毛样本金属圆管 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 刷毛样本金属圆管 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 9、创建 金属印字 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 金属印字 的实体
|
|
||||
// $obj->ply = './ply/金属印字.ply'; // 指定 金属印字 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $obj->setMaterial($materials); // 将上一个相同的材质设置为 金属印字 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 金属印字 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 10、创建 刷毛样本印字 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 刷毛样本印字 的实体
|
|
||||
// $obj->ply = './ply/刷毛样本印字.ply'; // 指定 刷毛样本印字 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.248287 0.0124709 0.0377595' ); // 设置材质的漫反射
|
|
||||
// $materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
|
||||
// $materials->setRoughness('0.2'); // 设置粗糙度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 刷毛样本印字 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 刷毛样本印字 注册到 scene 中
|
|
||||
|
|
||||
// // 11、创建 刷毛样本001 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 刷毛样本001 的实体
|
|
||||
// $obj->ply = './ply/刷毛样本001.ply'; // 指定 刷毛样本001 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.0204376 0.29558 0.16471' ); // 设置材质的漫反射
|
|
||||
// $materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
|
||||
// $materials->setRoughness('0.2'); // 设置粗糙度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 刷毛样本001 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 刷毛样本001 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 12、创建 刷毛样本002 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 刷毛样本002 的实体
|
|
||||
// $obj->ply = './ply/刷毛样本002.ply'; // 指定 刷毛样本002 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Glass(); // 创建一个材质
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 刷毛样本002 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 刷毛样本002 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 13、创建 透明塑料壳 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 透明塑料壳 的实体
|
|
||||
// $obj->ply = './ply/透明塑料壳.ply'; // 指定 透明塑料壳 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $obj->setMaterial($materials); // 将上一个相同的材质设置为 透明塑料壳 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 透明塑料壳 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 14、创建 圆柱形塑料壳 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 圆柱形塑料壳 的实体
|
|
||||
// $obj->ply = './ply/圆柱形塑料壳.ply'; // 指定 圆柱形塑料壳 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.291771 0.361307 0.701102' ); // 设置材质的漫反射
|
|
||||
// $materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
|
||||
// $materials->setRoughness('0.0470588'); // 设置粗糙度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 圆柱形塑料壳 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 圆柱形塑料壳 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 15、创建 塑料垫子 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 塑料垫子 的实体
|
|
||||
// $obj->ply = './ply/塑料垫子.ply'; // 指定 塑料垫子 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.701102 0.701102 0.701102' ); // 设置材质的漫反射
|
|
||||
// $materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
|
||||
// $materials->setRoughness('0.05'); // 设置粗糙度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 塑料垫子 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 塑料垫子 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 16、创建 按扭印字 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 按扭印字 的实体
|
|
||||
// $obj->ply = './ply/按扭印字.ply'; // 指定 按扭印字 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.0144817 0.0144817 0.0144817' );// 设置材质的漫反射
|
|
||||
// $materials->setSpecular('1'); // 设置材质的高光反射强度
|
|
||||
// $materials->setRoughness('0'); // 设置粗糙度
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 按扭印字 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 按扭印字 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 17、创建 散光灯罩 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 散光灯罩 的实体
|
|
||||
// $obj->ply = './ply/散光灯罩.ply'; // 指定 散光灯罩 实体网格数据
|
|
||||
// $obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1";
|
|
||||
// // 设置模型的变换
|
|
||||
// $materials = new materials\Disney(); // 创建一个材质
|
|
||||
// $materials->setBaseColor( '0.7 0.7 0.7' ); // 设置材质的漫反射
|
|
||||
// $materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
|
||||
// $materials->setRoughness('1'); // 设置粗糙度
|
|
||||
// $materials->setTransparencyFront('0.75');
|
|
||||
// $materials->setTransparencyBack('0.75');
|
|
||||
// $scene->registerMaterial($materials); // 将材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 设置 散光灯罩 的材质属性
|
|
||||
// $scene->registerObjects($obj); // 将 散光灯罩 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 18、创建 蓝色灯光 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 蓝色灯光 的实体
|
|
||||
// $obj->ply = './ply/蓝色灯光.ply'; // 指定 蓝色灯光 实体网格数据
|
|
||||
// $materials = new materials\Matte(); // 创建一个材质
|
|
||||
// $materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
|
||||
// $materials->setEmission('0.00604871 0.278894 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
|
||||
// $materials->emissionCfg = new lights\Emission( // 设置发光属性
|
|
||||
// [
|
|
||||
// 'gain' => "5 5 5", // 设置发光增益
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 为 蓝色灯光 指定一个自发光材质
|
|
||||
// $scene->registerObjects($obj); // 将 蓝色灯光 注册到 scene 中
|
|
||||
|
|
||||
|
|
||||
// // 19、创建 櫈色灯光 模型
|
|
||||
// $obj = new objects\Objects(); // 创建 櫈色灯光 的实体
|
|
||||
// $obj->ply = './ply/櫈色灯光.ply'; // 指定 櫈色灯光 实体网格数据
|
|
||||
// $materials = new materials\Matte(); // 创建一个材质
|
|
||||
// $materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
|
||||
// $materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
|
||||
// $materials->setEmission('1 0.0722717 0'); // 设置材质为一个自发光材质,并指定发光颜色
|
|
||||
// $materials->emissionCfg = new lights\Emission( // 设置发光属性
|
|
||||
// [
|
|
||||
// 'gain' => "10 10 10", // 设置发光增益
|
|
||||
// ]
|
|
||||
// );
|
|
||||
// $scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
|
||||
// $obj->setMaterial($materials); // 为 櫈色灯光 指定一个自发光材质
|
|
||||
// $scene->registerObjects($obj);
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
// 三、创建相机
|
|
||||
$camera = new camera\Perspective(); |
|
||||
// echo $camera;
|
|
||||
|
|
||||
$scene->registerCamera($camera); |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
// bokeh.blades = 0
|
|
||||
// bokeh.power = 3
|
|
||||
// bokeh.distribution.type = "NONE"
|
|
||||
// bokeh.scale.x = 0.7071068
|
|
||||
// bokeh.scale.y = 0.7071068
|
|
||||
|
|
||||
|
|
||||
|
|
||||
echo $scene; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
?>
|
|
@ -0,0 +1,522 @@ |
|||||
|
<?php |
||||
|
|
||||
|
|
||||
|
|
||||
|
namespace Blobt\Luxcore\scene; |
||||
|
include dirname(dirname(__FILE__)) . "/vendor/autoload.php"; |
||||
|
|
||||
|
const OPEN = true; |
||||
|
const CLOSE = false; |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
$scene = new Scene(); // 创建一个场景
|
||||
|
|
||||
|
// 一、创建光场:
|
||||
|
// 1、创建 面片光001
|
||||
|
$obj = new objects\Objects(); // 创建 面片光001 的实体
|
||||
|
$obj->ply = './ply/面光.001.ply'; // 指定 面片光001 实体网格数据
|
||||
|
$materials = new materials\Matte(); // 创建一个材质
|
||||
|
$materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
||||
|
$materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
||||
|
$scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 为 面片光001 指定一个自发光材质
|
||||
|
$scene->registerObjects($obj); // 将 面片光001 注册到 scene 中
|
||||
|
|
||||
|
// 2、创建 面片光002
|
||||
|
$obj = new objects\Objects(); // 创建 面片光002 的实体
|
||||
|
$obj->ply = './ply/面光.002.ply'; // 指定 面片光002 实体网格数据
|
||||
|
$materials = new materials\Matte(); // 创建一个材质
|
||||
|
$materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
||||
|
$materials->setEmission('0 0 0'); // 设置材质为一个自发光材质,并指定发光颜色
|
||||
|
$materials->emissionCfg = new lights\Emission( // 设置发光属性
|
||||
|
[ |
||||
|
'gain' => "30 30 30", // 设置发光增益
|
||||
|
] |
||||
|
); |
||||
|
$scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 为 面片光002 指定一个自发光材质
|
||||
|
$scene->registerObjects($obj); // 将 面片光002 注册到 scene 中
|
||||
|
|
||||
|
// 3、创建 面片光003
|
||||
|
$obj = new objects\Objects(); // 创建 面片光003 的实体
|
||||
|
$obj->ply = './ply/面光.003.ply'; // 指定 面片光003 实体网格数据
|
||||
|
$materials = new materials\Matte(); // 创建一个材质
|
||||
|
$materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
||||
|
$materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
||||
|
$materials->emissionCfg = new lights\Emission( // 设置发光属性
|
||||
|
[ |
||||
|
'gain' => "50 50 50", // 设置发光增益
|
||||
|
] |
||||
|
); |
||||
|
$scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 为 面片光003 指定一个自发光材质
|
||||
|
$scene->registerObjects($obj); // 将 面片光003 注册到 scene 中
|
||||
|
|
||||
|
// 4、创建 面片光004
|
||||
|
$obj = new objects\Objects(); // 创建 面片光004 的实体
|
||||
|
$obj->ply = './ply/面光.004.ply'; // 指定 面片光004 实体网格数据
|
||||
|
$materials = new materials\Matte(); // 创建一个材质
|
||||
|
$materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
||||
|
$materials->setEmission('0 0 0'); // 设置材质为一个自发光材质,并指定发光颜色
|
||||
|
$materials->emissionCfg = new lights\Emission( // 设置发光属性
|
||||
|
[ |
||||
|
'gain' => "4 4 4", // 设置发光增益
|
||||
|
] |
||||
|
); |
||||
|
$scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 为 面片光004 指定一个自发光材质
|
||||
|
$scene->registerObjects($obj); // 将 面片光004 注册到 scene 中
|
||||
|
|
||||
|
// 5、创建 面片光005
|
||||
|
$obj = new objects\Objects(); // 创建 面片光005 的实体
|
||||
|
$obj->ply = './ply/面光.005.ply'; // 指定 面片光005 实体网格数据
|
||||
|
$materials = new materials\Matte(); // 创建一个材质
|
||||
|
$materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
||||
|
$materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
||||
|
$materials->emissionCfg = new lights\Emission( // 设置发光属性
|
||||
|
[ |
||||
|
'gain' => "10 10 10", // 设置发光增益
|
||||
|
] |
||||
|
); |
||||
|
$scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 为 面片光005 指定一个自发光材质
|
||||
|
$scene->registerObjects($obj); // 将 面片光005 注册到 scene 中
|
||||
|
|
||||
|
// 6、创建 面片光006
|
||||
|
$obj = new objects\Objects(); // 创建 面片光006 的实体
|
||||
|
$obj->ply = './ply/面光.006.ply'; // 指定 面片光006 实体网格数据
|
||||
|
$materials = new materials\Matte(); // 创建一个材质
|
||||
|
$materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
||||
|
$materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
||||
|
$materials->emissionCfg = new lights\Emission( // 设置发光属性
|
||||
|
[ |
||||
|
'gain' => "8 8 8", // 设置发光增益
|
||||
|
'mapfile' => "SD-037.exr", // 加载一个光域文件
|
||||
|
'gamma' => 1, // 设置校正光域文件的gamma值
|
||||
|
'storage' => "float" // 声明光域文件表示色值的数据类型
|
||||
|
] |
||||
|
); |
||||
|
$scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 为 面片光006 指定一个自发光材质
|
||||
|
$scene->registerObjects($obj); // 将 面片光006 注册到 scene 中
|
||||
|
|
||||
|
// 7、创建 面片光006
|
||||
|
$obj = new objects\Objects(); // 创建 面片光 的实体
|
||||
|
$obj->ply = './ply/面光.ply'; // 指定 面片光 实体网格数据
|
||||
|
$materials = new materials\Matte(); // 创建一个材质
|
||||
|
$materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
||||
|
$materials->setEmission('1 1 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
||||
|
$materials->emissionCfg = new lights\Emission( // 设置发光属性
|
||||
|
[ |
||||
|
'gain' => "3.3 3.3 3.3", // 设置发光增益
|
||||
|
] |
||||
|
); |
||||
|
$scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 为 面片光 指定一个自发光材质
|
||||
|
$scene->registerObjects($obj); // 将 面片光 注册到 scene 中
|
||||
|
|
||||
|
// 8、创建环境光
|
||||
|
$light = new lights\env\HdrImage( // new 一个环境光对象
|
||||
|
[ |
||||
|
'gain' => "1.25 1.25 1.25", // 设置颜色增益
|
||||
|
'transformation' => "0.1736481 -0.9848078 0 0 -0.9848078 -0.1736481 0 0 0 0 1 0 0 0 0 1", //设置对象变换
|
||||
|
'file' => "env.png", // 加载一个全景图像文件
|
||||
|
'gamma' => 1, // 设置一个校正全景图像文件的 gamma 值
|
||||
|
'storage' => "byte" // 声明这个图像文件表示色值的数据类型
|
||||
|
] |
||||
|
); |
||||
|
$scene->registerLight($light); // 将环境光注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
// 二、添加要渲染的模型
|
||||
|
// 1、创建地面模型
|
||||
|
$obj = new objects\Objects(); // 创建 地面 的实体
|
||||
|
$obj->ply = './ply/地面.ply'; // 指定 地面 实体网格数据
|
||||
|
|
||||
|
$mapping = new texture\mapping\Mapping(); // 创建一个铺贴对象
|
||||
|
$mapping->useUVMapping2d( // 使用"uvmapping2d"类型的铺贴对象
|
||||
|
0, // uv通道
|
||||
|
"0", // 旋转角度
|
||||
|
"0.4 -0.966", // 缩放比例
|
||||
|
"0.3 0.983" // 偏移量
|
||||
|
); |
||||
|
|
||||
|
$texture = new texture\procedural\ImageMap( // 创建一个纹理
|
||||
|
[ |
||||
|
'file' => "方形阴影遮照.png", // 加载一个图像文件
|
||||
|
'gain' => 0.6, // 设置颜色增益
|
||||
|
'gamma' => 1, // 设置校正图像文件的gamma值
|
||||
|
] |
||||
|
); |
||||
|
$texture->mapping = $mapping; // 将铺贴对象赋值给纹理的“mapping”属性
|
||||
|
$scene->registerTexture($texture); // 将纹理注册到 scene 中
|
||||
|
|
||||
|
$materials = new materials\Disney( // 创建一个材质
|
||||
|
[ |
||||
|
'shadowcatcherEnable' => OPEN, // 设置为阴影捕捉器
|
||||
|
'photongiEnable' => CLOSE // 关闭此材质的全局光缓存
|
||||
|
] |
||||
|
); |
||||
|
$materials->setBaseColor('1 1 1'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyFront($texture); // 将纹理设置为材质的正面透明度
|
||||
|
$materials->setTransparencyBack($texture); // 将纹理设置为材质的背面透明度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 地面模型 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 地面模型 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 2、创建 刷毛003 模型
|
||||
|
$obj = new objects\Objects(); // 创建 刷毛003 的实体
|
||||
|
$obj->ply = './ply/刷毛003.ply'; // 指定 刷毛003 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; // 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.233238 0.567919 0.654361' ); // 设置材质的漫反射
|
||||
|
$materials->setSpecular('1'); // 设置材质的高光反射强度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 刷毛003 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 刷毛003 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 3、创建 刷毛002 模型
|
||||
|
$obj = new objects\Objects(); // 创建 刷毛002 的实体
|
||||
|
$obj->ply = './ply/刷毛002.ply'; // 指定 刷毛002 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.0739024 0.0739024 0.0739024' );// 设置材质的漫反射
|
||||
|
$materials->setSpecular('1'); // 设置材质的高光反射强度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 刷毛002 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 刷毛002 注册到 scene 中
|
||||
|
|
||||
|
// 3、创建 刷毛001 模型
|
||||
|
$obj = new objects\Objects(); // 创建 刷毛001 的实体
|
||||
|
$obj->ply = './ply/刷毛001.ply'; // 指定 刷毛001 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.857449 0.857449 0.857449' ); // 设置材质的漫反射
|
||||
|
$materials->setSpecular('1'); // 设置材质的高光反射强度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 刷毛001 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 刷毛001 注册到 scene 中
|
||||
|
|
||||
|
// 4、创建 牙刷头 模型
|
||||
|
$obj = new objects\Objects(); // 创建 牙刷头 的实体
|
||||
|
$obj->ply = './ply/牙刷头.ply'; // 指定 牙刷头 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.701102 0.701102 0.701102' ); // 设置材质的漫反射
|
||||
|
$materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
||||
|
$materials->setRoughness('0.05'); // 设置粗糙度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 牙刷头 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 牙刷头 注册到 scene 中
|
||||
|
|
||||
|
// 5、创建 牙刷头文字 模型
|
||||
|
$obj = new objects\Objects(); // 创建 牙刷头文字 的实体
|
||||
|
$obj->ply = './ply/牙刷头文字.ply'; // 指定 牙刷头文字 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.0144817 0.0144817 0.0144817' );// 设置材质的漫反射
|
||||
|
$materials->setSpecular('1'); // 设置材质的高光反射强度
|
||||
|
$materials->setRoughness('0'); // 设置粗糙度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 牙刷头文字 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 牙刷头文字 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 6、创建 金属振动轴 模型
|
||||
|
$obj = new objects\Objects(); // 创建 金属振动轴 的实体
|
||||
|
$obj->ply = './ply/金属振动轴.ply'; // 指定 金属振动轴 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$texture = new texture\procedural\Fresnelcolor(); // 创建一个菲涅尔反射纹理
|
||||
|
$texture->setRefraction('0.7 0.7 0.7'); // 设置反射颜色
|
||||
|
$scene->registerTexture($texture); // 将纹理注册到 scene 中
|
||||
|
$materials = new materials\Metal(); // 创建一个材质
|
||||
|
$materials->setFresnel($texture); // 设置材质的金属度
|
||||
|
$materials->setUroughness('0.15'); // 设置U向粗糙度
|
||||
|
$materials->setVroughness('0.15'); // 设置V向粗糙度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 金属振动轴 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 金属振动轴 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 7、创建 金属按扭底坐 模型
|
||||
|
$obj = new objects\Objects(); // 创建 金属按扭底坐 的实体
|
||||
|
$obj->ply = './ply/金属按扭底坐.ply'; // 指定 金属按扭底坐 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$texture = new texture\procedural\Fresnelcolor(); // 创建一个菲涅尔反射纹理
|
||||
|
$texture->setRefraction('0.7 0.7 0.7'); // 设置反射颜色
|
||||
|
$scene->registerTexture($texture); // 将纹理注册到 scene 中
|
||||
|
$materials = new materials\Metal(); // 创建一个材质
|
||||
|
$materials->setFresnel($texture); // 设置材质的金属度
|
||||
|
$materials->setUroughness('0.05'); // 设置U向粗糙度
|
||||
|
$materials->setVroughness('0.05'); // 设置V向粗糙度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 金属按扭底坐 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 金属按扭底坐 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 8、创建 刷毛样本金属圆管 模型
|
||||
|
$obj = new objects\Objects(); // 创建 刷毛样本金属圆管 的实体
|
||||
|
$obj->ply = './ply/刷毛样本金属圆管.ply'; // 指定 刷毛样本金属圆管 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$obj->setMaterial($materials); // 将上一个相同的材质设置为 刷毛样本金属圆管 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 刷毛样本金属圆管 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 9、创建 金属印字 模型
|
||||
|
$obj = new objects\Objects(); // 创建 金属印字 的实体
|
||||
|
$obj->ply = './ply/金属印字.ply'; // 指定 金属印字 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$obj->setMaterial($materials); // 将上一个相同的材质设置为 金属印字 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 金属印字 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 10、创建 刷毛样本印字 模型
|
||||
|
$obj = new objects\Objects(); // 创建 刷毛样本印字 的实体
|
||||
|
$obj->ply = './ply/刷毛样本印字.ply'; // 指定 刷毛样本印字 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.248287 0.0124709 0.0377595' ); // 设置材质的漫反射
|
||||
|
$materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
||||
|
$materials->setRoughness('0.2'); // 设置粗糙度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 刷毛样本印字 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 刷毛样本印字 注册到 scene 中
|
||||
|
|
||||
|
// 11、创建 刷毛样本001 模型
|
||||
|
$obj = new objects\Objects(); // 创建 刷毛样本001 的实体
|
||||
|
$obj->ply = './ply/刷毛样本001.ply'; // 指定 刷毛样本001 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.0204376 0.29558 0.16471' ); // 设置材质的漫反射
|
||||
|
$materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
||||
|
$materials->setRoughness('0.2'); // 设置粗糙度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 刷毛样本001 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 刷毛样本001 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 12、创建 刷毛样本002 模型
|
||||
|
$obj = new objects\Objects(); // 创建 刷毛样本002 的实体
|
||||
|
$obj->ply = './ply/刷毛样本002.ply'; // 指定 刷毛样本002 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Glass(); // 创建一个材质
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 刷毛样本002 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 刷毛样本002 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 13、创建 透明塑料壳 模型
|
||||
|
$obj = new objects\Objects(); // 创建 透明塑料壳 的实体
|
||||
|
$obj->ply = './ply/透明塑料壳.ply'; // 指定 透明塑料壳 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$obj->setMaterial($materials); // 将上一个相同的材质设置为 透明塑料壳 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 透明塑料壳 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 14、创建 圆柱形塑料壳 模型
|
||||
|
$obj = new objects\Objects(); // 创建 圆柱形塑料壳 的实体
|
||||
|
$obj->ply = './ply/圆柱形塑料壳.ply'; // 指定 圆柱形塑料壳 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.291771 0.361307 0.701102' ); // 设置材质的漫反射
|
||||
|
$materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
||||
|
$materials->setRoughness('0.0470588'); // 设置粗糙度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 圆柱形塑料壳 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 圆柱形塑料壳 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 15、创建 塑料垫子 模型
|
||||
|
$obj = new objects\Objects(); // 创建 塑料垫子 的实体
|
||||
|
$obj->ply = './ply/塑料垫子.ply'; // 指定 塑料垫子 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.701102 0.701102 0.701102' ); // 设置材质的漫反射
|
||||
|
$materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
||||
|
$materials->setRoughness('0.05'); // 设置粗糙度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 塑料垫子 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 塑料垫子 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 16、创建 按扭印字 模型
|
||||
|
$obj = new objects\Objects(); // 创建 按扭印字 的实体
|
||||
|
$obj->ply = './ply/按扭印字.ply'; // 指定 按扭印字 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.0144817 0.0144817 0.0144817' );// 设置材质的漫反射
|
||||
|
$materials->setSpecular('1'); // 设置材质的高光反射强度
|
||||
|
$materials->setRoughness('0'); // 设置粗糙度
|
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 按扭印字 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 按扭印字 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 17、创建 散光灯罩 模型
|
||||
|
$obj = new objects\Objects(); // 创建 散光灯罩 的实体
|
||||
|
$obj->ply = './ply/散光灯罩.ply'; // 指定 散光灯罩 实体网格数据
|
||||
|
$obj->appliedtransformation = "0.001 0 0 0 0 -1.629207e-10 0.001 0 0 -0.001 -1.629207e-10 0 0 0 0 1"; |
||||
|
// 设置模型的变换
|
||||
|
$materials = new materials\Disney(); // 创建一个材质
|
||||
|
$materials->setBaseColor( '0.7 0.7 0.7' ); // 设置材质的漫反射
|
||||
|
$materials->setSpecular('0.5'); // 设置材质的高光反射强度
|
||||
|
$materials->setRoughness('1'); // 设置粗糙度
|
||||
|
$materials->setTransparencyFront('0.75'); |
||||
|
$materials->setTransparencyBack('0.75'); |
||||
|
$scene->registerMaterial($materials); // 将材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 设置 散光灯罩 的材质属性
|
||||
|
$scene->registerObjects($obj); // 将 散光灯罩 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 18、创建 蓝色灯光 模型
|
||||
|
$obj = new objects\Objects(); // 创建 蓝色灯光 的实体
|
||||
|
$obj->ply = './ply/蓝色灯光.ply'; // 指定 蓝色灯光 实体网格数据
|
||||
|
$materials = new materials\Matte(); // 创建一个材质
|
||||
|
$materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
||||
|
$materials->setEmission('0.00604871 0.278894 1'); // 设置材质为一个自发光材质,并指定发光颜色
|
||||
|
$materials->emissionCfg = new lights\Emission( // 设置发光属性
|
||||
|
[ |
||||
|
'gain' => "5 5 5", // 设置发光增益
|
||||
|
] |
||||
|
); |
||||
|
$scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 为 蓝色灯光 指定一个自发光材质
|
||||
|
$scene->registerObjects($obj); // 将 蓝色灯光 注册到 scene 中
|
||||
|
|
||||
|
|
||||
|
// 19、创建 櫈色灯光 模型
|
||||
|
$obj = new objects\Objects(); // 创建 櫈色灯光 的实体
|
||||
|
$obj->ply = './ply/櫈色灯光.ply'; // 指定 櫈色灯光 实体网格数据
|
||||
|
$materials = new materials\Matte(); // 创建一个材质
|
||||
|
$materials->setBaseColor('0 0 0'); // 设置材质的漫反射
|
||||
|
$materials->setTransparencyShadow('1 1 1'); // 设置材质产生阴影的透明度
|
||||
|
$materials->setEmission('1 0.0722717 0'); // 设置材质为一个自发光材质,并指定发光颜色
|
||||
|
$materials->emissionCfg = new lights\Emission( // 设置发光属性
|
||||
|
[ |
||||
|
'gain' => "10 10 10", // 设置发光增益
|
||||
|
] |
||||
|
); |
||||
|
$scene->registerMaterial($materials); // 将的自发光材质注册到 scene 中
|
||||
|
$obj->setMaterial($materials); // 为 櫈色灯光 指定一个自发光材质
|
||||
|
$scene->registerObjects($obj); |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
// 三、创建相机
|
||||
|
$camera = new camera\Perspective( // 创建一个相机
|
||||
|
[ |
||||
|
'autovolumeEnable' => 0, // 关闭自动体积效果
|
||||
|
'lookatOrig' => "-3.197486 -4.560584 0.8914337", // 视点坐标位置
|
||||
|
'lookatTarget' => "-2.632151 -3.747173 0.7544713", // 目标点坐标位置
|
||||
|
'up' => "0.0781663 0.1124666 0.9905763", // 旋转参数
|
||||
|
'screenwindow' => "-1 1 -1 1", // 视野比例
|
||||
|
'autofocusEnable' => 0, // 关闭自动对焦
|
||||
|
'fieldofview' => 3.40608, // 视野角度大小
|
||||
|
'cliphither' => 0.1 // 剪切成像起始位置,单位跟随系统
|
||||
|
] |
||||
|
); |
||||
|
$camera->bokeh->blades = 0; // 模拟镜头模糊效果的光圈数
|
||||
|
$scene->registerCamera($camera); // 将相机注册到 scene 中
|
||||
|
|
||||
|
echo $scene; |
||||
|
$handle = fopen( "/home/yuanjiajia/Desktop/blender/blender_test/scene/scene.scn",'w+'); |
||||
|
fwrite($handle,$scene); |
||||
|
fclose($handle); |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
// 四、设置渲染参数
|
||||
|
$render = ''; |
||||
|
|
||||
|
|
||||
|
$renderEngine = new render\RenderEngine(); // 设置 渲染引擎 的配置参数,默认使用了 PATHOCL,意义着将使用 GPU 设备渲染
|
||||
|
$render .= $renderEngine; |
||||
|
|
||||
|
$openCL = new render\OpenCL(); // 设置 GPU 渲染参数,这里使用一个默认的参数
|
||||
|
$render .= $openCL; |
||||
|
|
||||
|
$path = new render\Path(); // 设置 光线跟踪 参数,这里使用一个默认的参数
|
||||
|
$render .= $path; |
||||
|
|
||||
|
$sampler = new render\Sampler(); // 设置 采样器 配置参数,默认使用 Sobol 类型的自适应采样器
|
||||
|
$sampler->sampling->superSampling = render\Sobol::POW_TWO_SIX; // 设置采样基数的倍数
|
||||
|
$render .= $sampler; |
||||
|
|
||||
|
$lightStrategy = new render\LightStrategy(); // 设置 灯光策略 类型,默认使用 LOG_POWER 类型
|
||||
|
$render .= $lightStrategy; |
||||
|
|
||||
|
$filesaver = new render\FileSaver(); // 设置 文件储存格式 配置参数
|
||||
|
$render .= $filesaver; |
||||
|
|
||||
|
$batch = new render\Batch(); // 设置 渲染终止 参数,
|
||||
|
$batch->halttime = 600; // 设置 渲染 超时参数,
|
||||
|
$render .= $batch; |
||||
|
|
||||
|
$scene = new render\Scene(); // 设置 场景属性 参数
|
||||
|
$render .= $scene; |
||||
|
|
||||
|
|
||||
|
$film = new render\Film(); // 添加一个渲染胶片
|
||||
|
$film->width = 3000; // 设置渲染胶片宽度,单位像素
|
||||
|
$film->heigth = 3000; // 设置渲染胶片宽度,单位像素
|
||||
|
$img = new render\Image(); // 添加一个图像输出
|
||||
|
$img->effect = [new render\effect\Pretreatment(),new render\effect\ToneMapLinear(),new render\effect\CammaCorrection()]; |
||||
|
// 为该图像添加效果管线
|
||||
|
$film->addImage($img); // 将该图像输出添加到渲染胶片
|
||||
|
|
||||
|
$film->addImage(new render\Image(['type' => render\Image::TYPE_OBJECT_ID])); // 为渲染胶片添加一个 通道图类型 的图像输出
|
||||
|
$film->addImage(new render\Image(['type' => render\Image::TYPE_RGBA])); |
||||
|
|
||||
|
$img = new render\Image(); // 添加一个图像输出,使用默认参数
|
||||
|
$img->effect[] = new render\effect\NoiseReducerOIDN(); // 添加降噪效果管线,使用默认参数
|
||||
|
$img->effect[] = new render\effect\Pretreatment(); //
|
||||
|
$img->effect[] = new render\effect\ToneMapLinear(); // 添加一亮度效果管线,使用默认参数
|
||||
|
$img->effect[] = new render\effect\Synthesis(); // 添加一个合成效果管线,使用默认参数
|
||||
|
$img->effect[] = new render\effect\BackgroundImg( // 添加一个背景图像,使用默认参数
|
||||
|
[ |
||||
|
'file' => "./纯白242.png" |
||||
|
] |
||||
|
); |
||||
|
$img->effect[] = new render\effect\CammaCorrection(); // 添加一个 gamma 校正,,使用默认参数
|
||||
|
$film->addImage($img); // 将该图像输出添加到渲染胶片
|
||||
|
$render .= $film; |
||||
|
|
||||
|
|
||||
|
echo $render ; |
||||
|
$handle = fopen( "/home/yuanjiajia/Desktop/blender/blender_test/scene/render.cfg",'w+'); |
||||
|
fwrite($handle,$render); |
||||
|
fclose($handle); |
||||
|
|
||||
|
?>
|
@ -1,58 +0,0 @@ |
|||||
<?php |
|
||||
|
|
||||
namespace Blobt\Luxcore\scene; |
|
||||
use Blobt\Luxcore\utils\StringHelper; |
|
||||
|
|
||||
class Gltf |
|
||||
{ |
|
||||
|
|
||||
/** |
|
||||
* @var object 用这个对象,标识这是一个gltf文件 |
|
||||
*/ |
|
||||
private $asset; |
|
||||
|
|
||||
/** |
|
||||
* @var integer 用一个整数标识加载一个默认的场景 |
|
||||
*/ |
|
||||
private $scene = 0; |
|
||||
|
|
||||
/** |
|
||||
* @var array 1、场景数组,解析一个gltf文件将从这里开始; |
|
||||
* 2、每一个元素值是一个对象类型,每一个对象描述了对 nodes数组 的索引,同时也是每一个场景的根节点; |
|
||||
*/ |
|
||||
private $scenes = []; |
|
||||
|
|
||||
/** |
|
||||
* @var array 1、节点数组,每一个元素值是一个对象类型,每一个对象描述一个 mesh(模型)、camera()或skin(蒙皮) |
|
||||
* 数组的索引; |
|
||||
*/ |
|
||||
private $nodes = []; |
|
||||
|
|
||||
/** |
|
||||
* @var array 1、模型数组,每一个元素值是一个对象类型,每一个对象是对一个模型的描述; |
|
||||
*/ |
|
||||
private $meshes = []; |
|
||||
|
|
||||
/** |
|
||||
* @var array 1、材质数组,每一个元素值是一个对象类型,每一个对象是对一个材质的描述; |
|
||||
*/ |
|
||||
private $material = []; |
|
||||
|
|
||||
/** |
|
||||
* @var array 1、纹理数组,每一个元素值是一个对象类型,每一个对象是对一个纹理的描述; |
|
||||
*/ |
|
||||
private $textures = []; |
|
||||
|
|
||||
/** |
|
||||
* @var array 1、图像数组,每一个元素值是一个对象类型,每一个对象是对一个图像的描述; |
|
||||
*/ |
|
||||
private $images = []; |
|
||||
|
|
||||
/** |
|
||||
* @var array 1、图像采样数组,每一个元素值是一个对象类型,每一个对象是对一个图像的描述; |
|
||||
*/ |
|
||||
private $samplers = []; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
?>
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue