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菜单。但同时,您可以通过以下步骤来制作纹理图。
- 按照以下两种方式中的一种,将您尝试烘培的任何内容保存到到空间数据库 (SDB):
- 通过添加到spatialdbsave()的正确调用,修改选择的着色器。请参阅bake.gsl了解如何做这项工作的实例。
- 通过只使用ConnectShaders将希望的着色器输出连接到烘培着色器的“数据”输入,来直接使用bake.gsl。
- 您可以在bake.gsl中看到,spatialdbsave()函数可以自己指定SDB应写在渲染的结尾,以及要使用数据格式的选项。
- 确保给SDB文件名一个指示与imageio插件对应的图像文件的扩展名(如.exr、.tif 等)。
- 在Gelato终结之前渲染,它会将烘培的数据写出为图像文件(插入发送到 spatialdbsave()的稀疏数据)。
- 不同的对象可以保存到不同的SDB(并且因此保存到不同的烘培纹理)或将所有对象保存为一个 SDB(但这由您决定,以确保它们处在纹理空间的非重叠区域)。
- 值得仔细观看正在烘培对象的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}
|