100% found this document useful (2 votes)
1K views232 pages

Indigo Manual

Indigo Renderer delivers photorealistic results through strict adherence to the physics of light. This has some consequences for how the scenes it renders should be modelled, which will be outlined in this section. Furthermore, the progressive nature of its rendering process means that an image never “finishes rendering” - the image quality improves until you are satisfied with the result and end the rendering process. Relationship to photography Rendering with Indigo Renderer is conceptually more similar to photography than it is to using conventional computer graphics applications. Exporters for Indigo convert the virtual worlds you create in your 3d program into the real world representation used by Indigo. Units of measurement Indigo works in units of metres, and your Indigo exporter will export your scene based on the set scene scale – you can work in either metric or imperial. The use of physical units is crucial in Indigo; for example, window panes should have thickness so that they can properly absorb light as it travels through the glass. If the thickness were specified as 1.2km instead of 1.2cm the glass would appear black, as all the light has been absorbed in travelling through it. Realistic materials

Uploaded by

jasopanev
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
1K views232 pages

Indigo Manual

Indigo Renderer delivers photorealistic results through strict adherence to the physics of light. This has some consequences for how the scenes it renders should be modelled, which will be outlined in this section. Furthermore, the progressive nature of its rendering process means that an image never “finishes rendering” - the image quality improves until you are satisfied with the result and end the rendering process. Relationship to photography Rendering with Indigo Renderer is conceptually more similar to photography than it is to using conventional computer graphics applications. Exporters for Indigo convert the virtual worlds you create in your 3d program into the real world representation used by Indigo. Units of measurement Indigo works in units of metres, and your Indigo exporter will export your scene based on the set scene scale – you can work in either metric or imperial. The use of physical units is crucial in Indigo; for example, window panes should have thickness so that they can properly absorb light as it travels through the glass. If the thickness were specified as 1.2km instead of 1.2cm the glass would appear black, as all the light has been absorbed in travelling through it. Realistic materials

Uploaded by

jasopanev
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 232

Indigo Renderer Manual

Indigo Renderer Manual

Indigo Manual
Welcome to the Indigo Renderer Manual.

About this Manual


This manual is for Indigo Renderer and Indigo RT, versions 3.2.11 or newer.
This manual can be found both online, at http://www.indigorenderer.com/documentation/manual, and in the Indigo
Renderer and Indigo RT distributions in PDF format.
If you have Indigo installed on your Windows PC, you can access the Indigo Manual PDF by clicking
Start -> All Programs -> Indigo Renderer -> Indigo Manual
If you have Indigo installed on your OS X computer, you can access the Indigo Manual PDF in the 'Indigo Renderer'
folder in your Applications folder.
If you have any comments, corrections or questions about this manual, please contact us at
[email protected]

Indigo Renderer Manual


INDIGO MANUAL

Overview
This manual covers the Indigo user interface, scene attributes and functions.
It also covers all supported exporters and their integrated functions.

Getting Started
This section covers installing Indigo and activating your licence.

Indigo Interface
This section covers elements of the standalone Indigo user interface.

Rendering with Indigo


This section covers various aspects of rendering with Indigo, such as the render modes, environment settings
and material types.

Indigo for SketchUp


This section covers integration with Google SketchUp.

Indigo for Blender


This section covers integration with Blender.

Indigo for 3ds Max


This section covers integration with Autodesk 3ds Max.

Indigo for Cinema 4D


This section covers integration with Maxon Cinema 4D.

Indigo for Revit


This section covers integration with Autodesk Revit.

Indigo for Maya


This section covers integration with Autodesk Maya.

Techniques
This section covers specific techniques and tips for rendering with Indigo.

Glossary
A glossary of terms.
An in-depth Technical Reference Manual is also available (included with the Indigo distribution), aimed mainly at
exporter developers.

Indigo Renderer Manual


INDIGO MANUAL > OVERVIEW

Principles of physically-based rendering

Image by Lemo

Indigo Renderer delivers photorealistic results through strict adherence to the physics of light. This has some
consequences for how the scenes it renders should be modelled, which will be outlined in this section.
Furthermore, the progressive nature of its rendering process means that an image never finishes rendering - the
image quality improves until you are satisfied with the result and end the rendering process.

Relationship to photography
Rendering with Indigo Renderer is conceptually more similar to photography than it is to using conventional computer
graphics applications.
Exporters for Indigo convert the virtual worlds you create in your 3d program into the real world representation used
by Indigo.

Units of measurement
Indigo works in units of metres, and your Indigo exporter will export your scene based on the set scene scale you
can work in either metric or imperial.
The use of physical units is crucial in Indigo; for example, window panes should have thickness so that they can
properly absorb light as it travels through the glass. If the thickness were specified as 1.2km instead of 1.2cm the
glass would appear black, as all the light has been absorbed in travelling through it.

Realistic materials

Indigo Renderer Manual

Image by Camox

Because Indigo is a physically-based renderer, the material properties of objects must be specified in physical
terms. Your Indigo exporter will provide the necessary tools and options to allow you to do this in your 3d program.
Indigo also comes with the Indigo Material Editor for direct control of materials.

Progressive rendering
Exactly as happens in the real world, Indigo simulates photons emitted from light sources which interact with the
scene before entering the camera; the longer a render is left running, the more photons contribute to the final image.
Shorter renders will have a grainy appearance, much like using a high ISO setting and fast shutter time in a real
camera. This grain decreases with time: The amount of noise is initially quite high, but very sharply decreases.
Eventually a plateau is reached where the image quality is not noticeably improved with further rendering, and
rendering can be stopped.

30 seconds

3 minutes

In general, most people will just leave their scene rendering until it looks clear enough for their purposes. As time
goes on, the image will become clearer and clearer.

Indigo Renderer Manual

Image quality, samples per pixel


Indigo measures its render progress as the number of samples that have been calculated. You can imagine these as
being the number of light particles that have bounced around the scene and hit the sensor in your camera.
Depending on the complexity of your scene, it may take up to 1000 samples per pixel before the image starts to
become clear enough for your purpose. Many scenes will start to resolve at around 100 samples per pixel, and some
scenes look good after 10 samples per pixel.

Indigo Renderer Manual


INDIGO MANUAL

Getting Started
To render with Indigo you'll need to install the actual Indigo application, and an exporter for your preferred 3D
modelling application.
Since Indigo 3.2, the Indigo installer comes bundled with installers for the latest SketchUp, Blender and Cinema 4D
exporters. On running the Indigo installer, it will attempt to auto-detect which of these packages you have installed and
launch the installers for the corresponding exporter modules.
The latest stable release of Indigo and the exporter modules can be downloaded from
http://www.indigorenderer.com/download.
We also regularly provide beta versions, generally with good stability, on our News and Announcements forum. These
are recommended if you experience any problems in an older release.

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED

Exporters
It is strongly recommended that you install the main Indigo application before installing any exporters, so that they can
find the existing Indigo installation and link to it automatically. (This is normally done for you by the Indigo installer
since version 3.2.)
It's possible to have a mis-match between the installed Indigo version and the exporter version; this can result in
Indigo displaying an error message about unknown data in the scene file. In this case updating to the latest versions
of both will generally resolve the issue.
For more information about the various Indigo exporters, please consult the corresponding manual or our Exporters
forum.

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED

Installing Indigo
To download Indigo, go to http://www.indigorenderer.com/download/ and select the appropriate version of Indigo for
your platform (Windows, Macintosh or Linux). You should download the latest available version of Indigo, which will be
listed at the top of the page.
Indigo is available for each platform in 32-bit and 64-bit versions. If you have a 32-bit CPU or 32-bit operating system
you can only use the 32-bit version of Indigo. If you have a 64-bit CPU and operating system (e.g. Windows XP 64 bit,
Windows Vista/7 or OS X Leopard) then you can use the 64-bit version of Indigo.
The 64-bit version of Indigo has the following benefits:
Ability to access more than 2GB of memory
Higher performance
There is no additional cost for the 64-bit version over the 32-bit version, i.e. an Indigo licence is valid for either.

10

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED > INSTALLING INDIGO

System Requirements
Indigo will run on most modern computers (generally Pentium 4 or newer).
Please see the final section for GPU acceleration requirements and suggestions.

Minimum system specifications:


Windows:
CPU with SSE2 Intel Pentium 4 or better, AMD Opteron and Athlon 64 or better.
1GB of RAM
100MB of hard drive space
Windows XP or newer

Mac:
Intel Macintosh PowerPC based macs (G4/G5) are not supported
1GB of RAM
100MB of hard drive space
OS X 10.5 Leopard or newer

Linux:
CPU with SSE2 Intel Pentium 4 or better, AMD Opteron and Athlon 64 or better
1GB of RAM
100MB of hard drive space

Recommended system specifications:


64bit CPU and operating system (OS)
4GB+ of RAM

GPU acceleration
Required:
Either an NVIDIA GPU supporting CUDA 1.1 (GeForce 9800 GT or newer), or an AMD GPU supporting
OpenCL 1.0 (Radeon 4xxx or newer)
256MB or 512MB of onboard GPU memory, depending on OS (more info)
2GB of system memory

Recommended:
Either NVIDIA GeForce GTX 4xx / Quadro 4000 / Tesla C2050 or newer, or AMD Radeon 5xxx / FirePro 3D
V3800 / FireStream 9350 or newer
Quad-core Intel or AMD CPU

11

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED > INSTALLING INDIGO > SYSTEM REQUIREMENTS

GPU memory requirements


We recommend 512MB instead of 256MB as the minimum on Mac OS and Windows Vista/7 using the Aero
desktop, since it uses more GPU memory for desktop window management.
If you are using an older GPU with relatively modest specifications, we encourage you to try the trial version before
purchasing.

12

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED > INSTALLING INDIGO

Indigo for Windows


Download the newest version of Indigo for Windows, then double click the installer file.
1.

Agree to the licence


You will be presented with the Indigo End User Licence Agreement. You should read through it and click "I
Agree" if you agree with the terms.

2.

Choose components
We recommend you leave the check-boxes selected but you are able to disable each component if you have
particular requirements on your system. Press Next to continue.

3.

Choose an installation location


We recommend you use the default installation location, as most Indigo exporters will expect to find Indigo here
however you are able to change this path if you need to. Indigo will write a registry key that exporters will use
to find Indigo automatically if Indigo is installed in a non-standard location. Press "Install" to complete the
installation.

After installation
Once the installation has completed, you can find Indigo from the start menu under the "Indigo Renderer" or "Indigo
RT" sub-menu, along with links to this manual and other program shortcuts for convenience.

13

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED > INSTALLING INDIGO

Indigo for Macintosh


1. Download the newest version of Indigo for Macintosh then double click the disk image mount it.
2. A dialog will pop up, prompting you to drag the Indigo icon to your Applications directory:

3. Drag the Indigo icon to the Applications directory.


4. Indigo is now ready to be used on your Mac.

14

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED > INSTALLING INDIGO

Indigo for Linux


1. Download the latest indigo .tar.gz file from http://www.indigorenderer.com/download
2. Create a folder in your home directory and unzip the .tar.gz into that directory. Indigo is statically linked as far as
possible and should be ready to be used. Run ./indigoconsole -h to see if Indigo installed correctly.
You are now ready to run Indigo.

15

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED > INSTALLING INDIGO

Indigo Licensing
You are welcome to learn Indigo and use it for non-commercial renders without paying for a licence. The following
restrictions are present in the free version of Indigo:
Maximum resolution of 0.7 Megapixels e.g. 1000 pixels by 700 pixels.
An Indigo logo is placed in the bottom right of the image.
May not be used for commercial work.
No customer support beyond that given in the Forum.
If you need to create renders at higher resolutions or produce renders as part of your business, then you need to buy
a commercial licence for Indigo. You can buy licences online at:
http://store.glaretechnologies.com/
Once you have purchased a licence, you can instantly enable the full features of Indigo. Your licence will be locked to
the hardware of your computer, and you must contact [email protected] if you need to move the licence to
another computer.
The licence for your computer is based on the CPU model of your processor and MAC address of your network card.
You should avoid changing your network card regularly when using Indigo for example avoid enabling and disabling
your network card, as this may confuse the licensing software that Indigo uses.
If you wish to purchase multiple licences, you can use the network floating licence feature, managed by the Network
Manager. To purchase these licences please contact us at [email protected]
There are two different kinds of Indigo licences:

GUI Licence for use on your desktop computer


Node Licence for use on networked render slaves
Having a GUI Licence does not mean that you can use unlicensed render slaves to generate a high resolution image,
you will need a node licence for each computer that will be used to help you render your image.
If you have any problem with your Indigo licence, you can always contact us at [email protected] and we'll
get you up and running as soon as possible!

16

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED > INSTALLING INDIGO

Indigo Licence Activation


Once you have purchased an Indigo Licence from the Glare Technologies Store you need to go through a few steps
to activate it with Indigo.
1. Open Indigo and click on the Licensing button.

2. Press Copy to Clipboard to copy the hardware key. Do not copy the text manually.

3. Upon purchase of a licence, you will receive an email with a link to the store page with your details on it. Keep
this link somewhere secure, and check that your details are correct.
4. Scroll down to the bottom section. Paste in your hardware key into the appropriate box, depending on the type
of licence you own, and press "Generate Licence Key".

17

Indigo Renderer Manual

5. A bunch of characters will be returned in a text box, copy it all.

6. Paste it back into the Indigo Licence dialog box at the bottom, and press "Verify licence key".

18

Indigo Renderer Manual

Success!
7. The Indigo background will also tell you if it is verified.

19

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED > INSTALLING INDIGO > INDIGO LICENCE ACTIVATION

Floating Licence Activation


Getting the server Hardware ID
First, decide which computer you will use as a licence server.
Install Indigo Renderer (which can be downloaded from http://www.indigorenderer.com/download) on your server.
Run the "Indigo Network Manager" on the server.
(For example, on Windows, this can be accessed Start -> All Programs -> Indigo Renderer -> Indigo Network
Manager)
Press the Licensing button, then "Copy to Clipboard" to copy the hardware ID for the server.
Email the hardware ID to [email protected]
If you have purchased floating licences, we will reply with the licence file based on the hardware ID and the number of
licences purchased.

Using the Licence Key


Once you have received your licence key by email, open up the Licensing dialog in the Indigo Network Manager
again. Then paste the licence key into the text field labelled "Enter your licence key".
Finally, press "Verify licence key" and of the licence key is valid, the "licence status" field will display a message
similar to the following:
Licensed to 'Nick Chapman'
Email: '[email protected]'
5 x Network Floating Full

If the licence key is not valid, an error message will be displayed instead in the licence status field; please contact
[email protected] for assistance.

Using the Floating Licences


To use floating licences, you need to set up the network manager and slave machines as described in the Network
Manager section.

20

Indigo Renderer Manual


INDIGO MANUAL > GETTING STARTED > INSTALLING INDIGO > INDIGO LICENCE ACTIVATION

Upgrading from Indigo 2 to Indigo 3


To upgrade your Indigo 2.0 licence to an Indigo 3.0 licence, follow these steps:
When you purchased an Indigo 2 licence, you will have received an email from [email protected], which
contains a link to your private licence page on store.glaretechnologies.com.
If you can't find the email, please contact [email protected] for assistance.
Please follow this link to go to your licence page.
Then click on the "Buy Now" button in the "Upgrade to 3.0" section.

Upon clicking the "Buy Now" button, you will be taken to an order summary page for your upgrade order, which will
summarise the cost and allow you to select the payment method to complete the order.

21

Indigo Renderer Manual


INDIGO MANUAL

Indigo Interface
A first look at Indigo
We'll begin with a "fully loaded" view of the main Indigo interface, showing almost all the available views while
rendering a scene:

If you find this is displaying too much information at once, many of the views can be closed independently (and reopened via the Window menu). Also note that this screenshot was taken on the Windows platform; other platforms
may look slightly different.
We'll cover the numbered regions sequentially:
1.

Scene view
Displays a list of the scene elements such as models, materials and renderer objects such as the camera, tone
mapping and background settings.

2.

Image view
This is where the rendering or rendered image is displayed. You can zoom and pan the image using the
scrollwheel and by dragging the mouse, respectively.

3.

OpenGL preview
Displays a simplified view of the scene using OpenGL, which generally provides much quicker visual feedback
for real-time changes than the normal rendered view.

4.

Property editor
When a scene element is selected in the scene view (Item 1) and it has editable properties, they can be looked
at and edited here.

5.

Render settings
Contains a number of tabs for setting pertaining to the imaging (tone mapping, white point etc.), rendering
modes and light layers, plus sections with diagnostic information.

22

Indigo Renderer Manual


This view is only visible once a scene has been opened.
6.

Toolbar
Provides buttons for quickly opening and closing scenes, starting and stopping renders, picking and assigning
materials, and other commonly used functionality.

7.

Status bar
The status bar displays information regarding Indigo's current state, i.e. whether it's waiting for a scene to be
loaded, loading a scene or currently rendering.
When rendering it displays how long the current job has been running and how long until the next automatic
image update, besides information on how many samples per pixel have been taken (a measure of image
quality; see Principles of Physically Based Renderering for more information).

23

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE

Toolbar
Many commonly used functions can be accessed from the toolbar for ease of access, and they can also be found in
the various program menus.
Open
Scene

Opens a scene in the current window. If a scene is already open, it will be closed (following a
prompt).

Close
Scene

Closes the current scene, terminating the current render (following a prompt). Generally you'll want
to save your rendered image before closing the scene.

Render

Start rendering the current scene. Upon pressing this button, the scene will be built and then
rendering will start.

Pause
Render

Pauses or resumes the current render, freeing up your computer's CPU for other tasks. You can
resume the render at any stage. If you need to run a short, processor-intensive task while
rendering, pausing and then resuming the render is effective (Indigo gives itself below normal
priority by default, so this is normally not a problem).

Stop
Render

This stops the current render, freeing the used CPU and memory resources for the currently
rendering scene. You can still tone-map and save the rendered image after the render has been
stopped, but unlike with Pause, you can't easily resume rendering (see Resuming a render if you
need to stop and later resume a render).

Update
Image

Indigo only updates the displayed image occasionally, to avoid wasting processing power on
image updates which show little visible difference. However, you can at any time press the
Update Image button (or the F5 shortcut key) to force an image update.

Save
Image

