Blender渲染
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

134 lines
4.1 KiB

<?php
namespace Blobt\Luxcore\scene;
use Blobt\Luxcore\scene\materials;
use Blobt\Luxcore\scene\materials\Emission;
use Blobt\Luxcore\scene\objects;
use Blobt\Luxcore\scene\render;
use Blobt\Luxcore\scene\texture;
include dirname(dirname(__FILE__)) . "/vendor/autoload.php";
echo '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>渲染配置参数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>';
echo "\n\n\n\n";
//设置打印 渲染引擎 的配置参数
$renderEngine = new render\RenderEngine();
echo $renderEngine;
//设置打印GPU渲染设备的配置参数
$openCL = new render\OpenCL();
echo $openCL;
//设置打印光线跟踪的配置参数
$path = new render\Path( new render\PathDepth( ['total'=>24,'glossy'=>12] ) );
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( new render\NoiseEstimation(),new render\Filter() );//添加一个胶片,
$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']));
$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;
echo "\n\n\n\n";
echo '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>场景配置参数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>';
echo "\n\n\n\n";
$scene = new Scene();//创建一个场景,
//添加第一个模型
$obj = new objects\Objects( [ 'ply' => 'mesh-10086.ply','appliedtransformation' => '1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1' ] ); //创建一个的模型
$baseColor = new texture\map\Clouds( new texture\mapping\Mapping() );
$bump = new texture\map\ImageMap( new texture\mapping\Mapping() );
$ior = new texture\map\ImageMap( new texture\mapping\Mapping() );
$baseColor = $scene->addTexture($baseColor);
$bump = $scene->addTexture($bump);
$ior = $scene->addTexture($ior);
$disney = new materials\Disney(); //创建一个 Disney 材质
$disney->setBaseColor($baseColor);
$disney->setBumptex($bump);
$disney->setFilmior($ior);
$disney = $scene->addMaterial($disney); //将材质存入材质数组,并获得其键名
$metal = new materials\Metal(); //创建一个 Metal 材质
$metal->setRefraction($baseColor);
$metal->setBumptex($bump);
$metal = $scene->addMaterial($metal); //将材质存入材质数组,并获得其键名
$mix = new materials\Mix(); //创建 Mix 材质,
$mix->setMaterial1($disney); //为材质通道1 指定一个键名
$mix->setMaterial2($metal); //为材质通道2 指定一个键名
$mix->setAmount($baseColor); //指定混合系数为 0.6
$mix = $scene->addMaterial($mix); //将材质存入材质数组,并获得其键名
$obj->setMaterial($mix) ; //为模型的材属性 指定一个键名
$scene->addObjects($obj); //将模型添加到场景中
/*
//添加第二个模型
$obj = new objects\Objects( [ 'ply' => 'mesh-119.ply','appliedtransformation' => '1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1' ] ); //创建一个的模型,
$obj->material = new materials\Metal( ['fresnel' => "2517393611944Fresnel"] ); //为模型创建一个 金属 类型的材质
$scene->addObject($obj); //将模型添加到场景中
*/
echo $scene;
?>