【学习填坑之路】VRay渲染之SDK简介

VRay渲染之SDK简介

1、VRay-SDK渲染的介绍

1、渲染的定义:将包括虚拟现实的所有元素的场景转换为图像的过程叫渲染。(VRay是基于物理的渲染器)

2、渲染的算法:包括光线跟踪模拟光的踪迹,而另一种主要方法是通过DirectX / OpenGL进行光栅化;前者更真实,后者更快。

3、光线跟踪的基础:

  • 相机:发出投射光线。
  • 交互点:即离物体最近的点。
  • 着色和阴影:找到交互点就可以确定投射多少的光线,通过Beer-Lambert’s law定理即光强度的衰减与介质中行进距离的指数成比例,而且会在介质中散射。
  • 光线追踪:经典的光线追踪算法适用于对象的表面,根据表面来进行反射。(BRDF双向反射-包括蒙特卡罗方法)
  • 灯光和阴影:灯的类型:点光源(omni灯),定向光源(平行灯),锥形灯(聚光灯),矩形灯等。

2、vray渲染的流程:

1,导入必要的包或素材.

2,项目的函数.

3,在主函数中实例化一个VrayRenderer类.

3,创建V-Ray渲染插件的新实例,将您的原生场景json文件或max文件描述转换为V-Ray文件并读取设置其参数通过指定.vrscene文件的路径来加载场景(用于序列化场景的V-Ray本机格式)或者自己创建一个场景(包括摄像机,光线等内容),同时选择渲染模式RenderMode(生产,生产GPU-更高的质量;交互式,交互式GPU-快速。前者使用CPU后者使用GPU,还有桶式渲染和渐进式渲染)

4,调用对应渲染方法开始渲染(Start()或异步开始),VRayRenderer类可以在任何时间点访问渲染图像的当前状态。无论渲染过程是否已完成,都可以提取图像以跟踪渲染的进度.

5,保存成图像或导出成vrscene文件到本地

6,通过关闭VRayRenderer来清理内存资源或设置渲染时间来结束,建议参数不要为空避免占用大量内存。

ex1.1:
import vray

with vray.VRayRenderer() as renderer:
    renderer.load('./example.vrscene')
    renderer.start()
    renderer.waitForRenderEnd(6000)
    image = renderer.getImage()
    image.save('example.png')

你可能感兴趣的:(VRay_SDK)