Once a rendered image is displayed, you can click Save Image to save it to disk in a number of
standard formats such as PNG or JPEG, as well as the special Indigo Image (IGI) format for
resuming the render later; the PNG format is recommended since it doesn't degrade the image
quality as JPEG does.

Network
Enables network rendering. See the Network Rendering section for more information.
Rendering
Options

Opens the options dialog. See the Options Dialog section for more information.

Use this button to open the Licensing window. You can use this to buy an Indigo licence,
Licensing immediately removing the restrictions of the free version. See the Licensing section for more
information.
Pick
Material

This tool allows you to select a material by clicking on an object in the image view, whose
currently applied material appears in the property editor.

Assign
Material

This tool allows you to apply the currently selected material (in the scene view) to an object in the
image view by clicking on it.

Add
Material

Creates a new material in the scene view.

Add
Medium

Creates a new medium in the scene view.

Upload
Material

When editing a material, it uploads the material applied the the preview object together with the
currently rendered preview image. The preview must be sufficiently clean (at least 200 samples
per pixel) otherwise the upload will not succeed.

Online
Accesses the Indigo online material database, allowing you to download materials into your
Material
scene and the local material database.
Database

24

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE

Render Settings
The render settings are only visible when a scene is open. There are several sub-sections selectable from the drop
down control; these are documented in the following manual sections.

25

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE > RENDER SETTINGS

Imaging
"Imaging" collectively refers to the process of converting Indigo's internal physical light data into a normal RGB image
which can be displayed on a computer screen.
The following image shows the fully expanded Imaging view; we'll cover with numbered sections sequentially:

1.

Image Settings
Here you can set the width and height of the image Indigo will render, along with the image super-sampling
factor. The aspect ratio (ratio of image width to height) can be kept constant while editing either field by
checking the "Lock aspect ratio" option.

26

Indigo Renderer Manual


If the super-sampling factor is greater than 1, then the image is rendered at a higher resolution internally and
down-sampled before the render is displayed on-screen or saved to disk. This can help to reduce aliasing
around high contrast edges and produce a sharper final image. Note that higher factors require a lot more
memory (RAM), which scales by the square of the super-sampling factor: with a factor of 2, it will use 4x as
much memory, with a factor of 3 it will use 9x as much, etc.
2.

Aperture Diffraction
Aperture diffraction causes small bright light sources to "bloom" (diffract) through the simulated camera's
aperture, creating a distinctive rainbow-coloured glow.
The exact shape of the diffraction pattern depends on the scene's aperture shape and obstacle map. For more
information please see the camera documentation.

3.

Tone Mapping
Tone mapping is the process whereby the high dynamic range (HDR) image internally stored by Indigo is
converted to a low dynamic range (LDR) image for display on a normal computer screen.
This form of range compression is necessary because in real life, the sun is many thousands of times brighter
than a dimly lit room, however on a standard computer screen we can only perceive approximately 200
brightness levels.

Reinhard: The default "auto-exposure" mode, which handles images with vey high dynamic range well,
but can have lower contrast than the other modes.
Camera: This mode allows you to select from a number of pre-defined camera response profiles, which
accurately model the response of the camera's optics for various manufacturers and camera models.
Linear: This mode is the simplest of all, providing only a linear scaling (or gain) factor and providing no
dynamic range compression.
4.

White Point
A white point (aka "reference white") is a colour which serves to define what "white" should look like in image.
This is related to the human vision system's adaptation to different colour temperatures, and allows you to
change how "warm" or "cold" an image appears.

5.

Histogram
This section shows a histogram of the colours present in the image, which is useful to analyse the imaging
settings for over-exposure or under-exposure.

27

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE > RENDER SETTINGS

Render Settings
1.

Mode Configuration
Render mode: This drop-down box allows you to select the render mode with which you'd like to render the
scene. There are four normal rendering modes and two rendering modes aimed at compositing applications:
alpha and material ID rendering.
If you are unsure which rendering mode to use a safe default is bidirectional path tracing, and there is also a
render mode guide to help you choose.

Glass acceleration: This render mode toggle gives special consideration to architectural scenes with thin/flat
glass panels through which e.g. sunlight must pass. It does not help for thick or curved glass.

Halt time: Specifies the number of seconds, from the beginning of the render, until rendering is halted (instead
of the usual unbounded rendering time).

Halt SPP: Specifies the number of samples per pixel (SPP) at which rendering is halted (instead of the usual
unbounded number of samples per pixel).
2.

GPU Acceleration
This section is only visible if a supported CUDA or OpenCL platform was detected. Please see the System
Requirements page for more information on GPU acceleration requirements.

Enable GPU acceleration: This checkbox specifies whether GPU acceleration should be used for rendering.
Note that Indigo currently does not support bidirectional path tracing with GPU acceleration, so enabling this will
temporarily force single-directional path tracing.
The currently selected GPU is selected via the combo box below.
3.

Scene Info
This section displays various statistics about the currently loaded scene.

28

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE > RENDER SETTINGS

Light Layers
The controls in this section allow you to view and modify the light layers present in the scene, and their contributions to
the final image.
For each light layer present in the scene, a corresponding set of controls is available allowing you to adjust the overall
gain and colour tinting, either via a standard RGB colour or using a colour temperature.

Example of light layer interface (click to enlarge). Click here to download this example scene.

29

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE > RENDER SETTINGS

Network Rendering
The network rendering section of the Render Settings view lists all the connected slaves, and allows you to toggle
whether or not the master should render as well.

30

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE > RENDER SETTINGS

Render Queue
The render queue lists the current batch of scenes to be rendered.
When loading a scene normally, only a single item is added to the render queue, however multiple scenes can be
added, with a halting condition (on rendering time, samples per pixel or both) to specify how long they should render
for.

31

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE > RENDER SETTINGS

Render Log
While rendering, the Indigo core will output diagnostic information about the scene and the render status. This can be
useful in diagnosing problems, and including a render log with an error report is always welcome.

32

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE

Resuming a Render
While Indigo is rendering a scene, you can save the HDR buffer into an Indigo Image (file extension .IGI) to resume
rendering later.
The Indigo Image stores all the information about a render in progress, so if the same scene is loaded again later
(even after the rendering has been stopped and Indigo closed), the current rendering state can be fully restored using
the IGI file.
To resume rendering a scene using a saved IGI, follow these steps:

Saving the render progress to an IGI


1.
2.
3.
4.
5.

Start rendering the scene.


Click the "Save Image" button.
Select the Indigo Image file type in the Save File dialog.
Choose a file name for your IGI file, for example "test.igi", and click Save.
You can now close Indigo.

Resuming
1. When you wish to resume your render, open Indigo, and select "Resume Render from IGI" from the File menu.
2. You will then be prompted to locate the original scene file, which the saved IGI was made with.
The IGI doesn't store information about the actual scene to be rendered (i.e. models and textures), only about
the state of rendering it, so the scene file is still necessary to carry on rendering. You must open the same
scene that you were rendering when you saved the IGI.
3. After selecting the scene file, you will be prompted to locate the IGI file. Navigate to where you saved the IGI file,
and press the "Open" button after selecting it.
4. You can confirm that the render resumed successfully by looking at the status bar the time elapsed should
include all the time spent rendering before the IGI was saved.

33

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE

Indigo File Types


Indigo has several of its own file types for use specifically with Indigo.
IGM

Indigo Material. Contains material information, but nothing else.

Packed Indigo Material. Contains material information and anything else relevant to the material, such as
PIGM textures. Can be unzipped with compression programs such as 7-Zip. This is the preferred format for
distributing Indigo materials.
IGI

Indigo Image. Contains information saved from an Indigo render. Used for resuming renders.

IGS

Indigo Scene. Contains information about an Indigo scene saved on disk.

Packed Indigo Scene. A self-contained archive with everything needed to render a scene, including all
PIGS referenced models and textures etc. Can be unzipped with compression programs such as 7-Zip. This is
the preferred format for distributing Indigo scenes.

34

Indigo Renderer Manual


INDIGO MANUAL > INDIGO INTERFACE

Options Dialog
Options Dialog
The options dialog holds settings for the Indigo user interface and rendering options, networking configuration and
OpenGL / input controls.
We'll cover these sections sequentially, corresponding to tabs in the options dialog:
1.

Interface and Render

Ask before quitting - Prompts the user for confirmation before exiting Indigo.
Ask before closing scene - Prompts the user for confirmation before closing scenes.
Default scrollwheel behaviour - By default, when scrolling the mouse wheel over a control which can
itself scroll, it will scroll the contents instead of the parent window. When this option is unchecked, it
instead scrolls over the control in the parent window without transferring focus.
Theme - Changes the appearance of the Indigo user interface according to a selection of pre-defined
themes.
Information overlay - Displays information about the render in a small black rectangle in the bottom left
corner of the image.
Watermark - Displays an Indigo watermark in the bottom right corner of the image. Cannot be disabled
in trial / unlicensed mode.
Image save period - Automatically saves the image periodically, according to how many seconds are
specified in the input field.
Save Indigo Image - When automatically saving images, this option toggles whether or not a full Indigo
Image is saved (rather than only a normal PNG).
2.

Network

35

Indigo Renderer Manual

Use network manager - Specifies that Indigo's network rendering should be co-ordinated by a Network
Manager instead of running independently.
Network manager hostname - The network computer name for the network manager; this cannot be
"localhost" or "127.0.0.1" since the name is passed on to other computers, which will incorrectly try to
connect to themselves, instead of the particular computer on which it was specified. Other computer
names or IPs are valid.
Use floating licence - Specifies that Indigo's licensing system should attempt to use a network floating
licence instead of the normal per-computer licensing system.
Do master search broadcast - If this option is enabled, Indigo will periodically search the local area
network (LAN) for Indigo masters wanting rendering slaves.
3.

OpenGL and Controls

Render with textures - Specifies whether the OpenGL preview should use texture maps from the scene.
This uses extra GPU memory and increases scene loading time.
Maximum texture resolution - Specifies the maximum width or height of textures used in the OpenGL

36

Indigo Renderer Manual


preview. This is useful for reducing the amount of additional memory used by the OpenGL preview.
Render wireframes - When enabled, the OpenGL preview shows the scene polygons using wireframe
rendering, which can be useful to see the geometric detail in a model.
Mouse sensitivity - The slider position specifies how fast the camera will rotate, pan or zoom when in
real-time mode; further to the left means less sensitive, further to the right means more sensitive.
Invert Y axis - If this option is enabled, mouse movement on the vertical (Y) axis will be inverted, i.e.
moving the mouse up will make the camera look down.

37

Indigo Renderer Manual


INDIGO MANUAL

Network Rendering
Indigo has built-in support for network rendering, which allows all the computers on a network to work together to
render a single Indigo scene more rapidly. You will need one master computer, that will coordinate the rendering
process.
You will also need one or more slave computers, that will be helping to render the scene. For the purposes of this
tutorial, the slave computers must be on the same local area network (LAN), and able to communicate with each
other.

On the Master computer


1.
2.
3.
4.

Launch the Indigo application.


Open the scene that you want to render in the Indigo Renderer GUI using the "Open Scene" button.
Press the "Network Rendering" button to enable network rendering mode.
Press the start render button.

On the Slave computer


Run the Indigo Network Render Slave.
If the network slave can find the master and connect to it on the network, it will then download the scene from the
master and start rendering it.

Viewing connected slaves on the master GUI


You can view all network slaves that are helping with the current render by selecting "Network Rendering" from the
combo box on the right hand edge of the Master GUI.

38

Indigo Renderer Manual


INDIGO MANUAL > NETWORK RENDERING

Automatic Slave
Indigo for Windows has the ability to install itself as a system service, which enables your computer to run a Network
Slave during screensaver. This is useful for utilising idle office workstations to accelerate network renders.
To enable the Windows service, navigate to your Indigo installation directory and run the
"network_client_service_manger.exe" application, and click the "Install Service" button.

Uninstalling the service can also be done from this dialog, by clicking the "Uninstall Service" button.
Once the service is installed, when the computer goes into screensaver mode, it will start an Indigo Slave and
contribute to any active network renders. When the computer exits the screensaver, the rendering is halted to free up
the computer for use.

39

Indigo Renderer Manual


INDIGO MANUAL > NETWORK RENDERING

Network Manager
The Network Manager does two things:
1.

Floating Licences
If you have purchased floating Indigo licences, the Network Manager hands out floating licences to computers
on your network. However, you don't require floating licences to use the Network Manager for network rendering
coordination.
To purchase Indigo floating licences, email us at [email protected]

2.

Managing Network Rendering


Indigo supports network rendering, which means that additional computers (slaves) can help other computers
(masters) render an Indigo scene.
The Network Manager can control and coordinate this network rendering, by assigning slaves to masters. This
is ideal for an office or render farm situation where there are multiple masters and multiple slaves on the same
network.

40

Indigo Renderer Manual


INDIGO MANUAL > NETWORK RENDERING

Network Rendering Tutorial


This tutorial will cover network rendering with the Indigo Network Manager.

Set up the network manager


1.

Choose the manager computer


Choose a computer to run the network manager on. Ideally this computer would be running at all times,
essentially acting as a server; we will call this computer the "Manager computer".

2.

Install Indigo on the Manager computer


Install Indigo on the Manager computer. For detailed information about this step please see the Installing Indigo
section.

3.

Obtain the Manager computer's hostname


A hostname is a name used to identify a device connected to a computer network. To find the hostname of the
Manager computer:

On Windows: From the Start menu, right click on "Computer" and select "Properties". The hostname is listed
as the "Full computer name", which is "pixel" in this example:

41

Indigo Renderer Manual


On Mac: The hostname is listed as "Computer Name" under System Properties Sharing:

4.

Run the network manager


Run the Network Manager on the manager computer. If the operating system prompts for permission to allow
incoming connections, answer "Yes". Without this permission, other nodes will not be able to communicate with
the Manager computer.

On Windows: Start All Programs Indigo Renderer Indigo Network Manager


On Mac: Finder Applications Indigo.app Indigo Network Manager
5.

Running a slave
On another computer that has Indigo installed:
1.
2.
3.
4.
5.
6.

Start Indigo and click on the "Options" button.


In the Network tab, make sure the "Use network manager" option is checked.
In the "Network manager hostname" field, enter the Manager computer hostname.
Ensure that the "Do master search broadcast" option is unchecked.
Click "OK" to save the changes and exit the options dialog.
From the tools menu, select "Start Network Slave".

Leave the network slave running for now.


6.

Running the master


On the computer that you wish to use as the master computer, e.g. the computer that you will be starting a
render from, start Indigo:
Start All Programs Indigo Renderer Indigo Renderer
1.
2.
3.
4.
5.

Click on the "Options" button.


Ensure that the "Use network manager" option is checked.
In the "Network manager hostname" field, enter the Manager computer hostname.
Ensure that the "Do master search broadcast" option is unchecked.
Click "OK" to save the changes and exit the options dialog.

Warning: When setting up the master, using "localhost" or "127.0.0.1" as the hostname for the network
manager will prevent other slaves from connecting to the master.
This is due to to the fact that the master will then connect to the network manager through the loopback interface
and the network manager will pass the IP from which the master connected on to the slaves. For loopback, this
is always 127.0.0.1.
7.

Start the render


On the master computer, open a scene in Indigo that you wish to render, and press the "Render" button.
Now click the "Network Rendering" button to enable network rendering.

Verifying network rendering is working from the Master


On the Master computer, select "Network Rendering" from the drop down box in the Render Settings view.

42

Indigo Renderer Manual


If the network rendering configuration is correctly set up, there should be a client listed (with IP address and the
hostname) in the "Connected slaves" list:

It will also show the rendering speed in samples per second for each slave. Note that this speed is not known until the
first frame is transferred from the slave to the master, and so will show "Unknown" initially.

Verifying network rendering is working from the Network Manager


The Network Manager should show one slave in the "Slaves" list, and one master in the "Masters" list.
Additionally, the "Assigned master ID" for the slave should be the ID of the master. This means that the Network
Manager has assigned the slave to the master.

43

Indigo Renderer Manual


INDIGO MANUAL

Rendering with Indigo


This section begins with a simple overview of rendering with Indigo, followed by sections for various features and
settings used for rendering.
Comprehensive coverage of Indigo's material system can be found in the "Materials" section.

44

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Render Tutorial
In this tutorial we will render an example scene that comes with Indigo to illustrate the basic render settings.
1. Start Indigo and click the Open button in the toolbar. Browse to the "testscenes" subdirectory in your Indigo
Renderer installation, which on Windows is usually C:\Program Files\Indigo Renderer\testscenes.
Open the "Caterpillar" example; this scene, by Paha Shabanov, showcases a number of Indigo's more complex
features (e.g. displacement, subsurface scattering) and won a competition held on our Forum to be included
with the Indigo distribution.
2. This scene renders quite slowly using the default Bi-directional Path Tracing render mode, so let's set it to use
the simpler, non-Bi-directional (i.e. single-directional) path tracing mode.
In the Render Settings view (on the right side of the image), from the drop-down menu at the top, select the
"Render Settings". From the "Render mode" drop-down, select "Path tracing".
3. Now we're ready to begin rendering. Hit the "Render" button on the toolbar, and Indigo will begin "building" the
scene (preparing it for rendering).
For simple scenes, this build process will be nearly instantaneous, but for larger scenes (with many polygons,
subdivision surfaces etc.), building the scene can take a little while. Indigo displays the build progress in the
status bar, and you can see the full log by clicking the "Render Log" drop-down option from the Render Settings
view.
4. Once the scene has started rendering, the status bar will continually update with information about the render in
progress.
Particularly relevant is the number of samples per pixel, which can be roughly thought of as the image quality;
every so often (with decreasing frequency) the image will automatically update as it's rendering. You can update
the image at any time either via the Update Image toolbar button or by pressing F5.
5. After some minutes of rendering the "noise" (or graininess) in the image will go away, leaving a nice clean
render:

6. Next we'll illustrate some of the imaging settings; these affect the appearance of the final image from the
physical light computation Indigo performs, and can be adjusted without restarting the render.
In the Render Settings view, select "Imaging" from the drop-down at the top. The default setting for this scene is
Camera tone mapping with the FP2900Z preset, and we can change its exposure (EV) and film ISO as with a
real camera. If we switch the method to "Reinhard", Prescale to 2 and Burn to 3.6, we get the following result
with less saturation, but also less "blow out" in the bright regions:

45

Indigo Renderer Manual

