Gelato Zone
NVIDIA.com Gelato Zone Home
Use Gelato
 
Gelato Beta Program
Tutorials
Download the free version

Gelato Tips & Tricks

System, Configuration, & Installation Using Gelato

Gelato Check
Utility to verify Gelato is installed correctly

Mango Fails to Load After Installation
Intermittent error that you may encounter

Gelato & Other Rendering Packages
Installing Gelato on machines that have other renderers

Baking Textures In Gelato 2.0
Create light and shadow texture maps

Sorbetto Raytracing Reflections & Refractions
Speed up Sorbetto when you don't need to update raytracing

Alternative Bucket Orders
Vertical and spiral rendering are options with Gelato

Strobing With Motion Blur
How to correct strobing errors

Compiling All .gsl Files In a Directory
Utility organizing your compiled Gelato shaders



Gelato Check

A quick way to verify that Gelato is functioning correctly is through use of the –check feature. This won't provide a detailed debugging of your system, but will tell you if the primary files are properly installed, if you have a proper license, and if you have a working and compatible GPU and driver. And it will execute a quick render to make sure Gelato is operational.

From the command line, run:

gelato –check –verbosity 2

On Windows, you can also run Gelato Check from the Start Menu:

Start/All Programs/NVIDIA Corporation/Gelato/Check Gelato

Gelato Check will output something like this (the output contents will vary from system to system):


Mango Fails to Load After Installation

Gelato and Mango install without problem most of the time. But occasionally, for an unknown reason, Mango does not install properly on Windows. If you have just installed a new version of Gelato and if Maya does not properly load the Mango plug-in or include the icons on the Gelato shelf, there is an easy fix to get Mango running.

The first thing to do is open the Maya plug-in manager and ensure that Mango is loaded. In Maya, go to the \Window\Settings/Preferences\Plug-In Manager menu. Make sure the Mango.mil plug-in is loaded. If the box is unchecked, check it. You probably should check the Auto Load box as well.

If this does not resolve the problem, reboot your system. Mango should now load normally whenever you start Maya.

This transient bug relates to how the installer interacts with the Windows OS and resists all efforts to track it down.. We could resolve it by forcing a reboot on every Gelato installation, but that would punish the majority of people who will never see this bug.


Gelato and Other Rendering Packages

If you install Gelato and other renderers on the same machine, you should install Gelato first, otherwise Mango may not load properly. If you have already installed another renderer and install Gelato, you may need to edit the environment variables so that Mango can find the default paths. Edit the MAYA_SCRIPT_PATH and the MAYA_PLUG_IN_PATH environment variables so that the Gelato and Mango paths appear before the paths of the other renderer. Gelato can happily coexist on the same machine with other renderers, but in some cases the Gelato path must precede the path of the other renderer.


Using Gelato

Baking Textures in Gelato 2.0

You can bake lighting and shadows into texture maps using Gelato 2.0. We'll be making this easier in Gelato 2.1, including adding the option to the Mango menus within Maya, but in the meantime, you can use the following procedure to produce texture maps.

  1. Save whatever you're trying to bake into an spatial database (SDB) in one of the two following ways:
    • Modify your shader of choice by adding the proper call to spatialdbsave(). See bake.gsl for an example of how to do this.
    • Use bake.gsl directly by just using ConnectShaders to attach the desired output of your shader to the 'data' input of the baking shader.
  2. As you can see from bake.gsl, the spatialdbsave() function can itself specify that the SDB should be written at the end of rendering, as well as options for what data format to use.
  3. Make sure the SDB file name is given an extension that indicates an image file corresponding to an imageio plugin (such as .exr, .tif, etc.).
  4. Render. Before Gelato terminates, it will write out the baked data as image files (interpolating the sparse data sent to spatialdbsave()).
  5. Different objects can save to different SDBs (and therefore to different baked textures) or all to one SDB (but it's up to you to make sure they are in non-overlapping areas of texture space).
  6. It's worth looking carefully at Attribute('int cull:occlusion', 0), Attribute('int dice:rasterorient', 0), and possibly Attribute('int[2] dice:fixed') for the objects that are undergoing baking, to make sure they aren't culled or under-sampled (it only generates baked data where, and with whatever frequency, it is shaded).

Sorbetto Raytracing Reflections & Refractions

If your scene contains raytraced reflections or refractions or shadow maps, these will ordinarily be updated with every Sorbetto re-render. This default behavior will give you the most accurate image with every re-render, but if you are making adjustments that do not depend on having accurate reflections and refractions, or shadows you can turn this behavior off and greatly speed up the re-renders.

The Gelato shelf in Mango contains two buttons that control this behavior. By toggling the Reshade Rays and Shadow Map Updates buttons to off, you will greatly speed up the rendering. Once you get the lights the way you want them, you can toggle them back on and create a final render. This should save you considerable time in rendering.


Alternative bucket orders

Have you been rendering a big crowd scene in 2.35:1 aspect ratio only to find that your renderer comes to a screeching halt when it gets to the scanlines that intersect all 10,000 of your characters?

Perhaps you have tricks where you turn the image on its side by modifying the input files to alter the camera matrix, render, then rotate the image when you're done?

That's unnecessary in Gelato. Just put this in your file:

Attribute ('string bucketorder', 'vertical')

Or if you're using Maya/Mango, you can set this parameter by going to Render Settings/Gelato/Memory and Performance Options/Bucket Order and changing the default "horizontal" to "vertical."

You can also set the parameter to "spiral" to make the render start at the center of the frame and work its way outward.


Strobing with Motion Blur

If you're seeing strobing effects with motion blur in your Gelato images, you probably have the temporal sampling set too low. Sampling with Gelato is very inexpensive relative to other renderers and you can usually crank up the number of samples without experiencing a significant performance hit.

Two motion-blurred Gelato images; the first with temporalquality set to 8; the second with it set to 64.

Fast-moving objects will appear to strobe , or break up into several "stamped out" images, if the number of time samples is not high enough for the amount of motion blur. When this happens, you should increase the 'temporalquality' .

In Maya/Mango you can do this by going to Render Settings/Gelato/Motion Blur.


Compiling All .gsl Files in a Directory

Below is a Makefile (for GNU 'make') that will compile all the gsl files in a directory into gso's. It will only compile the ones that have changed since the last time they were compiled. I've also attached a copy. Please use the attached makefile (right click and select "Save Target as.."), don't cut and paste from the text below, because tabs and white space are significant in Makefiles, but are hard to reproduce exactly on a web page.

.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}