SLI Zone

NVIDIA.com Gelato Zone Home
 
Download the free version

Gelato小窍门

系统、配置与安装 使用Gelato

Gelato检查
用来检查Gelato是否安装正确的实用程序

安装后,Mango无法加载
您可能遇到间歇性错误

Gelato及其它渲染包
在备有其它渲染器的机器上安装Gelato

Gelato 2.0中的烘培纹理
制作灯光和阴影纹理图

Sorbetto光线跟踪反射与折射
在不需要更新光线跟踪时,加速Sorbetto

备选方块顺序
垂直和螺旋式渲染是Gelato的选项

动态模糊的频闪
如何校正频闪错误

在一个目录中编辑所有.gsl文件
用来组织已编辑Gelato着色器的实用程序。



Gelato检查

使用检查功能可以快速检查Gelato是否工作正常。它不会提供详细的系统调试,但会告诉您主要文件是否已经安装,是否有正确的许可证,以及GPU和驱动程序是否运作和兼容。而且它会执行一个快速渲染来确保Gelato运作正常。

从命令行中运行:

gelato –check –verbosity 2

在Windows中,您也可以从“开始”菜单中运行Gelato檢查:

开始/所有程序/NVIDIA Corporation/Gelato/檢查Gelato

Gelato檢查将输出类似这样的一些内容(输出内容视系统而异):


安装后,Mango无法加载

大多数情况下,Gelato和Mango安装不会有问题。但偶尔,由于未知的原因,Mango在Windows上安装不正常。如果您刚安装了新版本的Gelato,卻發現Maya没有正确加载Mango插件或图标在Gelato架子上, 有一个简单的办法可将Mango修复好。

首先要打开Maya插件管理器,确保Mango已经加载。在Maya中,转到 \Window\Settings\Preferences\Plug-In Manager菜单。确保Mango.mil插件已经加载。如果没有选中该框,请选中它。您可能还应选中自动加载框。

如果这没有解决问题,请重新引导系统。只要您启动Maya,Mango应该就可以正常加载。

这一暂时的bug与安装器如何作用于Windows OS有关, 目前尚未找出问题所在 。我们可以透过在每次Gelato安装时强制重新引导来解决此问题,但这会殃及到永远不会看到此bug的绝大多数用户。


Gelato 及其它渲染包

如果您在同一台机器安装Gelato和其它渲染器,则应先安装Gelato,否则Mango可能会加载不正常。如果您已经安装了其它渲染器,然后再安装Gelato,则需要编辑环境变量,以便Mango可以找到默认路径。编辑MAYA_SCRIPT_PATH和MAYA_PLUG_IN_PATH 环境变量,以使 Gelato和Mango路径出现在其它渲染器路径之前。Gelato可以在同一台机器与其它渲染器共存,但有时Gelato路径必须在其它渲染器路径之前。


使用 Gelato

Gelato 2.0中的烘培纹理

您可以使用Gelato 2.0将灯光和阴影烘培到纹理图。在Gelato 2.1中,我们将要使此操作更容易,其中包括将此选项添加到Maya中的Mango菜单。但同时,您可以通过以下步骤来制作纹理图。

  1. 按照以下两种方式中的一种,将您尝试烘培的任何内容保存到到空间数据库 (SDB):
    • 通过添加到spatialdbsave()的正确调用,修改选择的着色器。请参阅bake.gsl了解如何做这项工作的实例。
    • 通过只使用ConnectShaders将希望的着色器输出连接到烘培着色器的“数据”输入,来直接使用bake.gsl。
  2. 您可以在bake.gsl中看到,spatialdbsave()函数可以自己指定SDB应写在渲染的结尾,以及要使用数据格式的选项。
  3. 确保给SDB文件名一个指示与imageio插件对应的图像文件的扩展名(如.exr、.tif 等)。
  4. 在Gelato终结之前渲染,它会将烘培的数据写出为图像文件(插入发送到 spatialdbsave()的稀疏数据)。
  5. 不同的对象可以保存到不同的SDB(并且因此保存到不同的烘培纹理)或将所有对象保存为一个 SDB(但这由您决定,以确保它们处在纹理空间的非重叠区域)。
  6. 值得仔细观看正在烘培对象的Attribute('int cull:occlusion', 0)、Attribute('int dice:rasterorient', 0) 和 Attribute('int[2] dice:fixed'),确保它们未被剔出或被广泛间隔采样(它只会在它阴影的地方,以任何频率产生烘培数据)。

Sorbetto光线跟踪反射与折射

如果您的场景包含光线跟踪反射或折射,或者阴影图, 它们会因为每个Sorbetto重新渲染而更新 。这一默认行为将会为每个渲染器提供最准确的图像,但如果您进行的调整不依赖是否有准确的反射和折射,或者阴影,则您可以将此行为关闭,并极大加速渲染器。

Mango中的Gelato架子包含两个控制此行为的按钮。关闭重做光线阴影和阴影图更新按钮,您可以极大地加速渲染。一旦按照您想要的方式得到了灯光,您就可以重新将它打开,并制作最后的渲染。这会在渲染中为您节省大量的时间。


备选方块顺序

您曾经按照2.35:1比例渲染了一个大场景,却发现当您的渲染器到达交叉所有10,000个字符的扫描线时,它突然停止了吗?

也许当您透过修改输入文件以变更相机矩阵、渲染,然后在完成时旋转图像时,需要一些小訣竅?

在Gelato中,这是不必要的。只需要将它放入文件即可:

Attribute ('string bucketorder', 'vertical')

或者,如果您使用的是Maya/Mango,您可以到Render Settings/Gelato/Memory和Performance Options/Bucket Order,将默认的 "水平"更改为 "垂直",以设置此参数。

您也可以将此参数设置为 "spiral",使渲染在帧中心开始,并向外展开。


动态模糊的频闪

如果您在Gelato图像中看到动态模糊的频闪效果,则可能是将暂时采样设置的太低。与其它渲染器相比,Gelato采样的成本非常低,而且通常您可以在不会太大影响性能的情况下提高样品数。

两个动态模糊的Gelato图像,第一个暂时品质设置为8,第二个设置为64。

如果时间样品数对于动态模糊数量来说不足够高,快速移动的对象将出现频闪,或分隔为几个“破碎的”图像。如果出现这种情况,您应增加“暂时品质”。

在Maya/Mango中,您可以到Render Settings/Gelato/Motion Blur来执行这项操作。


在一个目录中编辑所有.gsl文件

下面是一个Makefile(用于GNU 'make'),它会将一个目录中的所有gsl文件编辑到gso。它只会编辑那些上次被编辑后发生更改的文件。我也附了一份。请使用所附的makefile(右击并选择“将目标另存为..”),不要在下面文本中剪切和粘贴,因为在Makefile中标签和空白非常重要,但在网页上很难精确重现。

.SUFFIXES : .gsl .gso

# INCLUDES holds all the -I commands that specify include directories
# for shader header files. The example below only includes from
# $GELATOHOME/shaders. Amend as necessary for your site defaults.
INCLUDES := -I$(GELATOHOME)/shaders

%.gso: %.gsl
gslc $(INCLUDES) $< -o $@


shader_srcs := ${wildcard *.gsl}
shader_objs := ${patsubst %.gsl,%.gso, ${shader_srcs}}


.PHONY: all clean
all: ${shader_objs}

clean:
rm -f ${shader_objs}