7. In the White Point section we see that the scene's default white point is the "E" preset. Typically we use a D65
("daylight") white point, and selecting this option produces a noticeably "warmer" image:

8. Finally, let's save this image to disk; click the "Save Image" button in the toolbar, and either give the image a
new file name or leave it as is.
Saving as PNG is generally recommended instead of JPEG unless the image will be directly uploaded to the
Internet and needs to be compressed, since every time a JPEG image is saved the image quality is reduced
(as it is a "lossy" format, as opposed to PNG which is "lossless" i.e. a perfect copy).

46

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Environment Settings
There are several options that allow you to define the appearance of empty space around your scene. This listing is
not exhaustive, since any material can be used as the background material, however we'll most list the commonly
used settings here.

Constant colour background

Illuminates scene with a uniform environment light.

Sun & sky


Indigo comes with a Sun and Sky environment that realistically depicts the sky. Changing the sun's direction creates
time-of-day effects: a low angle creates a sunrise/sunset with correctly coloured sky and brightness.

47

Indigo Renderer Manual

The classic Sun & Sky model.


The following options are available for the classic model:

Turbidity: The turbidity defines the haziness/clearness of the sky. Lower turbidity means a clearer sky. Should be set
to something between 2 and ~5.
Extra Atmospheric: Removes the sky and renders only the sun. Good for renders in space.
Since Indigo 3.2, there is also a new "captured" sky model, which is actually simulated by Indigo and captured to disk
with the distribution.

The captured Sun & Sky model.

Environment map

48

Indigo Renderer Manual

Illuminates scene with an environment map, which usually is a high dynamic range (HDR) image.
Indigo can load HDR environment maps in two formats, EXR (file extension .exr) and a raw data format (extension
.float, a simple format exported by the HDR Shop program); the environment map must be in spherical format. You
can define the map's width, but it must match the height (i.e. the image must be square).
There is only one setting available currently for environment maps:

Gain: An overall brightness scale, which the environment map is multiplied with to get the final brightness.

49

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Render Settings
This section documents the render settings available in Indigo. Some of these settings may not be exposed directly,
depending on which modelling package you're using.

Render mode
Specifies the render modes Indigo should use to render the scene.
If you are unsure which to use, bi-directional path tracing is recommended. See also the render mode guide.

Glass acceleration
This option enables or disables the use of glass acceleration, a feature which can accelerate convergence in scenes
with thin glass panes.
Please note that it is only helpful for thin, flat panes of glass and not curved objects such a wine bottle, pool surface,
etc.

Halt time
The number of seconds for which Indigo should render, after which the rendering is halted.

Halt SPP
The number of samples per pixel (SPP) Indigo should render to, before rendering is halted.

Network rendering
If network rendering is enabled, other computers on the network will assist in rendering the scene.
Normally the master computer also contributes in this process, however with the working master option disabled only
the connected slave nodes will contribute to the rendering (leaving more resources available on the master).

Save un-tone mapped EXR


An un-tone mapped EXR image is saved in the renders directory.

Save tone mapped EXR


A tone mapped EXR image is saved in the renders directory.

Save IGI
An un-tone mapped Indigo Image (.IGI) file is saved in the renders directory.

Image save period


How often, in seconds, the rendered image(s) will be saved to the renders directory.

Super sample factor


50

Indigo Renderer Manual


Super sampling helps to eliminate hard edges in the render, at the cost of additional memory (RAM).
The amount of additional memory required to store the rendered image is proportional to the square of the super
sample factor, i.e. for a factor of 2, 4x more memory is required, and for a factor of 3, 9x more memory is required.
Note that this does not affect the size of the final image, and does not affect the rendering speed much (as long as
the additional memory required is available).

Watermark
If this is enabled, an Indigo logo is displayed on the bottom-right corner of the output render. This behaviour cannot be
changed in the Free version of Indigo.

Info overlay
If this is enabled, a line of text is drawn on the bottom of each render with various rendering statistics and the version
of Indigo it was rendered with.

Aperture diffraction
Selects whether aperture diffraction should be used. Please see the aperture diffraction documentation for more
information.

Render region
Specifies a subset of the image to be rendered; useful for quick previews in complex scenes.

Render alpha
If this option is enabled, instead of rendering a normal illuminated and shaded image, Indigo will produce a greyscale
alpha mask for use in compositing applications. The background and foreground will appear black and white
respectively, with in-between shades indicating partial transparency.
Together with a normally-rendered image, this alpha mask allows you to composite your rendered image onto
another image (such as a photographed background) in an image editing application.

Lens shift
Normally the lens is located in front of the middle of the sensor, however lens shifting allows you to move it. This is
used to compensate for perspective effects when rendering with a relatively wide field of view.

Advanced render settings


Typically users will not have to change any of these settings. Changing these from their defaults can lead to
unexpected results and we recommended leaving them at their defaults.

MNCR
MNCR stands for Max Number of Consecutive Rejections, a parameter used in the MLT rendering modes. A lower
number can reduce "fireflies", but will introduce some bias into the render.

Auto choose num threads


Automatically chooses all available CPU cores for rendering. Turn this off to manually specify number of threads to
use for rendering, in conjunction with the "num threads" option below.

Num threads
51

Indigo Renderer Manual


Define the number of threads for Indigo to render with.

Logging
If true, a log from the console output is written to log.txt in the current working directory.

Cache trees
If true, k-D trees and BVH data structures are saved to disk after construction, in the tree_cache directory. If the

Splat filter
Controls the filter used for splatting contributions to the image buffer. Either "fastbox" or "radial" are recommended;
radial produces slightly higher quality images, but is blurry when used with a super-sampling factor of 1 (a factor of 2
or higher avoids this problem and delivers very high image quality).

Downsize filter
Controls the filter used for downsizing super-sampled images. Only used when super sample sactor is greater than 1.
The same filters used for splatting can be used for the downsize filter, with a few extra options (please consult the
technical reference for more information).

52

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Camera
Indigo implements a physically-based camera model which automatically simulates real-world phenomena such as
depth of field (often abbreviated as DoF), vignetting and aperture diffraction.
This is a crucial component for Indigo's "virtual photography" paradigm, as it allows the user to use familiar settings
from their camera in producing realistic renderings of their 3D scenes.

Aperture radius
Defines the radius of the camera aperture.
A smaller aperture radius corresponds to a higher f-number. For more information on this relationship please see the
excellent Wikipedia page on f-numbers.

Focus distance
The distance in front of the camera at which objects will be in focus.

Aspect ratio
Should be set to the image width divided by the image height.

Sensor width
Width of the sensor element of the camera. A reasonable default is 0.036 (36mm). Determines the field of view (often
abbreviated as FoV), together with the lens sensor distance.

Lens sensor distance


Distance from the camera sensor to the camera lens. A reasonable default is 0.02 (20mm).

White balance
Sets the white balance of the camera. See White Balance.

Exposure duration
53

Indigo Renderer Manual


Sets the duration for which the camera's aperture is open. The longer the exposure duration, the brighter the image
registered by the sensor.

Autofocus
When this option is enabled Indigo will perform an autofocus adjustment before rendering, automatically adjusting the
focal distance based on the distance of objects in front of the camera.

Obstacle map
An obstacle map texture is used when calculating the diffraction though the camera aperture, to change the way the
aperture diffraction appears.

Aperture shape
This allows a particular shape of camera aperture to be specified.
The allowable shapes are "circular", "generated" or "image". A preview of the final aperture shape will be saved in
Indigo's working directory as "aperture_preview.png". An image aperture shape must be in PNG format and square
with power-of-two dimensions of at least 512 x 512. The image is interpreted as a grey-scale image with the white
portions being transparent and black being solid.
For further information and example images please see the aperture diffraction sub-section.

54

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > CAMERA

Aperture diffraction
Aperture diffraction allows the simulation of light diffraction through the camera aperture. Such diffraction creates a
distinct "bloom" or glare effect around bright light sources in the image. The shape of the glare effect is determined
by the shape of the aperture.
You can enable or disable aperture diffraction via the "Enable aperture diffraction" checkbox in the imaging section of
the render settings view.
Post-process aperture diffraction dramatically increases the amount of memory (RAM) used, and the time taken to
update the displayed image.
The following images illustrate the effect of aperture diffraction with various aperture shapes:

A simple render of the sun, without aperture diffraction enabled.

Aperture diffraction with a circular aperture.

55

Indigo Renderer Manual

Aperture diffraction with a 6-blade generated aperture.

Aperture diffraction with an 8-blade generated aperture.

56

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > CAMERA

Tone mapping
Tone mapping changes the brightness and contrast of your image. It can be done at any stage during the render
process. Changes to tone mapping will be applied immediately to the rendered image. Tone mapping is nondestructive, so you can play around with the different tone mapping settings without permanently effecting the
rendered image.
You may want to tone map your image using different settings, and press Save Image to save out several different
images.
How it works: Indigo creates a high dynamic range (HDR) image as it renders, and this must be converted to a
standard low dynamic range red, green and blue image that can be displayed on your computer monitor or saved as
an image.
Indigo has three different tone mapping techniques that you can choose from: Reinhard, Linear and Camera.
Reinhard is the simplest to use, but once mastered, camera tone mapping can give a nice artistic feel to the renders.

Linear
The simplest tone mapping method, linear depends on just a single number. Every pixel in the HDR image will be
multiplied by this number.

Reinhard
Reinhard is a method based on a paper by Reinhard, Stark, Shirley and Ferwerda from the University of Utah. It is
often the best tone mapping technique because it automatically adjusts to the amount of light in the scene. It can be
tricky to get linear or camera tone mapping to work correctly in scenes where there is an extremely bright light source
the Reinhard method is a good choice for scenes like this.
Luckily, the default Reinhard settings of prescale=6, postscale=1, burn=2 will result in great results for all renders. If
you do want to adjust the Reinhard method here is an approximate description of each parameter.
Prescale

Similair to a contrast control, works by increasing the amount of light in the HDR buffer.

Postscale Works like a brightness control, increases the absolute brightness of the image after it has been tone
mapped.
Burn

Specifies the brightness that will be mapped to full white in the final image. Can be thought of as
gamma control.

We recommend that most people use Reinhard with its default settings.

Camera
Camera tone mapping simulates the working of a photographer's camera. You adjust the exposure and ISO settings
as you would in a real camera to modify the tone mapping.
The parameters you modify are:
The ISO number represents the speed of film that is used. The higher the ISO number, the more light will be
ISO collected in the HDR Image. In low light situations, a fast film should be used, such as ISO 1600, and in bright
lighting situations, a slow film can be used, such as ISO 100.
The exposure value can range from -20 to +20 and represents a correction factor that is applied to the
EV collected light. The higher the EV, the brighter the final image will be. Increasing the EV by one will make the
image twice as bright.
The final parameter is the response function. This specifies the type of film or digital camera to emulate. Different

57

Indigo Renderer Manual


films and cameras emphasise different colours. The response functions are taken from real cameras for example
the images below use Ektachrome 100CD film which is famous for being used by National Geographic in their older
photos.
A good default for sunny well-lit scenes is an ISO of 200 and an EV of -5.0.
Here are previews of each of the Camera Response Functions

Page 1

Page 2

Page 3

58

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Render Mode Description


Indigo is a ray tracer, which means that it renders scenes by firing out rays and letting them bounce around a scene to
form ray paths. Different render modes control the way ray paths are constructed. Different render modes have
different strengths and weaknesses for different kinds of scenes.
The options are:
Path tracing
Bidirectional path tracing
Path tracing with Metropolis Light Transport (MLT)
Bidirectional path tracing with MLT
Generally, Bidirectional path tracing should be used as it is the best all-round solution.
Metropolis light transport (MLT) can help rendering speeds in tricky scenes, such as where there are a lot of caustics,
or sunlight reflected off glass or polished metal. See this page for more information about MLT.
Here is a diagram describing what they do:

Path tracing

Rays are fired outwards from the camera, bouncing around the scene until they hit a light.

Bidirectional Path Rays are fired outward from both the camera and light sources. They are then joined together
tracing
to give a complete ray path.
Path tracing with
MLT

Rays are fired outwards from the camera, bouncing around the scene until they hit a light.
When a ray makes a successful path, another ray is fired off on a slightly similar direction.

59

Indigo Renderer Manual


MLT

Gives good results for caustics.

Bidirectional path Rays are fired from both the camera and the lights. When a ray makes a successful path,
tracing with MLT another ray is fired off on a slightly similar direction. Gives good results for caustics.

60

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Render Mode Guide


The different render modes in Indigo each have their own strengths and weaknesses. Different render modes
perform differently on different scenes - some render modes will produce less noise, and some render modes will
produce more. Since Indigo is an unbiased renderer, all render modes will eventually produce the same resulting
render however.
See the Render Mode page for more information.
In this section we will demonstrate the effect different render modes have on a couple of scenes. All images have
been rendered for two minutes on a single computer.
The first scene shown here is an 'easy' scene: although there is a small light source, all materials are diffuse.
All render modes perform adequately on this scene, although the non-MLT modes (path tracing and bidirectional path
tracing) perform better than the MLT modes.
This shows that MLT is not helpful on 'easy' scenes.

Path tracing render mode

61

Indigo Renderer Manual

Bidirectional path tracing

Path tracing with MLT

62

Indigo Renderer Manual

Bidirectional path tracing with MLT

The second scene shown here is the same scene as before, except that the diffuse material on the sphere has been
replaced with a specular material. The combination of a small, bright, light source and a specular material make this
scene a 'hard' scene.
The path tracing render mode struggles, producing 'fireflies' (white dots) over the image.
(These white dots are not errors, they are just 'noise' in the image, that will go away after a long enough render time)

63

Indigo Renderer Manual

Path tracing render mode

The bidirectional path tracing mode does much better. There are still some fireflies on the sphere. These are from the
notoriously difficult 'specular-diffuse-specular' paths that are a problem for unbiased renderers.

64

Indigo Renderer Manual

Bidirectional path tracing

Path tracing with MLT 'smears-out' the fireflies produced with the path tracing render mode. However the result is still
not great.

65

Indigo Renderer Manual

Path tracing with MLT

Bidirectional path tracing with MLT is the most robust render mode in Indigo, as it performs adequately even in 'hard'
scenes such as this one. There are still some smudges / splotches in this image, but they will smooth out after longer
rendering.

66

Indigo Renderer Manual

Bidirectional path tracing with MLT

67

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Material database
The online material database is a shared repository where users can view, download and share Indigo materials.
These are distributed as either .IGM (Indigo Material) or .PIGM (Packed Indigo Material) files, the latter being
preferred since it automatically packages all required textures.
The material listings are organised by category, however the most popular and recent materials are also listed on the
front page. Typically you would either look in a particular category for the material you want, or use the search function
to find keywords associated with the material.

68

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Materials
Accurately modelling the appearance of materials in a scene is crucial to obtaining a realistic rendered image. Indigo
features a number of different material types, each customisable with various attributes, allowing great flexibility in
material creation.
The material previews have been rendered in the main Indigo application (File -> New Material) using the default
material ball scene.

69

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS

Material Attributes
Indigo materials can have a number of attributes or parameters to control their appearance. Some of these are
relatively common and simple, such as the Albedo parameter, however others such as Absorption Layer
Transmittance are particular to a material type and warrant a detailed explanation.
Many of the parameters can be given either as a constant, a texture, or an ISL shader.

70

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL ATTRIBUTES

Albedo
Albedo can be thought of as a basic "reflectivity colour" for a material.
For example, if a material has an RGB albedo with each component set to 0.0, it will be completely black and reflect
no light; with each component set to 1.0, light would never lose energy reflecting off the material, which is physically
unrealistic.
A comparison of various albedo values found in nature is available on Wikipedia.

An example diffuse material with a green albedo.


Materials which have an albedo attribute:
Diffuse
Phong
Oren-Nayar
Diffuse Transmitter

71

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL ATTRIBUTES

Bump
Bump mapping gives the illusion of highly detailed surface without actually creating more geometry; in other words,
it's a shading effect which gives a good approximation to more a detailed surface.
When specifying a texture map, the texture scale (B value) tells Indigo how far the distance is from full black to full
white in metres. Since bump mapping is only intended to simulate small surface features, this value will be quite small
since it is specified in metres, usually on the order of about 0.002.
See the Texture Maps section for information on texture attributes.

An example material with a grating texture used as a bump map.


Materials which have a bump attribute:
Diffuse
Phong
Specular
Oren-Nayar
Glossy Transparent

72

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL ATTRIBUTES

Displacement
Unlike bump mapping, which is a shading effect and does not create actual geometry, displacement mapping
correctly generates new geometry from a base mesh and specified displacement map, by displacing the mesh
vertices along their normals according to the displacement map.
This ensures that object silhouettes are correctly rendered, and is recommended for large displacements where
bump mapping would look unrealistic; even mountain ranges can be efficiently created with this technique.
A constant setting displaces the entire mesh evenly by the defined amount. A texture map displaces the vertices
based on values in a grey-scale image.
See the Texture Maps section for information on texture attributes.

An example material a grating texture displacement map.


Materials which have a displacement attribute:
Diffuse
Phong
Specular
Oren-Nayar
Glossy Transparent
Diffuse Transmitter

73

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL ATTRIBUTES

Exponent
The exponent parameter controls the roughness of the surface, with higher exponents corresponding to a smoother,
more polished surface with mirror-like reflections.
Typically the exponent varies from about 10 to 10000, and it can be set using a texture, however, care must be taken
to scale the texture data to an appropriately high exponent value (via the B and C parameters).

Example of two Phong materials with different exponents.


Materials which have an exponent attribute:
Phong
Glossy Transparent

74

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL ATTRIBUTES

Base Emission
This parameter specifies the base amount of light a material emits (in units of Lumens), which can be modulated
using the Emission parameter.
This is used to create light sources.

An example of a 1500 Kelvin blackbody emitter.


RGB:

Light based on colour and brightness.

Uniform:

A white light with intensity based on value given.

Blackbody: Light is based on the temperature. Measured in Kelvin.


Peak:

Defines a band of wavelengths in which the material emits light.

Tabulated: The emission spectrum is specified at regular wavelength intervals, which is useful for entering labmeasured data when a very controlled simulation is required.
Materials which have a base emission attribute:
Diffuse
Phong
Specular
Oren-Nayar
Glossy Transparent
Diffuse Transmitter

75

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL ATTRIBUTES

Emission
The emission parameter multiplies the Base Emission to produce effects such as TV screens, where the brightness
varies over the surface of the screen.
An emission scale parameter is available to scale the emission of the material by a given amount. Various
photometric units are available.

An example material with a 1500 Kelvin blackbody emitter, modulated by a grating texture.
Materials which have an emission attribute:
Diffuse
Phong
Specular
Oren-Nayar
Glossy Transparent
Diffuse Transmitter

76

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL ATTRIBUTES

Absorption Layer Transmittance


Absorption Layer Transmittance refers to the absorption of light at the transmitting surface by a given "layer", which
allows further control over how specular materials appear without changing the medium's absorption properties
(which is what usually creates the perceived colour).
This can be useful for producing a stained glass window effect for example.

An example material with a grating texture used as an absorption layer.


Materials which have an absorption layer attribute:
Specular
Glossy Transparent

77

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL ATTRIBUTES

Layer
Light layers enable a rendered image to be split into additive "layers", in which each layer holds some contribution to
the final rendered image.
How much a layer contributes to the final image can be adjusted interactively while rendering without restarting the
process, and even after the render is completed, allowing for great flexibility in adjusting the lighting balance without
having to do a lot of extra rendering. See Light Layers for more information on this subject.
The material's layer parameter specifies which light layer the (presumably light-emitting) material's contribution is
added to.
Materials with attribute:
Diffuse
Phong
Specular
Oren-Nayar
Glossy Transparent
Diffuse Transmitter

78

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS

Material Types
This section covers the various material types available in Indigo.
There are also video tutorials available for editing materials within Indigo, which include explanations of the material
types, available here.

79

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL TYPES

Diffuse
Diffuse materials are used for rough or "matte" surfaces which don't have a shiny appearance, such as paper or
matte wall paint.

Attributes:
Albedo
Bump
Displacement
Base Emission
Emission
Layer

80

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL TYPES

Phong
The Phong material is a generalisation of the Diffuse material type, adding a glossy coating on top of the diffuse
base (or "substrate"). The influence of this coating is controlled by its index of refraction (IOR), with higher values
corresponding to a smoother, more polished appearance (the default IOR is 1.5).
It is commonly used for materials such as polished wooden floors, car paints (when multiple Phong materials are
blended together) and metals.
Metals in particular can be represented using either the "specular reflectivity" option (which allows a basic colour to
be defined for the material), or via measured material data (referred to as NK data).

IOR (Index Of Refraction): Controls the influence of the glossy coating; higher values produce a more polished /
shinier appearance.

NK data: The Indigo distribution comes with a set of lab-measured data for various metals. If one of these data sets
is selected, the diffuse colour and specular reflectivity colour attributes are ignored.

Specular reflectivity colour: When not using NK data, this allows you to set a basic colour for the metal; this is
useful for uncommonly coloured metals such as Christmas decorations.

Green specular colour

Au (gold) NK dataset

Al (aluminium) NK dataset

Attributes:

81

Indigo Renderer Manual


Albedo
Bump
Displacement
Exponent
Base Emission
Emission
Layer

Attachment

Size

phong_material.jpg 66.46 KB

82

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL TYPES

Specular
Specular materials are idealised materials which refract and/or reflect as in classical optics for perfectly smooth or
flat surfaces (e.g. mirror-like reflection).
A specular material can either transmit light, as is the case with glass and water for example, or not as is the case
with metals. This behaviour is controlled by the material's "Transparent" attribute.
If a specular material transmits light, it will enter an internal medium whose properties define the appearance of the
material (such as green glass, which has absorption mainly in the red and blue parts of the spectrum). For more
information on this please see the correct glass modelling tutorial.

Transparent: If enabled, it allows light to pass through the material. Otherwise only reflected light is simulated.
Attributes:
Albedo
Bump
Displacement
Base Emission
Emission
Absorption Layer Transmittance
Layer
Internal Medium

Attachment

Size

specular_material.jpg 97.08 KB

83

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL TYPES

Oren-Nayar
Oren-Nayar materials are another generalisation of the basic diffuse material type, except unlike Phong which
generalises to shiny surfaces, Oren-Nayar generalises to rougher materials.
The appearance is quite similar to diffuse materials, but with less darkening at grazing angles; this makes it suitable
for modelling very rough or porous surfaces such as clay or the moon's surface.

Sigma: Controls the roughness of the material. A higher sigma gives a rougher material with more back-scattering.
The default sigma value is 0.3, and values higher than 0.5 primarily cause energy loss / darkening due to strong interreflection. A value of 0.0 corresponds exactly to diffuse reflection.

From left to right: Diffuse material, then Oren-Nayar with sigma values 0.0, 0.2, 0.5, 1.0.
Attributes:
Albedo
Bump
Displacement
Base Emission
Emission
Layer

84

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL TYPES

Glossy Transparent
The glossy transparent material is a generalisation of the specular material, to allow non-perfect (i.e. rough) reflection
and refraction, via an exponent parameter as with the Phong material.
It is commonly used for materials such frosted glass or even human skin (with a low exponent value).

Attributes:
Exponent
Internal Medium
Absorption Layer Transmittance
Bump
Displacement
Base Emission
Emission
Layer

85

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL TYPES

Diffuse Transmitter
The diffuse transmitter material simulates a very rough transmitting material, which reflects no light back outwards.
For this reason it is normally blended with a normal diffuse material to model surfaces such as curtains or
lampshades.
It is meant to be used on single-layer geometry, and although it does not have an associated internal medium by
default, it is possible to use one.

An example of the diffuse transmitter material on its own.

86

Indigo Renderer Manual

A blend between diffuse transmitter and normal diffuse materials to simulate the appearance of a curtain.
Attributes:
Albedo
Displacement
Base Emission
Emission
Layer

87

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL TYPES

Blend
The blend material type isn't a material per se, rather it combines two sub-materials using blending factor.
This blending factor is a normal channel, and so can be constant, a texture or an ISL shader, allowing for great
flexibility in material creation; a blend material can also use a blend as input, enabling so-called "shading trees" of
arbitrary complexity.
Note that it's not possible to blend any combination of null and specular materials, except for the case where two
specular materials with the same medium are being combined.

An example blend material from the material database, showing a blend between specular and diffuse materials.

Blend: Controls the amount of each material used. A value of 0 means only Material A is used, a value of 1 means
only Material B is used, 0.5 implies a 50/50 blend, etc.

Step Blend: Instead of allowing partial blends, only one of Material A or Material B are selected, depending on
whether the blending factor is below or above 0.5, respectively. This is recommended for "cut-out" clipping maps
(such as for tree leaves), which produce less noise using this technique.

88

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL TYPES

Exit Portal
When rendering interior scenes, one frequently encounters an efficiency problem where the "portals" through which
light can enter the scene from outside (e.g. an open window) are relatively small, making it quite difficult to sample.
Exit portals can greatly improve rendering efficiency in these situations by marking important areas through which
light can enter the scene, which Indigo will directly sample to produce valid light carrying paths.
Although it is a material type, exit portals don't have any particular appearance of their own, they simply provide an
"open window" through which the background material is seen, and through which it can illuminate the scene.
For more information and example images, please see the SketchUp exit portal tutorial.
Requirements for exit portal usage:
If any exit portals are present in the scene, then all openings must be covered by exit portals.
The face normals must face into the interior of the scene.
The exit portal material should only be applied to one side of a mesh (e.g. a cube), otherwise it will lose its
effectiveness.

89

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > MATERIAL TYPES

Null
The null material is not a normal material type (like the exit portal material), but rather indicates that light should pass
straight through it, unaffected in brightness and direction.
This on its own is not very helpful, however when combined with the blend material type it becomes very useful for
making "cut-outs" such as leaf edges, which would otherwise highly complex geometry.

An example of the null material on its own.

90

Indigo Renderer Manual

An example of the null material blended with a Phong metal, using a grating texture as blend map.

91

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS

Texture Maps
Texture maps are a standard way of adding fine surface detail without adding more geometry. Indigo supports texture
maps in many file formats, which are listed here.

An example Phong material with a wood texture applied.

Supported texture formats:


JPEG

.JPG
.JPEG

Greyscale and RGB are supported.

PNG

.PNG

Greyscale, greyscale with alpha, RGB and RGBA are supported. 8 bits per channel and
16 bits per channel supported.

Truevision
Targa

.TGA

Greyscale (8 bits per pixel) and RGB (24 bits per pixel) are supported. Compressed TGA
files are not supported.

Windows
Bitmap

.BMP

Greyscale (8 bits per pixel) and RGB (24 bits per pixel) are supported. Compressed BMP
files are not supported.

OpenEXR

.EXR

16 bits per channel and 32 bits per channel are supported.

TIFF

.TIF
.TIFF

Greyscale, RGB, RGBA are supported. 8 bits per channel and 16 bits per channel
supported.

Additional options:
UV set

Name of the set of uv coordinates used for texture maps. Usually generated by your 3D modelling
package.
Path to the texture map on disk. The path must either be absolute, or relative to the scene's working

92

Indigo Renderer Manual


Path

Path to the texture map on disk. The path must either be absolute, or relative to the scene's working
directory.

Gamma
(exponent)

Used for converting non-linear RGB values (e.g. sRGB) to linear intensity values. A typical value is
2.2, corresponding to the sRGB standard.

93

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > TEXTURE MAPS

ABC values / texture adjustments


Often you'll want to change a texture's brightness or contrast in the rendered image, without having to modify the
texture map itself.
During rendering, Indigo modifies the source texture data according to a quadratic formula with 3 parameters, A, B
and C:

y = ax + bx + c
x is the input value from the texture map, and y is the output value.
As a quick example for how this equation works: If we use A = 0, B = 1, C = 0 then the value is completely unchanged;
this is therefore also the default.

A value Quadratic
The A value scales the contribution of the quadratic (x) term. This is typically not used, however it can be useful to
adjust the contrast of a texture, with a value greater than 0, and/or a negative C value.

B value - Scale/Multiplier

Texture Scale (B value) of 2.


The B value scales the contribution of the linear (x) term. This is typically used to adjust the overall brightness (for
example to reduce the maximum albedo of a texture, using a value of 0.8 or so), and can also be useful to adjust the
contrast of a texture, with a value greater than 1, and/or a negative C value.

C value Base/Constant

Texture constant (C value) of 0.2.


The C value is always added, regardless of the input texture amount; it therefore acts as a base or "floor" value. So
for example if you have a completely black texture, and a C value of 0.5, it would appear as 50% grey.

94

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS

Internal Medium
A (transmission) medium defines the properties of the matter through which light travels, when it is refracted at a
material interface.
For example, a green glass medium will specify moderate absorption in the red and blue parts of the spectrum, so as
to leave behind mainly green light; clear blue water will specify a small amount of absorption in the red and green
parts of the spectrum so as to leave behind mainly blue light. If the medium contains many small particles, such as
milk, then it will also specify other properties such as the scattering coefficient, etc.
The object has to be a closed volume. This means it cannot have any holes leading to the interior of the mesh.
All mesh faces must be facing outwards. Check the face 'normals'.

Precedence: Precedence is used to determine which medium is considered to occupy a volume when two or more
media occupy the volume. The medium with the highest precedence value is considered to occupy the medium,
'displacing' the other media. The predefined and default scene medium, 'air', has precedence 1.

Basic
Typical values for glass and water lie in the range 0.003 0.01 (see
http://en.wikipedia.org/wiki/Cauchy%27s_equation for some coefficients)
IOR

Index of refraction. Should be >= 1. Glass has an IOR (index of refraction) of about 1.5, water about
1.33. The IOR of plastic varies, 1.5 would be a reasonable guess.

Cauchy B
Coeff

Sets the 'b' coefficient in Cauchy's equation, which is used in Indigo to govern dispersive refraction.
Units are micrometers squared. Setting to 0 disables dispersion. Note: the render can be slower to
converge when dispersion is enabled, because each ray refracted through a dispersive medium can
represent just one wavelength. So only set cauchy_b_coeff to other than 0 if you really want to see
dispersion.

Absorption
Coefficient Controls the rate at which light is absorbed as it passes through the medium.
Spectrum
Subsurface Use this element to make the medium scatter light as it passes through it.
Scattering
Scattering
Coefficient Chooses the phase function used for the scattering.
Spectrum

Phase Function
The phase function controls in which direction light is scattered, when a scattering event occurs.
Uniform

Takes no parameters

Henyey
Greenstein

The Henyey-Greenstein phase function can be forwards or backwards scattering, depending on


the 'g' parameter.

Dermis
Hemoglobin Fraction Controls the amount of hemoglobin present. Typical range: 0.001 0.1

95

Indigo Renderer Manual

Epidermis
Medium for simulating the outer layer of skin.
Melanin Fraction

Typical range: 0 0.5

Melanin Type Blend Controls the amount of eumelanin relative to pheomelanim in the tissue. Typical range: 0 1

96

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS

Material Database
The online material database is located at http://www.indigorenderer.com/materials/
There you are able to browse and download any of the user uploaded materials, and upload your own.
Please note that you cannot upload textures that you do not have the right to redistribute.

97

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS

Indigo Shader Language

A fully procedural material made by galinette.


ISL stands for Indigo Shader Language. It's a functional language that allows you to write shaders for every channel in
Indigo materials. With shaders you are not tied to the restrictions of textures any more: they are procedurally
computed for every point on the surface.

98

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > INDIGO SHADER LANGUAGE

Indigo Shader Language Beginner Tutorial


Indigo Shader Language Beginner Tutorial
This tutorial covers:
-Whats ISL? And why should I use it?
-Whats a functional language?
-How to define functions
-Which channel expects what function parameters an return value?
-What data-types are there?
-Functional, huh? Does that mean I have to use functions instead of operators?
-How to use a shader in a material?
-Going further

Whats ISL? And why should I use it?


ISL stands for Indigo Shader Language. Its a functional language that allows you to write shaders for every channel in
Indigo materials. With shaders you're not tied to the restrictions of textures anymore because the are procedurally
computed for every point on the surface (or in the volume, as of Indigo 2.4's ability to have volumetric shaders).

Whats a functional language?


In functional language there are only functions that are used to compute something, no variables no loops (unless you
write them as a function). By functions it means functions in the mathematical sense, it calculates something and
returns the result. Lets have a look at this shader function: def doSomething(vec3 pos) real: noise(fbm(pos * 3.0, 8))
This is a function called 'doSomething', it has one parameter, a vector called 'pos' and it returns a real value. It uses
two other functions, fbm() and noise().

Now whats happening here?


Like in a mathematical function you calculate the innermost parenthesis first. That means the vector 'pos' is multiplied
by 3.0, then passed to the fbm() function which calculates a value of the type 'real', which is then passed to the
function noise(), which calculates a 'real' value, which is the return value of the function 'def'. Pretty simple, isn't it?

How to define functions


Now, lets see how to define a function. A ISL function definition always starts with the keyword 'def', needs at least a
name and a return value type, and it can also have function parameters: def name(parameters) return_value_type:
[...actual function...] Although you can give your functions an any name you want the main function in a channel always
has to have the name 'eval'. Which takes us directly to the next topic: different channels expect different parameters
and return values!

99

Indigo Renderer Manual

Which channel expects what function parameters an return value?


There are three different channel types, wavelength dependent, wavelength independent and displacement.
Wavelength dependent expects a vec3 as a return value, wavelength independent expects a real and displacement
expects real and cannot use the position in world-space (vec3 pos) as a function parameter. Here's a table that
illustrates all that: C

Channel

Channel type

Eval function expected

Diffuse

Wavelength dependent

def eval(vec3 pos) vec3:

Emission

Wavelength dependent

def eval(vec3 pos) vec3:

Base Emission

Wavelength dependent

def eval(vec3 pos) vec3:

Specular Reflectivity

Wavelength dependent

def eval(vec3 pos) vec3:

Absorption Layer

Wavelength dependent

def eval(vec3 pos) vec3:

Exponent

Wavelength independent

def eval(vec3 pos) real:

Sigma

Wavelength independent

def eval(vec3 pos) real:

Bump

Displacement

def eval() real:

Displacement

Displacement

def eval() real:

Blend

Displacement

def eval() real:

What data-types are there?


First of all, its very important to know that ISL does not convert values implicitly, so if a function expects an integer,
you have to make sure you give pass an integer value instead of a real.

real floating point number


A real value always has to be written as a floating point number, for example 214.0.

int whole numbers


100

Indigo Renderer Manual

Only whole numbers, like 20 or -1545.

vec3 3 component vector


There are two constructors for a vec3, vec3(real x) and vec3(real x, real y, real z). The first one applies the
number passed to any of the 3 components and the second one sets each component separately. You can
access the three components separately with the functions doti(), dotj() and dotk().

vec2 2 component vector


Like vec3, only just 2 components.

bool
A boolean value, true or false.

mat2x2 and mat3x3


2x2 and 3x3 matrix, I'm not going to talk about these right now.

Functional, huh? Does that mean I have to use functions instead of operators?
No, you don't have to use functions as operators, but you can, if you like to, are a hardcore mofo or just a little insane
:) Operators are available for multiplication, division, addition and subtraction (*, /, + and -, would you believe it?) for
every data-type that supports them, but the order of operands is important sometimes, for example: 0.333 * vec3(5.2)
will not work since it expects the vec3 first. Vec3(5.2) * 0.333 works. The equivalent functions are called mul(), div(),
add() and sub().

How to use a shader in a material?


Your exporter most likely has an option to use ISL shaders, also, you can use ISL in the Indigo Material Editor it
allows you to use ISL shaders. And if you're hardcore, you can edit the .igs file generated by you exporter and insert
your shaders manually, here's how you do it: Open the .igs file and look for a material. I'll just assume we found a
phong material:
<material>
<name>phong_mat</name>
<phong>
<ior>1.466</ior>
<exponent>
<constant>800</constant>

101

Indigo Renderer Manual


</exponent>
<diffuse_albedo>
<constant>
<rgb>
<rgb>0.588235 0.588235 0.588235</rgb>
<gamma>2.2</gamma>
</rgb>
</constant>
</diffuse_albedo>
</phong>
</material>

What you have to do is, is to replace the <constant>...</constant> XML elements (and anything in between) in the
diffuse_albedo channel with this:
<shader>
<shader>
<![CDATA[

#paste your shader in here, oh by the way: every line starting with # is a comment

)]]>
</shader>

</shader>

Then paste your shader in between '<![CDATA[' and ')]]>'.

Going further
For a complete list of all available functions, have a look at the ISL section in the 'Indigo Technical Reference.pdf' and
the 'ISL_stdlib.txt' in the Indigo folder. Also, more ISL tutorials are coming!

102

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MATERIALS > INDIGO SHADER LANGUAGE

Indigo Shader Language Tutorial


ISL stands for Indigo Shader Language, the language for creating procedural materials in Indigo. Since it's a
functional language, it can be a bit tricky to create some patterns that are easy enough in an imperative language.
For example, lets say you want to write a shader to make a polka-dot pattern. In an imperative language you might
write some code like
def fillWithColour(background_colour):
for(int x=0; x<W; ++x) {
for(int y=0; y<H; ++y) {
drawDot(x, y, dot_colour);
}
}

But in ISL, you can't do things this way. You have to write a function that returns the colour, and that depends only on
the position and/or UV-coordinates of the current surface point being shaded, e, g:
def getColourForPoint(u, v):
if( the point (u, v) is inside a dot ){
return dot_colour
} else {
return background_colour
}

This tutorial shows you how to use such a functional technique to create regularly repeating patterns, like polka-dots,
with ISL.
Lets start by discussing the fract function.
As described in the Indigo Renderer Manual, fract takes a single real number, and returns a real number:

fract(x) = x - floor(x)

The useful thing about this function, is that it repeats regularly across the real number line, with period 1. We can use
this function to create more complicated behaviour.

So lets say we want to create some stripes, such that they alternate in the U direction of the UV coordinates.
Suppose we have a foreground and background colour.

Using the fract function above, we can can assign the foreground colour when fract(x) < C, and the background colour
when fract(x) >= C, where C is some constant between 0 and 1. If C is 0.5, the stripes will have the same width as the
background stripes.

Let's see how that looks in real ISL:


<material>
<name>previewmaterial</name>
<diffuse>
<albedo>
<shader><shader><![CDATA[
def eval(vec3 pos) vec3 :
if(
fract(doti(getTexCoords(0))) < 0.5,
vec3(0.9, 0.0, 0.0), # Red
vec3(0.2, 0.2, 0.2) # Dark Grey

103

Indigo Renderer Manual


)
]]></shader></shader>
</albedo>
</diffuse>
</material>

And the resulting render:

The shader with fract(x), so slowly repeating stripes.


In this example the foreground colour is red, and the background colour is dark grey. This example looks a bit wierd
because the stripes are large compared to the model. We can solve this problem by multiplying the UV coordinates
by a number greater than one before we pass the value to fract, e.g we could use something like fract(10 * x)
The ISL is then:
def eval(vec3 pos) vec3 :
if(
fract(doti(getTexCoords(0)) * 10.0) < 0.5,
vec3(0.9, 0.0, 0.0), # Red
vec3(0.2, 0.2, 0.2) # Dark Grey
)

And the resulting render is:

104

Indigo Renderer Manual

The shader with fract(10 * x) so more repeating stripes.


So, at this point in the tutorial, we have more-or-less solved the problem of how to create regularly-repeating patterns,
at least with respect to the U coordinate (e.g. in one direction).

105

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

IES Lights

If an IES profile is selected, the distribution of emitted light is specified by the information in the IES profile. This is an
easy way to get realistic emission profiles for a given light fixture, without creating a detailed model of the fixture.
Please note that only IES files with vertical angles below 90 degrees are currently supported.
See also the IES tutorial in the Techniques section of this manual.
Some freely available IES profiles are available to download from http://www.indigorenderer.com/dist/ies-profiles.zip

106

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Mesh Settings

107

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MESH SETTINGS

Instancing
Instancing is a way to replicate scene geometry or meshes without using much additional memory - each instanced
object shares the original mesh data, however the material and placement in the scene can be different.
This is useful in many situations where there are multiple copies of the same mesh data (such as chairs around a
table, or trees in a forest) to reduce the memory usage required for detailing an environment.
An excellent example is given below by forum user Godzilla:

Image by Godzilla

108

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO > MESH SETTINGS

Subdivision

Subdivison off

Subdivison On
Subdivision divides each triangle in the mesh into 4 new triangles, with each subdivision level increasing the number
of triangles exponentially. Therefore a large mesh of, say, 1 million triangles becomes 4 million triangles when
subdivided only once. When subdivided twice it becomes 16 million triangles, and when subdivided three times it
becomes 64 million triangles.
Below are available settings:
View Dependent Subdivide only meshes visible by the camera
Max Subdivisions How many times to subdivide the mesh. Polycount becomes exponentially larger with each
subdivision level.
Curvature
Threshold

Triangles will not be subdivided if their curvature is smaller than this threshold.

Pixel Threshold

Triangles will not be subdivided if they are smaller than this pixel threshold.

109

Indigo Renderer Manual


INDIGO MANUAL > RENDERING WITH INDIGO

Light Layers
Light layers allow you to separate contributions from different lights onto different "layers". Each layer can then be
manipulated separately, even after the render has completed.
You can change the brightness of each layer, or change the overall colour of each layer, or even turn each layer off
completely.

Enabling Light Layers


By default, all lights in an Indigo scene are assigned to Layer 0. This means that the HDR image will have only one
layer Layer 0. However, in the exporter for your 3D modelling program, you can change the layer that a light is
assigned to. All contributions from that light will then be rendered onto that layer.
Each layer has a number of controls that you can manipulate in the Indigo GUI; please see the corresponding section
in the Indigo interface section.

110

Indigo Renderer Manual


INDIGO MANUAL

Indigo for SketchUp

111

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

Installation
1.

Check your version of SketchUp


SkIndigo is compatible with release version 6, 7 and 8 of SketchUp (free or Pro), and works on both PC and
Mac. You can download the latest release of SketchUp from:
http://sketchup.google.com/

2.

Download and install Indigo


Download Indigo for your system and install Indigo to the default location on your system.
http://www.indigorenderer.com/download/

3.

Download and install SkIndigo


On Windows, the Indigo installer comes bundled with the latest version of SkIndigo, the installer for which should
launch from the main Indigo installer.
Mac and Linux users must download and install it manually (since there is no installer for those platforms); the
latest version of SkIndigo can be downloaded from http://www.indigorenderer.com/documentation/sketchup
The installers will look for a Plugins directory in all known locations for SketchUp. SkIndigo expects to find
SketchUp at these locations:

Windows C:\Program Files\Google\Google SketchUp 7\


Mac

/Applications/Google SketchUp 7

Note: SkIndigo on Mac will only work on SketchUp versions 7 or above.


If you have any issues installing SkIndigo, please email us at [email protected].
Restart SketchUp after installing SkIndigo and you should see see SkIndigo become available under the Plugins
menu.

The SkIndigo Plugins menu


You are now ready to use SkIndigo.

112

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

The Plugins Menu


The Plugins Menu is the primary place to access SkIndigo functionality, open dialogues and start rendering.

Render
Scene

This exports the scene to an Indigo Scene File and launches Indigo to start Rendering.

Export
Scene
as...

Exports the current scene as an Indigo Scene File and prompts you to choose a location to save to on
your computer. This is handy if you want to send a scene file to someone else, or upload it to a renderfarm.

Export
Exports an animation generated by Sketch Replay. You should get the latest version of
Sketchy
SketchyPhysics (a plugin by Chris Phillips) to use this feature. For every object that you wish to
Replay
animate, you must right click and 'Enable Instancing' for that Group or Component.
Animation
Export
Scene
Tab
Animation

Exports each scene tab as a separate frame in an animation. Creates Indigo Scene files for every
frame and saves a batch file that progresses through them. Must have Halt (Render settings >
Advanced) set to stop the rendering frame after a certain amount of seconds, or samples per pixel has
been reached.

Render
Settings

Opens the Render Settings window for configuring the Indigo export.

Material
Editor

Opens the Material Editor window for creating and modifying Indigo materials inside SketchUp.

Query
Material
Types

Pops up a dialogue with all of the Indigo Materials in the current scene and the types of each material.
Also useful for checking which material are emitters.

Set Light
Layer
Names

Specify names for the Light Layers. Useful for later reference.

Set Indigo If SkIndigo does not find Indigo in the default folder, then you can specify its location here.
Path

113

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

Toolbar
After SkIndigo has been installed, a small toolbar is added to the SketchUp user interface for easy access to
commonly used export functionality from the menu, in addtion to a "Quick Export" button:

Quick
Export:

Use this option after you have finished modelling and applying materials to your model. You must have
exported your scene at least once before you can use this option. This option will not re-export your
meshes, thus making the export process faster.
For example, if you have only changed your render settings or material settings since you last rendered,
you can use the "Quick Export" option to benefit from a faster update to the already exported scene.

114

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

Right-Click Menu
SkIndigo adds some features to the context-sensitive right-click menu in SketchUp.

115

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > RIGHT-CLICK MENU

Instancing
also Instancing is a feature which allows many instances (or copies) of a mesh to be represented in the scene, while
only actually storing the mesh once (thereby saving a lot of memory compared to straight-forward duplication).
There are two ways this can be achieved in SkIndigo:
1.

Proxy Instancing
A proxy is a reference object that references a more complex object with a usually simpler copy, in order to
keep the overall scene geometry low, while allowing the render geometry to stay high.
1. Create the object you wish to copy, create a component out of it and name it objectname
2. Create a new object to use as a proxy (a cube will do) and create a component out of it named
objectname_dummy. It is important that it has the name of the original component followed by _dummy
3. Copy and manipulate these dummies around the scene and on render they will be replaced by the
original component.

116

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > RIGHT-CLICK MENU

UV Mapping
UV mapping is the process of modifying the texture map to fit the model. SkIndigo supports 4 UV maps per mesh
face, which means you can have a the texture map aligned one way, the bump a different way, and the clip map
another way on every surface in your scene.

SketchUp has a basic UV positioning function that is used to manipulate the textures. It is also very important that the
faces are facing the correct direction, if the UV mapping function is not listed in the Right-click SkIndigo menu, then
try reversing the faces.
1.
2.
3.
4.
5.
6.

Here is an example run-through on how to set a textured object with a differently positioned bump map
Set the desired bump map as the albedo for positioning purposes.
Set the bump map position with the SketchUp tools (Rightclick > Texture > Position)
Rightclick > SkIndigo UV Mapping > Save UVs to set 2
Change the albedo to the actual albedo and the the bump to the bump.
Position the Albedo with the texture tools and save it as UV set 1.

Selecting the UV set in the texture editor


7. In the SkIndigo Material editor, open the Texture Editor for the albedo and change the UV Set to 1. Set the
bump map's UV Set to 2.
8. Now it will use different texture positions for the albedo and bump map. Render to test.

117

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

Material Editor
This is where you can add the unique Indigo material settings to your objects so they behave realistically. You can find
it via: Plugins -> SkIndigo Material Editor. See Indigo Materials for full information.

To work with an Indigo material, simply open up the SkIndigo Material Editor and apply any SketchUp material to an
object. The painted material will be selected in the SkIndigo Material Editor. There are other ways to select a material
for the SkIndigo Material Editor:
Use "pick" from the SkIndigo Material Editor
Select a face and in the right-click context-menu select the name of the material
1.

List of Materials
Here is where all the textures applied in your SketchUp scene are listed, choose the desired one to start
creating a material out of it.

2.

Main Menu
Import

Import a Indigo Material (.IGM). Use to bring in materials from the Material Editor.

Export Export this material as an IGM or PIGM file which can be opened in the Indigo Material Editor or
uploaded to the Indigo Material Database.
This switches between the simple mode of SkIndigo, and the normal mode (See above). The simple

118

Indigo Renderer Manual


UI

view takes your settings and converts them as best as it can to normal settings. Normal mode is
recommended. It is well worth your time to learn the Indigo Material Types as it allows you full control.

Search Search the online database and download materials


Pick
3.

Use a picker tool to select materials

Preview Pane
Shows the current material, the Preview function replaces this with a rendered scene with the material placed
on the chosen model (to the right). Make sure you stop the preview when you are finished previewing the
material as this can greatly slow down your computer.

4.

Material Type
Select the Material Types from this drop-down list. Each has its own attributes that are listed below. Assign
Preset: Choose a preset material from the list provided. This will replace any of the current material settings.
See Material Types.

5.

Material Attributes
Here is where the material attributes live. They allow you to add more details to your material. The list will
change depending on the Material Type selected. See Material Attributes.

1.

List of Material Attributes

2.

Map
Where the information is sourced from. Depending on which map type is selected, the "..." on the right will
open different editors.
Constant A constant value.
SketchUp Use the SketchUp texture or color.

3.

Texture

Use an external (non-SketchUp) texture map.

Shader

Define a material using the Indigo Shader Language (ISL)

Values
Changes the common value of this attribute. Usually a multiplier.

4.

Map Editor
There are several editors that will open depending on the map set.

SkIndigo Texture Editor

119

Indigo Renderer Manual

Position Map: First, select any number of faces in your model. Clicking this button will apply this
texture to the selected faces so you can then position the texture using the SketchUp texture
positioning tools. Once you have positioned the texture, you can save the UV set using the rightclick context menu. Be sure to paint the desired material back to the selected faces before
rendering.
See Texture Maps
6.

Emitter Attributes
See Base Emission and Emission

7.

Media Attributes
See Internal Medium

8.

Mesh Subdivision
See Subdivision

120

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

Render Settings
The Render Settings Window configures the scene for export to Indigo.
Find it at Plugins > SkIndigo > Render Settings

Apply to model Apply the settings to the current scene.


Apply to Scene When you select the scene, the settings will be loaded and used for rendering.
Reset Camera Resets any changes to the camera.
Save Defaults
1.

Saves all current render settings as default starting settings.

Output
Configures the width and height of the render to be created. Keep in mind that the free
Image
version of Indigo can only render images up to 1000x700 pixels in size; you will need to order
Dimensions
a licence to use higher resolutions.
Region
Rendering

Region rendering allows you to render only a small part of the scene. This is similar to moving
the camera, but is useful when you need to focus the render on a part of the full image.

Save to .IGI Saves an IGI file for reach rendered scene. On by default.
Custom
Image
Name

Enable this to use a custom name for the PNG image that is automatically saved when
rendering.

Watermark

Enable this to add the Indigo logo to the rendered image. The free version of Indigo will
always do this, regardless of this setting.

Image
Name

To use this image name, the Custom Image Name checkbox must be checked.

Image Path Renders will be auto-saved to this directory.


Thumbnail
Path

Material preview images will be saved to this directory.

Auto-Save

121

Indigo Renderer Manual


Auto-Save
Period
2.

Enter the time interval in seconds that the rendered image will be saved.

Camera
See Camera

3.

Tonemapping
See Tonemapping

4.

Environment
See Environment

5.

Advanced
See Indigo Render Settings

122

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

SkIndigo Tutorial
This tutorial goes over generating a simple scene and lighting it a few different ways. The scene will be a typical
German apartment with white walls, wood flooring and some furniture from Ikea. We won't be modelling the garage
with an Audi, dog called Schatzi and traditional lederhosen.
This tutorial was done for SketchUp 7 free version, your SketchUp may look slightly different. A basic level of
knowledge of using SketchUp is required.

123

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > SKINDIGO TUTORIAL

Step 1. Create the Basic Room


First up we will model the room. Start by drawing a rectangle on the ground and another rectangle just inside it. Your
rectangle should be 12 metres by 12 metres, look at the dimensions box in the bottom right of your window to see the
size as you drag the box out.

The ground plan of our room


Next, use the push/pull tool to make the walls 4 metres high. We won't put a roof on the box just yet so that we can see
inside it. Next step is to put a big floor-to-ceiling window at the front of our box. Use the rectangle tool to draw a
rectangle on the front of the box, then use the push / pool tool to push the new rectangle inwards until the wall is paper
thin.

Our room with a paper thin front wall.


Now click on the paper thin wall and delete it. Don't delete the line at the top of your room, we'll need that in a second.
Now press Plugins Skindigo Render and you will get a render like this:

Bryce standing outside his new house

124

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > SKINDIGO TUTORIAL

Step 2. Add window and roof


For the next step, we will add a roof and a window and set a wooden texture on the floor and a glass window. Start by
using the rectangle tool to enclose the roof. Then draw a rectangle on the wall of the left hand side and use the push /
pull tool to push the rectangle through to the inside. Delete the paper thin wall that is left and you should have a
window hole like so:

Our box room with a window and a roof.


As a final step, use the Move tool to put Bryce somewhere side your house.

125

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > SKINDIGO TUTORIAL

Step 3. Paint a wood texture on the floor


Next, press the Paint Bucket tool and the SketchUp materials dialog will open. Select wood from the selection box:

Now choose wood_floor_light as a texture. Then click on the floor. Your floor will now be textured. Zoom in the camera
a little and hit render your house should look like this:

Bryce in his new house with a roof, window and a floor.


Now right click on the floor and select Texture Position. Rotate the wood texture 90. You can also scale the wood
texture if you want.

126

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > SKINDIGO TUTORIAL

Step 4. Add some carpet


Carpet is a tricky thing to model because it has so many individual fibres. The best way of creating a carpet in
SkIndigo is to use what is called a displacement map.
Start by drawing a rectangle on the floor and using push/pull to make it into a box of 3cm height. Then use the select
tool Edit Make Group.
When we add a displacement map, it will make our 'carpet box' very bumpy, which means the edges of the box won't
line up. To prevent gaps appearing, right click on the carpet and select Soften / Smooth Edges, choose a value of 90'
between normals and press enter.

Our carpet box ready to texture map.


Now using the paintbrush tool, select the Carpets and Textiles set and the Carpet_Plush_Charcoal texture. Apply it to
the carpet box. Right click on the carpet box and choose SkIndigo Edit [Carpet_Plush_Charcoal].The SkIndigo
Material Editor will open:
SketchUp material editor
Note that the Albedo channel (which means the color of the material) is already set to the SketchUp carpet texture.
Now, change the displacement map to 'SketchUp' which will tell SkIndigo to use the current SketchUp texture as the
displacement map. Then change the value to 0.05 which will give a maximum displacement of 0.05 meters where the
map pixel value is pure white. Be sure to enable displacement mapping by clicking on the checkbox.
Press Plugins Skindigo Render Scene, you may note that the carpet looks all triangulated and bumpy. You may
need to increase the 'detail' of the carpet by adding more subdivisions . Back in the SkIndigo Material Editor, under
Mesh Subdivision, increase Max Subdivions to at least 9. Also, uncheck the box for 'View Dependent'. This setting
will decrease the amount of subdivision for geometry that is farther away from the camera.
Render the scene again.

Bryce admires his nice grey carpet

127

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > SKINDIGO TUTORIAL

Step 5. Add a chair and lamp


Use Windows Components menu to show the components window. Search for Barcelona chair and insert one into
the scene. Then search for Kare 5701 (a lamp) and insert it into the scene too.

Scene with a lamp and chair added.


Double click on the lamp to edit it then in the Material Window click New Material to create a new material. Name
this material 'Chrome' and apply it to all of the surfaces of the lamp (Use
SkIndigo Edit [Chrome]. We will use an external Indigo material on the lamp. Load the following URL in your web
browser:
http://indigorenderer.com/materials/materials/55
Browse to the Brushed_Metal.pigm file you just downloaded and select it. Now render the scene it should look like
this:

Lamp has a shiny material applied.

128

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > SKINDIGO TUTORIAL

Step 6. Adding nightime lighting


Now we will try adding a lightbulb inside the lamp and taking a night scene. Start by turning off the sun by going to
Plugins SkIndigo Render Settings, then Environment. Select SketchUp background color and make sure Black
is selected like so:

Now we need to add a light inside the lamp. Double click the lamp to edit it, then look inside the lampshade and
create or select the lighbulb inside it (your lamp may look slightly different, you may have to create the lightbulb
yourself).
Create a new material called Light-Bulb.

Lightbulb with a yellow LightBulb material applied to it.


Right click on the bulb SkIndigo Edit [LightBulb] material, then click 'Assign Preset' and scroll down to the bottom
of the list of preset materials. Select the 100W incandescent bulb and close the 'presets' window. You can change the
power of the bulb under the 'emissions' section of the SkIndigo Material Editor.

129

Indigo Renderer Manual

Physically correct lighting, this is how a 50 Watt bulb would look.

130

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > SKINDIGO TUTORIAL

Step 7. Finetuning
The trick to getting really realistic renders from SketchUp + Indigo is to spend time tweaking your materials until they
look just right. In this example I have used models from the Google Warehouse that are relatively low in polygon count,
so don't look ultra realistic, but by carefully editing the materials used on the models you can make the scene look
better and better.
One of the advantages of Indigo is that if you set a 100 Watt lightbulb in a lamp, you can see how the light will fall off
around the room, useful for doing lighting analysis will you need more light fittings in the corner of the room?
To increase the realism of this scene, you could:
Increase the Mesh Subdivision of the carpet to 10. This will make the carpet seem finer grained and more
'fluffy'.
Reduce the 'exponent' of the chrome material to make the floor lamp less reflective.
Use the 'material type' drop-down to change the floor material to a 'phong' material. Phong materials are 'shiny'
materials, and this will make the floor look more like a lacquer.
Add a bump map to the floor material, of height 0.1 centimetres, to simulate the grain of the wood.
As you can see there are many options that you can tweak to get the best possible results out of Indigo.
Creating ultra realistic scenes that look like something from the real world is usually achieved by recreating all of the
models in the scene with accurate geometry, and then spending 30-40% of your time modifying materials in the
scene to ensure that they are as realistic as you would like them to be.
We hope you have enjoyed this brief introduction to SkIndigo.

131

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

Materials

132

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > MATERIALS

Texture Scaling
Often you will need to change how rapidly a texture or material is repeated over a surface. This is referred to as
texture scaling, or sometimes as UV-scaling.
Suppose you have a material where the texture is too 'stretched-out'.

We can fix this by changing the texture scaling.


In SketchUp, show the material dialog with Window -> Materials.
Select the material you wish to scale with the picker tool. In our case we will select the wood material on the ground

133

Indigo Renderer Manual


object.

Click on the 'Edit' tab.


In the 'Texture' section, change the horizontal width to a smaller value, such as 0.3 m.

The texture should now repeat more rapidly over the surface, in SketchUp and in Indigo as well, when the scene is
exported again.

134

Indigo Renderer Manual

Procedural Materials
The same technique can be used for procedural materials, which may not use a texture map. In this case, you can
use a 'dummy' texture, by clicking 'Use texture image' in the Materials edit tab, and then selecting a dummy texture.
The dummy texture will be displayed in the SketchUp viewport, but will not affect the Indigo render.

135

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

SkIndigo on Windows Tutorial


This tutorial will cover getting Indigo running with SketchUp on your computer. We will use the SkIndigo exporter for
SketchUp, that is used to export scenes to Indigo.
This tutorial is for Windows users.
If you have not purchased an Indigo licence, you can still follow this tutorial. Indigo will run in trial mode, which will
apply some watermarks to Indigo renders.

Step 1: Install Sketchup 8


If you already have Sketchup installed, you can skip this step.
Download and install SketchUp 8 from here: http://sketchup.google.com/intl/en/download/index.html

Step 2: Download Indigo Renderer


From the page http://www.indigorenderer.com/download-indigo-renderer ,
download the latest version of Indigo Renderer for Windows.
If you have a 32-bit operating system, or you are not sure, download Indigo Renderer for Windows 32-bit.
If you have a 64-bit operating system, download Indigo Renderer for Windows 64-bit.

Step 3: Install Indigo Renderer


Once you have downloaded the Indigo installer program in step 2, run the installer program.
If the installer asks you 'Do you want to allow the following program to make changes to this computer', select 'yes'.
Then accept the licence agreement.
On the 'Choose components' page, leave all components selected, and press 'Next >'
On the 'Choose Install location' page, leave the Destination Folder as it is, and press 'Install'
Press 'Finish'.
Indigo will open, close it.

Step 4: Install SkIndigo


Find and download the latest SkIndigo for Indigo 3.0 Installer for Windows, from the SkIndigo page:
http://www.indigorenderer.com/sketchup

136

Indigo Renderer Manual

Once the installer is downloaded, run it.


If the installer asks you 'Do you want to allow the following program to make changes to this computer', select 'yes'.
Leave the default Destination folder as it is: the SkIndigo installer should have found your SketchUp path, and so the
destination folder should be something like 'C:\Program Files (x86)\Google\Google SketchUp 8\Plugins'.
Press 'Install'.
The Installer should then run, and show the 'Completed' page. Press 'Close' to close the installer.
SkIndigo should now be successfully installed and integrated into SketchUp.

Step 5: Open Sketchup


You should now see the new SkIndigo tool bar:

Step 5: Render with Indigo


Press the 'Render with Indigo' button in the SkIndigo tool bar:

137

Indigo Renderer Manual

If everything has been installed successfully, Indigo should launch, and start rendering the default scene immediately:

138

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP

Tutorials

139

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > TUTORIALS

Using exit portals in SketchUp


Introduction
Exit portals (often abbreviated as EP) are a way for artists to assist the rendering engine in difficult lighting situations,
by specifying a "portal" through which light will travel. These are very useful for interior renders, where there is a
relatively small opening letting in a lot of light (such as a window) that is not easily accessed - in such scenes, there is
often a dramatic increase in convergence speed (since light-carrying paths are much more easily constructed).
In the example below both images rendered for 5 minutes, the only difference being the presence or absence of exit
portals (click to enlarge):

Requirements and limitations


This tutorial was written for SkIndigo version 3.2.8 or newer; if you're using an older version of SkIndigo simply reinstalling the latest version of Indigo from our announcements forum will update it to the latest version (since version
3.2 it comes bundled with the latest SkIndigo installer).
There are several requirements for exit portals to work effectively:
All openings through which light can "escape" (directly to the background or environment) must be covered with
exit portals.
The exit portal normals must point inwards.
Bi-directional path tracing mode must be used.
Glass acceleration cannot be used.
Finally, note that nothing gets rendered behind an exit portal: when a light ray strikes the portal it is assumed to
immediately "exit" or escape to the background / environment, without considering any other objects in the scene.

Modelling with exit portals


We now show how to convert a simply modelled room with an opening into a scene using exit portals in SketchUp.
The scene below shows an interior space, illuminated only by two openings which allow sunlight in:

140

Indigo Renderer Manual

Next we create quads to cover the openings, corner to corner. There should be no gaps, and to really make sure this
is the case it could be made slightly bigger than the opening and fitted inside to slightly intersect the surrounding
geometry.
The next step is crucial to stop these quads being part of the surrounding geometry (and therefore sharing its material
settings): select the quads to become exit portals, right click on them, and make them a group. You should see them
marked as a blue group:

141

Indigo Renderer Manual

To convert the quads into exit portals, we enter each group with a double click, then we right click and select the "Edit
Active Mesh" option from the SkIndigo section:

In the Edit Active Mesh, enable the "Exit Portal" checkbox:

142

Indigo Renderer Manual

With the exit portal created, we can now export to Indigo and enjoy the much faster convergence.
If Indigo reports an error such as "Error: Scene parsing error: Model (UID 42) has a different number of materials than
geometry material references", it means that the exit portal quad was merged with the surrounding objects. This won't
work because we need only the quad to be flagged as an exit portal.
Thanks to Filippo Scarso / Pibuz for the example scene and helpful suggestions.

143

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR SKETCHUP > TUTORIALS

Using the material database in SketchUp


This tutorial will cover how to download and use materials from the online material database using the SkIndigo
exporter for SketchUp.
The Indigo Material Database can be found at http://www.indigorenderer.com/materials/

144

Indigo Renderer Manual

145

Indigo Renderer Manual

146

Indigo Renderer Manual


INDIGO MANUAL

Indigo for Blender

147

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER

Blendigo on Windows Tutorial


This tutorial will cover getting Indigo running with Blendigo on your computer. We will use the Blendigo exporter for
Blender, that is used to export scenes to Indigo.
This tutorial is for Windows users.
If you have not purchased an Indigo licence, you can still follow this tutorial. Indigo will run in trial mode, which will
apply some watermarks to Indigo renders.

Step 1: Install Blender 2.58 or newer


If you already have Blender 2.58 or newer, you can skip this step.
Download and install Blender 2.58 or newer from here: http://www.blender.org/download/get-blender/

Step 2: Download Indigo Renderer


From the page http://www.indigorenderer.com/download-indigo-renderer ,
download the latest version of Indigo Renderer for Windows.
If you have a 32-bit operating system, or you are not sure, download Indigo Renderer for Windows 32-bit.
If you have a 64-bit operating system, download Indigo Renderer for Windows 64-bit.

Step 3: Install Indigo Renderer


Once you have downloaded the Indigo installer program in step 2, run the installer program.
If the installer asks you 'Do you want to allow the following program to make changes to this computer', select 'yes'.
Then accept the licence agreement.
On the 'Choose components' page, leave all components selected, and press 'Next >'
On the 'Choose Install location' page, leave the Destination Folder as it is, and press 'Install'
Press 'Finish'.
Indigo will open, close it.

Step 4: Download Blendigo


Visit the Blendigo page, and then click on the link to download the latest version compatible with Indigo 3.0 and RT.

148

Indigo Renderer Manual

There should be a link to a zip file in the forum post, similar to 'blendigo-2.5-3.0.10.1.zip'.
Download this zip file.

Step 5: Install Blendigo


Once you have downloaded the Blendigo zip, double click on it, then on the 'blendigo-2.5-3.0.10.1' folder, then on
'sources'.
Then right click on the 'indigo' folder and select copy.

We now need to paste this folder into the Blender 'addons' folder.
This will be inside wherever you installed Blender. The default location will be something like:
C:\Program Files\Blender Foundation\Blender\2.58\scripts\addons
Paste the indigo folder into the addons folder:

149

Indigo Renderer Manual

If Windows pops up a dialog saying 'You will need to provide administrator permission to copy this folder', press
'Continue'.
The Indigo folder should now be in the addons folder:

Step 6: Enable plugin in Blender


Select 'User Preferences' in the editor type selector:

150

Indigo Renderer Manual


Then select the 'Render' category:

Then make sure the check-box on the right of the 'Render: Blendigo' box is ticked:

Select 'Info' in the editor type selector:

Now set the render engine to Indigo:

151

Indigo Renderer Manual

You should now be able to render scenes with Indigo by pressing F12.

152

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER

Installation
1.

Getting the latest version of Blendigo


The Indigo installer comes bundled with the latest version of Blendigo, however it can also be downloaded
stand-alone from our Blender sub-forum, where it will be near the top of the top of the listed topics.
If you choose to use the stand-alone Blendigo installer, please note that you will still need to have the latest
version of Indigo installed. For this reason we suggest using the Indigo installer to install Blendigo.

2.

Ensuring the correct version of Blender is installed


Upon running the Blendigo installer, either from the main Indigo installer or the stand-alone installer, it will report
the required version of Blender in the title, for example "Blendigo 3.2.10 for Blender 2.62".
If this version is not installed, install the appropriate version of Blender from http://www.blender.org before
continuing.

3.

Completing the installation


After you've verified that you have the appropriate version of Blender installed, allow the Indigo or Blendigo
stand-alone installers to complete. If you're using the Indigo installer, ensure that the Blender exporter option
was selected and installed.
As mentioned above, you must have Indigo installed in addition to the Blendigo exporter in order to render with
Indigo from Blender. More detailed instruction for installing Indigo can be found here.
If the installer reports that it cannot find Blender on your system, either point it to your custom installation
location, or follow the instructions from Step 1 again and ensure you install to the default locations. If you
encounter further issues, please email us at [email protected].

4.

Configuring Blender to use the Blendigo add-on


Open Blender, and from the File menu select "User Preferences". We want to enable the Blendigo add-on, so
we select the "Render" filter from the list on the left near the bottom. Click the checkbox next to the "Render:
Blendigo" option; it should become highlighted.
The dialog should look similar to this:

153

Indigo Renderer Manual

Click "Save As Default" so you won't have to do this every time you'd like to use Indigo as a renderer for
Blender.
5.

Exporting a simple test scene


First we must set the current renderer to "Indigo" from the drop-down box at the top of the Blender window (the
default being "Blender Render"):

The final step is to add a light source to the scene; scenes without light sources do not render at all, because
they would come out completely black.
From the menu, select Add -> Lamp -> Sun. Now that the scene has a light source, we can hit F12 to launch the
export process and start rendering with Indigo.

154

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER

Interface
Blendigo's functionality is tightly integrated into Blender, so the Indigo camera settings are located in the normal
Blender camera options, the Indigo material settings are located in the normal Blender material options, etc.
For the most part these Indigo settings correspond exactly to those documented in the corresponding manual
section.

155

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER > INTERFACE

Camera Settings
The settings in this section correspond exactly to the normal Indigo camera settings, which should be referred to for
more information about the various options.

156

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER > INTERFACE

Environment Settings
The settings in this section correspond exactly to the normal Indigo environment settings, which should be referred to
for more information about the various options.

157

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER > INTERFACE

Material Editor
The materials setting page is used to configure the materials in the scene.
Blendigo will try and convert your Blender materials to Indigo materials as far as possible but you are recommend
to use Blendigo's material editor for more accuracy and control of your Indigo materials.

1.

Blender material
This is the name of the blender material you are editing. When you select a new object, the objects material will
be selected in Blendigo so just right click on an object in your scene to select it in Blendigo.
Reset Reset to the original Blender material
Export Export to an Indigo Material file (.IGM).
Copy

2.

Copies the currently set Indigo material so you can copy it to another Blender material.

Indigo Material
See Material Types

3.

Material Channels

158

Indigo Renderer Manual


See Material Attributes

159

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER > INTERFACE

Mesh Subdivision
To use it you need to have blendigo open, then select a mesh in your scene and enable subdivision. Indigo
subdivision works the same as the subsurf modifier available in Blender. It can be useful to use Indigo's built in
subdivision because the models in Blender can have a low polygon count that are faster to work with yet you still get
a high quality render.
Subdivision in Indigo can also helpful for getting smooth results on objects that have displacement mapping.
See Mesh Subdivision

160

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER > INTERFACE

Render Settings
Renderer settings are for controlling the inner workings of Indigo. Most Indigo users will not have to modify from the
default Blendigo settings.
See Render Settings, Render Mode

161

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER > INTERFACE

System Settings
System settings are for controlling the Indigo application. Most Indigo users will never have to modify from the default
Blendigo settings.
See Render Settings, Network Rendering

162

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR BLENDER > INTERFACE

Tone mapping
Tone mapping is the process whereby the high dynamic range (HDR) image internally stored by Indigo is converted
to a low dynamic range (LDR) image for display on a normal computer screen.
The settings in this section correspond exactly to the normal Indigo tone mapping settings, which should be referred
to for more information about the various options.

163

Indigo Renderer Manual


INDIGO MANUAL

Indigo for 3ds Max

164

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX

Export and Render Settings


This section will familiarise you with the Maxigo Export settings.
You can find this by navigating the top menu tab Maxigo > Export...

Environment
If you do not have any lights (emitters) or environment lights set, then it will ask you to enable sun/sky or Background
colour. If you choose to continue anyway Indigo will give an error.

No Lights Error
See Environment Settings

Camera Parameters
See Camera

Tone Mapping
See Tonemapping

Image Output
See Resuming a render, See Indigo Render Settings
Used for rendering animations
Time Output
Renderer Control Set for when the render to stop
Output Size

Resolution of render

Exporter Options Control which aspects of the scene to export. Can cause errors.

Render Parameters
See Indigo Render Settings

Region Rendering
This will allow you to render only a region of the current camera view.
You will have to set the view to Render Region in the Export Scene section to use the selected region for rendering.

Network Rendering
165

Indigo Renderer Manual


See Network Rendering

Randomize
Randomizes various material attributes on export.

Advanced
See See Indigo Render Settings

System
If Maxigo is having trouble finding Indigo, you can set the path here.

166

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX

IES Lights
Maxigo handles IES data the same way 3ds Max does, with the same workflow. See Emission
1. Select a Photometric light, and choose a Target light.

2. Select Photometric Web from the Light Distribution (Type)

3. Choose a Photometric File (.IES profile) under Distribution. An image will appear showing the selected IES
profile.

Because the Target Light does not have a material assigned, and therefore you cannot change the emission
controls, there are controls in the Target Light that you can change.

Settings
Intensity/Color/Attenuation: The presets do not work in Maxigo, but the Kelvin settings and filter colors do
change these to change the colour of the light.

Light Layers: To put this particular Target Light with the IES profile onto a light layer, add the Maxigo-IES Layer
modifer.

167

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX

Installation
1.

Ensure 3ds Max is installed correctly


Maxigo works with 3ds Max 9, and 3ds Max 2008 to 3ds Max 2012.

2.

Download and install Indigo


Download Indigo for your system here and install it to the default location.
Instructions for doing this can be found here.

3.

Download and install Maxigo


Download the version of Maxigo for your system from:
http://www.indigorenderer.com/documentation/3dsmax
Maxigo comes with an installer for Windows.
The installer will ask you which version of 3ds Max you would like to use with Maxigo.
If you are having problems with installing Maxigo, please email us at [email protected].
Restart 3ds Max after installing Maxigo and you should see a Maxigo button on the top menu bar.

Maxigo Menu
You are now ready to use Maxigo.

168

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX

Material Settings
The materials setting page is used to configure the materials in the scene.
To select an Indigo material, open the Material/Map Browser from either the Rendering menu or the 3ds Max
Material Editor. Select Indigo Main to start with.

169

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX > MATERIAL SETTINGS

Emitter Material
This is a available from the Material/Map Browser.
See Emission, Base Emission

170

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX > MATERIAL SETTINGS

Indigo Blend Material


This is a available from the Material/Map Browser.
See Blend

171

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX > MATERIAL SETTINGS

Indigo Main
This is a available from the Material/Map Browser.

1.

Indigo:Preview
Preview:

This will create a small render using Indigo and displaying it to the left. Cancel will stop the
preview rendering.

Low:

This is the priority setting. Keep it low to avoid system slowdowns.

Model:

Choose the model for the preview to render the material on.

Elements: These edit the scene that the preview renders in. Press the Indigo Icon to send the preview to the
external Indigo renderer for a larger preview.

2.

Quick Set Material


Import:

Use an external Indigo Material (.IGM) to replace the currently set material.

Link:

Create a link to an external .IGM without changing the currently set material settings. This will
override the current settings, however.

Online:

Use the online material database to select a material. This will download it and either replace the
current material, link to it, or just download it depending on what option you choose.

172

Indigo Renderer Manual


Presets..: Choose a preset that comes with Maxigo.

3.

Indigo: Shader Type


Specifies the type of Indigo material to create. Selecting different material types will change the list of options
below, some material types share the same channels as others.
Faceted: Turns off normal smoothing.
See Material Types

4.

Indigo: Maps
These allow you to control how certain aspects of the material channels cover a surface. The values scale the
image map.
See Material Attributes, Subdivision

173

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX

Maxigo Modifiers
There are several unique modifiers that Maxigo offer. You can find them in the Modify tab > Modifier List drop-down.
Displacement, ExitPortal, IES Layer are typical Indigo features, and Scatter is unique to Maxigo.

174

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX > MAXIGO MODIFIERS

Maxigo Scatter
Maxigo comes with a unique scatter feature that takes an object and scatters it over the surface of another. It uses
Indigo Instances so it uses a lot less memory than simply duplicating objects.
To use, apply this modifier to the object you wish to scatter, and press Pick.. to choose the surface to scatter onto.
Density:

The amount of scattered objects.

Seed:

Used to change to a different randomized set.

Clumps Count: Uses the density amount and creates clumps of this amount.
Radius:

The radius of the clumps.

A use of Maxigo scatter

175

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX > MAXIGO MODIFIERS

Maxigo-Displacement & Subdivision


Use to set a displacement map and/or set Indigo Subdivision.
See Subdivision, Displacement

176

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX > MAXIGO MODIFIERS

Maxigo-ExitPortal
See Exit Portals

177

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX > MAXIGO MODIFIERS

Maxigo-IES layer
Setting an IES profile does not allow you to set the light to a light-layer, use this modifier to do that.

178

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR 3DS MAX

Maxigo Tutorial
This tutorial will cover getting Indigo running with 3ds Max on your computer. We will use the Maxigo exporter for 3ds
Max, that is used to export scenes to Indigo.
If you have not purchased an Indigo licence, you can still follow this tutorial. Indigo will run in trial mode, which will
apply some watermarks to Indigo renders.

Step 1: Download and install Indigo Renderer


Download the latest version of Indigo Renderer for Windows here: http://www.indigorenderer.com/download-indigorenderer
If you have a 32-bit operating system, or you are not sure, download Indigo Renderer for Windows 32-bit.
If you have a 64-bit operating system, download Indigo Renderer for Windows 64-bit.
Run the installer, and if it asks "Do you want to allow the following program to make changes to this computer", select
"Yes".
Then accept the licence agreement.
On the "Choose components" page, leave all components selected, and press "Next".
On the "Choose Install location" page, leave the Destination Folder as it is, and press "Install".
Press "Finish".
Indigo will open, close it.

Step 2: Install Maxigo


Download and run the latest Maxigo installer here: http://www.indigorenderer.com/3dsmax
If the installer asks "Do you want to allow the following program to make changes to this computer", select "yes".
The Maxigo installer will ask you which version of 3ds Max you'd like to use with Indigo:

After selecting the 3ds Max version, the installer should automatically determine where it has been installed:

179

Indigo Renderer Manual

Press "Next"; the installer should run, and show the "Completed" page.
Maxigo should now be successfully installed and integrated into 3ds Max. You can confirm this by starting 3ds Max
and looking for the new "Maxigo" menu (usually after "MAXScript").

Step 3: Rendering with Indigo from 3ds Max


Start 3ds Max and open a scene, then from the Maxigo menu select "Export..." and you'll be presented with the
Maxigo settings dialog:

Click the "Export" button, and Maxigo should export the scene to a temporary Indigo Scene (.igs) file.
After this has completed (for simple scenes it should be nearly instant) it should launch Indigo Renderer and begin
rendering the scene.
Should Indigo Renderer fail to launch, you can navigate to the folder where the temporary scene file was created, and

180

Indigo Renderer Manual


double-click it to start rendering it manually. The location of the temporary scene file can be copied to the clipboard
from the Maxigo :: System section in the Maxigo settings dialog:

181

Indigo Renderer Manual


INDIGO MANUAL

Indigo for Cinema 4D

This manual is for Cindigo 3.2.9.1 or later.

182

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR CINEMA 4D

Installation
1.

Check your version of Cinema 4D


Cindigo is compatible with release 10 to 13 of Cinema 4D. There is a Mac version of Cindigo available for
release 10.5 to 13. There are both 32 and 64-bit versions of Cindigo available.

2.

Download and install Indigo


Download Indigo for your system and install it to the default location. Instructions for doing this are in the Indigo
Manual. You can download Indigo from:
http://www.indigorenderer.com/download/

3.

Download and install Cindigo


Download the version of Cindigo for your system from:
http://www.indigorenderer.com/cinema4d
Extract the downloaded archive to you Cinema 4D's "plugin" folder, for example:
Windows c:\Program Files (x86)\MAXON\Cinema 4D RXX\plugins
Mac

/Applications/MAXON/Cinema 4D\plugins

After extracting, your folder strcture should look like this (a Cindigo folder inside the plugins folder, that contains
all the cindigo files and folders):

If you have any issues installing Cindigo, please email us at [email protected]


4.

Restart Cinema 4D
After installing Cindigo should become available under the Plugins menu.

183

Indigo Renderer Manual

The Cindigo plugins menu.


You are now ready to use Cindigo.

184

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR CINEMA 4D

Installing Cindigo on Windows Tutorial


This tutorial will cover getting Indigo running with Cindigo(the Cinema 4D exporter) on your computer
This tutorial is for Windows users.
If you have not purchased an Indigo licence, you can still follow this tutorial. Indigo will run in trial mode, which will
apply some watermarks to Indigo renders.

Step 1: Download Indigo Renderer


From the page http://www.indigorenderer.com/download-indigo-renderer ,
download the latest version of Indigo Renderer for Windows.
If you have a 32-bit operating system, or you are not sure, download Indigo Renderer for Windows 32-bit.
If you have a 64-bit operating system, download Indigo Renderer for Windows 64-bit.

Step 2: Install Indigo Renderer


Once you have downloaded the Indigo installer program in step 2, run the installer program.
If the installer asks you 'Do you want to allow the following program to make changes to this computer', select 'yes'.
Then accept the licence agreement.
On the 'Choose components' page, leave all components selected, and press 'Next >'
On the 'Choose Install location' page, leave the Destination Folder as it is, and press 'Install'
Press 'Finish'.
Indigo will open, close it.

Step 3: Download Cindigo


Visit the Cindigo page, choose the correct download for your Cinema 4D version and download that zip file.

Step 4: Install Cindigo


Once you have downloaded the Cindigo zip, double click on it, then right click on the 'Cindigo X.X.X' folder and select
copy.

185

Indigo Renderer Manual

We now need to paste this folder into the Cinema 4D 'plugins' folder.
This will be inside wherever you installed Cinema 4D. The default location will be something like:
C:\Program Files\Maxon\Cinema4D RX\plugins
Paste the Cindigo folder into the plugins folder:

If Windows pops up a dialog saying 'You will need to provide administrator permission to copy this folder', press
'Continue'.
The Indigo folder should now be in the addons folder:

186

Indigo Renderer Manual

Step 5: Locate Indigo Plugin menu


Once installed you can find Cindigo in the "Plugins" menu inside Cinema 4d:

187

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR CINEMA 4D

Interface

188

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR CINEMA 4D > INTERFACE

Cindigo Tags
There are several special Cindigo tags you can add to you Cinema4D objects. These tags extend the functionality of
certain Cinema4D objects to include Indigo-specific functions. See the Indigo manual for more information.

Cindigo Tags
You can access this menu via: Object Manager menu > Tags > Cindigo

Indigo Camera Tag


Add this to a Cinema4D camera object to set Indigo specific settings. Use in conjunction with the Cinema4D's
camera settings such as focal length and aperture.
See Camera

Indigo Exit Portal Tag


See Exit Portals

Indigo Light Tag


Add this tag to the lights Omni lights, Area lights, or Spot lights to set Indigo specific light options. The options are the
same as adding emissions to a material. Because there are no point lights in Indigo, on export these special
Cinema4D entities are translated into a mesh and act exactly as if you made a light bulb mesh and applied an
emitting material to it.
See Emission, Base Emission

Indigo Subdivision Tag


See Subdivision

189

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR CINEMA 4D > INTERFACE

Material Settings
Here you can edit the attributes of an Indigo material. It can be found by selecting an Indigo material and looking in
the Attribute Manager, or double-clicking on the Indigo material.

To create a new Indigo material, navigate Material Manager > File > New Indigo Material.

Create new Indigo material

Material Types
See Material Types

Material Channels and Attributes


See Material Attributes

190

Indigo Renderer Manual

Extra Options
Texture Preview Size This changes the quality of the texture in the Cinema4D view-port, it does not affect the
rendered scene at all.
Shader Baking
resolution:

The resolution to bake a shader at on export.

Export Material

Export the material to be used externally.

Assignment

Any objects that have this material applied are listed here.

191

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR CINEMA 4D > INTERFACE

Plugins Menu
The Plugins Menu is mainly used to create Indigo objects, convert materials and start rendering.

Cindigo 2.2 Plugins Menu

Render with Indigo


This exports the current scene to be rendered with Indigo. This works identically to the Cinema 4D command, except
it exports using Indigo materials and launches Indigo to render the scene.

Import Material .igm/.pigm


This loads an .igm (Indigo Material) or .pigm (Packed Indigo Material) file from your computer and adds it to your
scene so it can be applied to an object.

Convert Materials
This will load all of the Cinema 4D materials and convert them automatically to Indigo materials. Cindigo will convert
all C4D materials automatically on export to Indigo, however using this function will give you more control over the
material settings.

Indigo Instance
Creates an instance that can be used to make multiple copies of an object in a memory-efficient and CPU-efficient
way. Indigo instances are faster to render than Cinema 4D instances (which aren't real instances but are copies).

Bake Material on Object


Cindigo bakes all C4D shaders to textures on export, but this feature allows you to bake unique 3D shaders to an
objects UV map. It works similar to C4Ds "bake on object" command. A decent UV map is required. To use this
function follow these steps:
Select the texture tag of a polygon object that has an Indigo material applied. Click Plugins > Cindigo > Bake
Material on Object.

192

Indigo Renderer Manual

Bake Material on Object dialog box


Select the channels you want to bake and specify an output path. Pixel Border adds a blank border to the output
texture file. Super Sample is an anti-aliasing technique.

Generate UVW Tag


C4D does not fully support UVW map generation for custom materials. This Cindigo function allows you to bypass
this limitation. Just select a texture tag with an Indigo material applied and click Plugins > Cindigo > Generate UVW
Tag.

193

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR CINEMA 4D > INTERFACE

Render Settings
The Indigo Render Settings let you control various aspects of how Indigo will render the scene.

Cindigo Render settings


Most of the settings used for your renders will be copied directly from the existing Cinema 4D render settings, e.g.
width and height come from the Output section of the Render Settings dialogue. However, there are some Indigo
specific render settings that can be accessed via:

R10 and R10.5: Render menu > Render settings > Effect... > Indigo Render.
R11 - R12: Render menu > Render settings > General > Set the Render Enigne to 'Indigo Renderer'.
R13: Select 'Indigo Renderer' from the 'Renderer' drop-down in the top left of the Render Settings window.
Note that you need to press the Effect... button on the Render Settings window to access the advanced Indigo
Settings. You do not need any other render pass, Indigo does it all.

Export Settings
See Indigo Render Settings

Environment
See Environment Settings

Render Settings
See Indigo Render Settings, Render Mode

Light Layer Names


194

Indigo Renderer Manual

See Light Layers

195

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR CINEMA 4D

Tutorial
This is a quick tutorial to get you familiar with Cindigo. A basic understanding of Cinema4D is required. The tutorial
file is included with the download.
1. After installing Indigo and Cindigo, open up Cinema4D and construct a simple scene. This scene has two
windows for light to shine in, and two spheres to test materials on.

2. To render the scene with Indigo, select Plugins > Cindigo > Render with Indigo from the menu, which will start
the standalone Indigo application. Notice it is very plain and noisy, there is no need to render it for more than a
few seconds as you can see right away that it needs work.

196

Indigo Renderer Manual

Quick render with Indigo


3. First, we will light it with the sun and sky model, which is the easiest and quickest way to add light. Add a C4D
Infinite Light and point it in the direction that you want the sun to face. The Z axis (blue) defines the direction of
the sun light.

The sun will come in through the window


4. Open up the Render Settings, and set Indigo as the renderer. If you are using C4D R10 or R10.5, you will need
to add Indigo as a Post Effect.
R10:

197

Indigo Renderer Manual

R11 - R12:

5. Go to the Environment tab and click-and-drag your Infinite Light tag into the Sun Direction. Turn on the 'Use
captured simulation' to use Indigo's pre-computed sky data.

6. Render again to see the effect of the sun light on the scene.

198

Indigo Renderer Manual

7. Now to add some materials to the scene. To Add a new material click: Material Manager > File > New Indigo
Material. Change the material type to 'Phong' and increase the 'Exponent' to 100,000. Under the 'Phong'
settings, turn on 'Use Specular Reflectivity'. Drag the new material on to the two spheres.
For the floor, we will make a material of type 'Diffuse' with the 'Color' (albedo), set to red.

8. Another render shows what the materials look like.

199

Indigo Renderer Manual

9. Last, we will add a light source for some interior lighting. Create an area light and apply a 'Indigo Light Tag'
(right click on the light, Cindigo > Indigo Light Tag). In the Light Tag, set the 'Light Spectrum Type' to
'Blackbody', change the 'Temperature' to 3500K and lower the 'Gain' to 0.005. If the light is too bright, the
Reinhard tone mapping will compensate for it and make the sun & sky darker, which is why the gain has been
set to 0.005.

Tutorial Files

Download the final scene of this tutorial.

200

Indigo Renderer Manual


INDIGO MANUAL

Indigo for Revit

Indigo for Revit is currently in its beta phase and can be downloaded from http://www.indigorenderer.com/revit/

201

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR REVIT

Indigo for Revit Tutorial


This tutorial will cover getting Indigo running with Revit on your computer. We will use the Indigo for Revit exporter to
export scenes to Indigo.
If you have not purchased an Indigo licence, you can still follow this tutorial. Indigo will run in trial mode, which will
apply some watermarks to Indigo renders.
For this tutorial, we will assume that you have one of either Revit 2010, Revit 2011, or Revit 2012 installed.

Step 1: Download and install Indigo Renderer


Download the latest version of Indigo Renderer for Windows here: http://www.indigorenderer.com/download-indigorenderer
If you have a 32-bit operating system, or you are not sure, download Indigo Renderer for Windows 32-bit.
If you have a 64-bit operating system, download Indigo Renderer for Windows 64-bit.
Run the installer, and if it asks "Do you want to allow the following program to make changes to this computer", select
"Yes".
Then accept the licence agreement.
On the "Choose components" page, leave all components selected, and press "Next".
On the "Choose Install location" page, leave the Destination Folder as it is, and press "Install".
Press "Finish".
Indigo will open, close it.

Step 2: Install Indigo for Revit


Download and run the latest Indigo for Revit installer here: http://www.indigorenderer.com/revit
You will have to fill out some basic information on the form at the right side of the page, and then click the 'Download
Trial' button:

202

Indigo Renderer Manual

Your browser should then display a PDF file, which will contain links to the 64-bit and 32-bit Indigo for Revit installers.
If you have 64-bit Revit installed, you should use the 64-bit installer, otherwise you should use the 32-bit installer.
Run the relevant installer.
If the installer asks "Do you want to allow the following program to make changes to this computer", select "yes".
The Indigo for Revit installer will automatically detect Revit 2011 and Revit 2012, and will ask if you'd like to use Revit
2010 (as it cannot be auto detected):

Select yes if you'd like to use Indigo for Revit with Revit version 2010, and for any other versions you'd like to use
when prompted.
Indigo for Revit should now be successfully installed and integrated into Revit.

Step 3: Rendering with Indigo from Revit


Start Revit and open the Advanced Sample Project. Due to limitations imposed on Revit plugins, Indigo for Revit
cannot be used while in a perspective view. First select a non-3D view from the views list:

203

Indigo Renderer Manual

Having changed to a non-perspective view, we can access the Indigo Renderer section from the "Add-ins" menu:

Click on "Edit Render Settings", then in the options dialog select the Parking Area view, and the Exterior tone
mapping preset:

Click Ok to save the settings, then click "Render with Indigo". After a brief export process, it should launch Indigo
Renderer and begin rendering the scene from the selected view, which should look like this:

204

Indigo Renderer Manual

205

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR REVIT

Installation
The Indigo for Revit installer will attempt to auto-detect the most recent installed version of Revit. If this succeeds,
simply click OK to complete the installation; should auto-detection fail (e.g. with a non-standard installation folder),
you will have to manually select the Revit folder and version.

206

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR REVIT

Material Editor
The Material Editor is used to configure the materials in the scene. While Indigo for Revit will automatically convert
your existing Revit materials, you can edit them further for more control.
To create full custom Indigo materials from scratch, use the Indigo Material Editor that comes with your Indigo
installation.
The online Indigo Material database is a warehouse for quality user-created materials that can be downloaded and
used for free under the Creative Commons Licence. You can find it here: Indigo Material Database
Start by choosing the material type you would like to make, and then adjust the attributes below it. Changing the
material type will change the options available.
Most materials have similar material appearance settings, allowing you to specify a single colour or an image map
as the basic material colour. Image map is used to link to external texture files. Indigo can use PNG, TIFF,
JPG/JPEG, TGA, BMP and EXR file formats. Bump maps add fine details to surfaces without creating more
geometry, a great way to add realism.
Sample width specifies the size in mm of the image map , then tile.
See Indigo Materials,Material Types, Material Attributes

Matte
The matte material type models surfaces which reflect light almost equally in all directions, such as wall plaster, clay
and other rough materials.

Glossy
This material type can be used for shiny or glossy materials such as plastics, wood, fabrics etc.

Smoothness
You can define how sharp the reflection is by the 'smoothness' slider. 'Rough' gives a matte surface that diffuses the
reflection; 'smooth' gives a sharper, glossy reflection.

A rough glossy material

A smooth glossy material

Reflectivity
This value controls how much light is reflected by the surface. Insert values into the reflectivity box for fine control.

207

Indigo Renderer Manual

Rough with low reflectivity

Rough with high reflectivity

Translucency
Translucency allows light to pass through the material surface and light the opposite side without being transparent or
clear. Can be used for thin, coloured plastics, or even thin fabrics like a curtain or lampshade.

Fully Opaque

80% translucent

Metal
The metal material type is used to create metallic surfaces.
You can define how sharp the reflection is using the smoothness slider. 'Rough' gives a matte surface that diffuses
the reflection; 'smooth' gives a sharper, glossy reflection.

A rough metal

A smooth metal

Lab-Measured Metals
Indigo comes with accurately measured metal materials that can be found here. They refer to their element names, as
given by a Periodic Table.

208

Indigo Renderer Manual

Gold: Au

Aluminium: Al

Transparent
This is used for any materials through which light can pass e.g. glass, clear plastics or water. Frosted Glass
introduces the following extra parameters:

Reflectivity
This value controls how much light is reflected by the surface.

Low reflectivity

High reflectivity

Smoothness
You can define how sharp the reflection is by the 'smoothness' slider. 'Rough' gives a matte surface that diffuses the
reflection; 'smooth' gives a sharper, glossy reflection. This attribute is only available for Frosted Glass.

A rough frosted glass

A semi-smooth frosted glass

209

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR REVIT

Render Settings
These settings change how Indigo renders your scene. Larger resolutions will generally take longer and use more
memory to render.
The Camera tab contains options to select which 3D view to render from and which tone mapping method to use.
Tone mapping determines how the huge brightness range of real physical scenes gets compressed into the limited
range displayable on computer screens; it is worth experimenting with these to get the best result for the particular
scene being rendered.
The Environment tab contains options for the lighting environment; this can be either entirely background lighting (via
physical sun and sky, or an HDR environment map), or optionally include the illumination from other light sources in
the scene.
The rendering mode option specifies whether or not Metropolis Light Transport (MLT) should be used. This is an
advanced method for computing illumination that enables faster rendering of complex scenes, however it is not
recommended for simpler scenes.
For more information on MLT visit http://www.indigorenderer.com/features/MLT.

210

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR REVIT

Using Indigo for Revit


After installing Indigo for Revit, a tool bar for Indigo Renderer will be added under the Add-Ins menu (Revit 2010), or
under the Indigo Renderer menu (Revit 2009).
This menu is inaccessible in perspective views due to Revit plugin limitations.

The Indigo for Revit workflow


To render your scene with Indigo, ensure that you have a 3d camera set up, and hit the Render with Indigo button.
The general Indigo for Revit workflow:
1.
2.
3.
4.

Tweak the materials and their attributes using the Indigo Material Editor.
Create or position a 3d camera to be used for rendering.
Edit the Render Settings.
Render with Indigo.

211

Indigo Renderer Manual


INDIGO MANUAL

Indigo for Maya

MtI is a work in progress.


Feel free to register at the Indigo forum to ask questions, formulate requests and give feedback in the Maya section
of the Indigo forum:
http://www.indigorenderer.com/forum/viewforum.php?f=11
Please contribute by reporting the bugs you're finding !

212

Indigo Renderer Manual


INDIGO MANUAL > INDIGO FOR MAYA

Installation
1.
2.
3.
4.
5.
6.
7.
8.

Install Indigo: Download Link


Download the latest Mayigo: Download Link
Extract the MtI archive content anywhere on disk.
Start Maya.
Open the Script Editor (Window > General Editors > Script Editor)
Source the file "mti_Installation.mel" you just copied on disk (Script Editor > File > Source Script...)
At this stage MtI should be installed, seek for the Indigo shelf.
Upon request: browse to the Indigo installation folder.

! Do not alter the zip files structure once copied on disk !


! for an automated install, it is mandatory to source "mti_Installation.mel" by browsing to it or Maya will not be able to
locate the subsequent files.
! You must go through that procedure with each Maya version you intent to run MtI with.
! If you experienced an error during installation, please report it ! Same goes for the exporter, thank you for sharing
your experience in the Maya forum.
Notes:
- advanced users can install all files manually to their discretion.
- this applies also for Mac and Linux users, the scripted installer (just as MtI) was tested solely on Windows
- You can delete the extracted files after successfull installation(s)

213

Indigo Renderer Manual


INDIGO MANUAL

Techniques

This is the tutorial and Indigo tricks section.


If you have any requests or suggestions please do not hesitate to send an email to the link provided below.

214

Indigo Renderer Manual


INDIGO MANUAL > TECHNIQUES

Compositing your scene into an environment

Scene with HDR environment map

Often it is not economical to model and create an environment for your scene to sit in, and it is a common technique
to composite elements together to fake it. There are 3 techniques that I will take you through to help you composite
your renders. The first, and easiest, will be using an Alpha Render. The second, but that gives the best results, will be
Environment Maps, and the third, that sits somewhere between the two, will be using Image Planes. You can get the
SketchUp house model I am using for this tutorial from the Ronen Bekerman website.

215

Indigo Renderer Manual


INDIGO MANUAL > TECHNIQUES > COMPOSITING YOUR SCENE INTO AN ENVIRONMENT

HDR Environment Map


An HDR environment map is an image that fully wraps around your scene to create the effect of having a background,
and also emits light. It is important that you use an HDR environment map that has good light, especially if it has the
sun in it the sun is many thousand times brighter than anything else and will only cast good shadows if it has been
captured right. This technique gives the best results because all the reflections from the materials will accurately
respond to the 'environment' as if it were real. But it is difficult to find a good HDR environment map for free and can
be difficult to make your own. I am using an HDR environment map found from openfootage.net
1. Download an .EXR or .float HDR map. Indigo does not support .HDR files, but there are good converters out
there. Try Picturenaut.

Italian field from openfootage


2. In your render settings, change the environment to Environment Map and set your HDR environment map.
3. Render! If the environment map is too dark, or not positioned correctly, you can change the gain for brightness,
and rotation to change its position.

Final render
Results: The scene is effected by the light of the environment map and you can just see reflections of trees from the
map in the windows.

216

Indigo Renderer Manual


INDIGO MANUAL > TECHNIQUES > COMPOSITING YOUR SCENE INTO AN ENVIRONMENT

Image Planes
This technique is a bit of a cheat really. It involves taking a picture of a background that you would otherwise
composite, and texturing them onto a large flat plane. The trick is to get a large enough image that it fills the whole
background of the render.
1. Create a massive plane that sits directly behind your model, and fills the camera's view. Texture it with your
background image and resize it so it fits nicely.
2. Copy this front image plane and mirror it behind the camera to create a back-plane.

Sketchup scene with massive image planes arranged


3. To create a convincing background, light must come from the image planes, or they will catch shadows and
look fake. Add emission to the textured material, as an emission texture. This will emit light from the surface
based on the texture itself. In SketchUp, simply change Emission to SketchUp. I've also set the emission color
to white and power to 200.
4. Render with sun & sky for good shadows, or you could even just use background colour.

Render with only a front image plane

217

Indigo Renderer Manual

Final render
Result: (excuse the tonemapping) The bottom has reflections in the windows and a mostly convincing background. It
looks alright.

218

Indigo Renderer Manual


INDIGO MANUAL > TECHNIQUES > COMPOSITING YOUR SCENE INTO AN ENVIRONMENT

The Alpha Render Technique


After modelling your scene, lighting it and framing it with the camera, find an image to use as a background that suits
your scene. Think about the camera angle, time of day or shadows, and the type of light. Try and get an image that is
the same, or higher, resolution of your render.
1.

Normal Render
Render using default settings

2.

Alpha Render
Next make an Alpha Render.
SketchUp SkIndigo > Render Settings > Advanced > Tracing Method
Cinema4d Cindigo Render Settings > Export Settings > Background alpha
Blender

Blendigo > Render Settings > Alpha render

3ds Max

Maxigo > Export > Export Scene > Alpha Mode

219

Indigo Renderer Manual

3.

Layer mask in Photoshop


You can now composite the two using an image editing tool such as Photoshop. Here's a crash course on how
to use the alpha render as a layer mask for the real render in photoshop.
1. Put the both images together

2. Create a mask for the real render by selecting the layer and clicking the add mask button Select the alpha
layer and copy it.

3. Win:Alt; Mac:Option + click the white mask to select it, and then paste the alpha render onto it.

4. Put an image under it and you're done!

220

Indigo Renderer Manual

Final composite
Results: Notice the Sun & Sky is still present in the reflections of the windows and looks quite out-of-place.

221

Indigo Renderer Manual


INDIGO MANUAL > TECHNIQUES

Depth of Field
Depth of field is a phenomena that causes certain parts of an image to blur based on its distance from the camera. It
is exploited as a photographic technique for a variety of reasons. A shallow depth of field can be used to accentuate
certain parts of a scene, give more detailed information about a subject by exposing just a portion of it, or to remove
a distracting background. A wide depth of field puts all elements in focus.
An image is always sharpest at the cameras focal distance, but the depth of field is controlled by the camera's
aperture, measured in f-stop. The smaller the f-stop number, the smaller the depth of field; the larger the f-stop, the
larger the depth of field.

Wide depth of field, f/22

222

Indigo Renderer Manual

Shallow depth of field, f/2

223

Indigo Renderer Manual


INDIGO MANUAL > TECHNIQUES

IES Lights

IES stands for the Illuminating Engineering Society, which has defined a file format for describing the distribution of
light from a light source.
Using only a small, simple emitter such as a single quad, an IES profile will shape the distribution of light emitted from
it to match that of a much more complicated light fixture, such as in the examples below:

Digital Photometric data. With the basic Indigo profile Left, and an IES profile Right.

While Indigo is capable of creating real refractions of an accurately modelled light fixture to create this effect, it is far
easier to use an IES profile, and the result is much the same. Many manufactures provide IES files for their lights, and
it is a great way to add realism to your scene.
You can use an IES viewer to preview these profiles. There is a very good viewing program made by Andrey Legotin
that can be found here: http://www.photometricviewer.com/

Setting up the scene


Firstly, we will set up a simple scene to show off the light effects. For this I have made a flat ground plane, to catch the
light, and a small, single plane mesh above and perpendicular to it.

A single plane mesh raised off the ground

The plane will be our light-source, so select the it and assign it an emitting material in your Indigo plugin. Since we are
working with artificial lighting, go to your environment settings and disable the sun and set a black background.

224

Indigo Renderer Manual


Hit render and you will get the standard Indigo light render like so:

Render with no IES profile

Adding an IES profile


Open the material editor of your Indigo Plugin, under Emitter Attributes you will find the IES path. Download the zip of
IES files here http://www.indigorenderer.com/dist/ies-profiles.zip and link to one. Hit render to view the new IES
profile in your scene.

Render with IES profile

Note that Indigo does not support IES profiles with a vertical angle of more than 90degrees and will give an error if
attempting to do so.

225

Indigo Renderer Manual


INDIGO MANUAL > TECHNIQUES

Optimizing your scene


There are many things you can do to make Indigo render your scene faster, and cleaner, often without compromising
quality.

Scene Settings
The first thing you can do is make sure the scene you are rendering is suitable for the power your computer offers.

Light Layers
If there are many light layers used, it will consume a lot of memory. If this exhausts all physical memory the rendering
will become extremely slow due to disk access. For more information on light layers, see this section of the manual.

Render resolution
A larger screen resolution, and larger Super Sample factor, will take longer to render, simple because there are more
pixels to cover. See Imaging Settings

System Requirements
Check the recommended system requirements to see how your computer compares.

Understand your Render mode


Indigo has several render modes, which control how it chooses where to render, and how. Which mode is
appropriate to use varies from scene to scene. Scenes with a lot of specular materials, for example, should be
rendered with MLT enabled.
See Render Mode.

Scene design
Some things about the way the scene is made can slow a render down, and likewise speed it up.

Over-saturated colours
If a colour (this includes any colours in texture maps) is over-saturated, it creates an unrealistic conservation of energy
as light bounces off it. This can create strange artifacts known as 'fire-flies', along with other problems.
Make sure that no colour is more than 80% saturation, which translates to an RGB no higher than that of
204,204,204.

Glass and liquids


Glass and liquids are one of the things that make Indigo renders stand out. However they can be computationally
intensive, and therefore it pays to be aware of how they can affect render times.

Try MLT Bi-Directional path-tracing


MLT is good for clearing glass and liquids, and combined with bi-dir it can help those otherwise hard-to-render areas

Glass around a light source


226

Indigo Renderer Manual


While it is important to model your scenes as they would appear in the real world to realistically render with Indigo,
modeling a light bulb as glass around a light source can greatly lengthen render times. This is because every single
ray of light that is emitted has to pass through the glass and reflect & refract its way through it. Effectively this means
that all light in the scene is now a caustic. Simply giving the light-bulb's outer shape an emitting material will give the
same effect as a real light-bulb, without the extra calculations.

Glossy-Transparent
This material is especially difficult to reproduce efficiently, because of the complex effects it creates. It is strongly
suggested that this material not be used to transmit the sole light into a room (as a sky-light for example) See Glossy
Transparent

Glass Acceleration
This feature allows glass sheets/panes to be rendered extremely effectively. If the scene has sheets or panes of
glass, enabling this will reduce your render times. See Render Settings

227

Indigo Renderer Manual


INDIGO MANUAL > TECHNIQUES

Physically correct modelling of glass


Glass is realistically simulated in Indigo, as a (transmission) medium, which requires a little more care when
modelling scenes compared to "traditional" renderers. In this section we will focus on glass, however the principles
covered here extend to other media (such as water, fog, etc).
We begin with a concise statement of the requirements, and then go into some details. The executive summary is:
When modelling glass in a scene, it cannot be represented as a single surface; there must be at least two (for
entering and exiting), and the glass medium occupies the space between them. Furthermore, the surface normals
in all cases must point outwards.
Let's start with the first part: glass must be represented as a volume. The following diagram illustrates how light
interacts with a glass pane:

As light travels through the glass medium, its brightness is diminished; this is what gives glass its colour, and it is
physically due to the thickness of the glass (and the medium properties), not a "glass colour" modifier at the surface.
If either of the glass faces are not present, the glass volume becomes infinite (since light cannot exit the medium). For
example, rendering a house with single-surface glass panes will result in the interior being essentially black, as the
light will have lost most of its energy travelling through several metres of glass.
Now that we have described the problem with single-surface glass, we show how to correctly model glass panes.
SketchUp is used here, however the same principles apply to all 3D modelling packages.
The simplest way to correctly model a glass pane, is to take a thin box (e.g. a cube squashed in one dimension) and
apply an Indigo glass material to it:

228

Indigo Renderer Manual

SkIndigo has a default glass material, however if you wish to make your own then you should use the Specular
material type with IOR 1.5 and transparency enabled.
Here is the result rendered in Indigo:

The next step is to insert the glass box into the window frame. Note that we make the glass pane bigger than the

229

Indigo Renderer Manual


opening in the window, allowing the glass faces to intersect the frame, so that the medium is perfectly contained
without tiny gaps.
If you want to be more efficient about this, you can remove all faces except for the front and back - since these should
be contained entirely inside the solid wall, they cannot affect the rendering and can be safely removed.
With the glass inserted to the frame, we obtain the desired result:

This image was rendered with the "Glass Acceleration" feature enabled - it's located in the Render Settings tab.
Glass Acceleration is a feature specially designed for these situations, in which you have thin panes of glass.
Rendering the same scene without Glass Acceleration enabled, and using only (Single Directional) Path Tracing (as
opposed to Bi-Directional Path Tracing) produces a much noisier result:

230

Indigo Renderer Manual

This would eventually converge to the previous image, however it would take very long to do so, making Glass
Acceleration a crucial feature in such scenes.
Convergence could also be improved by using Bi-Directional Path Tracing, possibly with MLT enabled, however Path
Tracing and Glass Acceleration is an excellent fit for exterior architectural shots. For interiors, Bi-Directional Path
Tracing would likely be superior, however enabling Glass Acceleration is still strongly suggested if much of the
illumination comes from outside.

231

Indigo Renderer Manual


INDIGO MANUAL

Glossary
Here is a list of the terms used in the manual and in Indigo

Scene
The 3D space that contains 3D objects

Mesh
A 3D object made of faces, edges, and vertices

SkIndigo
The Indigo exporter for Google SketchUp

Blendigo
The Indigo exporter for Blender

Maxigo
The Indigo exporter Autodesk 3ds Max

Mayigo
The Indigo exporter for Autodesk Maya

232

You might also like