What is Guerilla Render ?

Guerilla Render is a professional look development and lighting solution designed for the Animation and VFX industries. Guerilla Render is composed of a lighting tool and a rendering software. With Guerilla Render we'd like to bring you the perfect balance between the easiness of setup and the flexibility you need for your productions. With of course, no compromise on performances.

A powerful lighting tool

A lighting environment

Guerilla Render GUI is optimized for the look development and the lighting tasks. The renderer is perfectly embedded in the GUI.

Load plates over or behind your render, push and compare images.

All the memory is available for rendering. The pre-computations are cached in memory for faster re-rendering.

Guerilla Render provides a professional color pipeline. The different input/screen/output color spaces are carefully handled and can be all controlled by the user.

RenderGraph

Work in a non-linear fashion using the RenderGraph. Always track the work you have done and replicate it easily.

Organize the different attributes of related objects in the same space of the document.

Quickly debug a shot. Find which node is producing a specific behavior.

Easily copy and paste all the work done on an asset or a shot into a new project in two clicks.

Gather and render

Using Alembic files, gather the animations and simulations you have done in any 3d package compatible with Alembic. Render everything together and simplify your pipeline.

Easy and productive rendering

Unbiased path tracing

Guerilla Render uses an unbiased path tracer to render the scene. You can validate shots with fast preview renders and be sure the final renders will be the same, with less noise.

Thanks to the progressive rendering, Guerilla Render gives you a fast and consistent preview of your work. Re-rendering is even faster than the first render.

Once you are happy with the progressive result, you can render your project in final quality. The image will then converge to the exact same result than the progressive render. For an equal number of samples, the final render will be even faster and less noisy.

Physically Plausible Über Shaders

Guerilla comes with physically plausible shaders for surfaces and curves. Using the same Surface shader, you can blend the different layers to get a plastic, glass, metal, car paint or skin look, using understandable attributes.

You can use texture masks to blend the BRDF layers inside a single object. No need to split your model by materials any more. Simply paint the metal or the glass part of your object in a mask to drive those BRDF layers.

The subsurface scattering is rendered like any other BRDF, available on every surfaces, with no effort.

Guerilla Render provides lots of sub-shaders, like textures, bump, noise... Those sub-shaders can be assigned to any shader inputs using the RenderGraph.

Lights and Environment Shaders

Guerilla Render is shipped with a large choice of lights and environments for all kind of situations. Lights can have various shape and can contain multiple clipping volumes like cones, cylinder, frustum...

You can easily create a light rig, save it and share it with other people.

The lights can be animated, rigged, constraint to any object present in the SceneGraph.

The lights can be assigned to specific AOVs. You can render for example a Specular AOV lit only by the fill lights.

All Guerilla Render lights and environments are built using shading networks. They can be easily customized to your production needs.

Flexibility

Fine control

Guerilla Render gives you a professionnal level of control of your render. Light/shadow/trace linking has never been so simple and powerful. The image sampling can be controlled at every step.

Light/Trace Linking. You can control the visible light and object sets into each BRDF of a shader, like I don't want to see this object in the reflection of that object.

Light Override. You can override the light attributes only for a subset of objects, like I want this light to be blue for this specific object.

Sampling. You can control the sampling (i-e the amount of samples used) by pixels, at every shader, at every BRDF, at every light and every environment.

Outputs

With Guerilla Render, you have a total control on your render files, render passes, render layers and AOVs. All of which are rendered at the same time.

  • Guerilla Render can render different layers (like Foreground, Background) with matte objects.
  • Those layers can be composed of AOVs (Arbitrary Output Values like Diffuse, Specular, etc...)
  • Each AOV can be lit by a light category (like KeyLights, FillLights)
  • All that at the same time.
  • Stereo images can also be rendered at the same time.
  • Part of those images can share the same OpenEXR files.

AOVs can have their own shading network to render a specific shading expression (like Occlusion, Id, Depth, Normal etc.) on the whole scene.

It is easy to customize the available shader AOVs.

SDK

Using our SDKs, you can customize even more Guerilla Render and make it fit your pipeline easily.

You can use our Lua SDK to customize Guerilla Render GUI, create commands, make productivity tools and bind Guerilla Render to your Renderfarm manager.

With our C++ SDK you can write geometry file importers or geometry procedurals like our OBJ and Alembic plug-ins, or our HairAndFur procedural.

Scripted/network shaders

Everything in Guerilla Render is open and customizable. Components like materials, lights, sub-shaders, environments, render pass AOVs, are written using Renderman® Shading Language shaders or shading networks. You can customize any single component with basic TD skills.

Once you have created a new component, you can directly use it, or you can export it in the library to share it with your team. Materials, displacement shaders or sub-shaders can then be directly referenced and applied to any objects using a simple RenderGraph node. No need to import them in the project.

Thanks to our unique embedded SIMD shader compiler, those scripts and networks are optimized and compiled on the fly using the parameters you choosed, producing the fastest possible code, even faster than a C++ hardcoded shader.

Performances

Speed

Guerilla Render is designed around an unique raytracing technology which fully takes advantage of the CPU computing resources and lowers the memory bandwidth to deliver the best possible performances.

Guerilla Render performances scale transparently with the number of cores of your CPU.

Thanks to its unique design, Guerilla Render is very efficient at raytracing hairs and sub surface scattering.

Guerilla Render uses original sampling strategies to converge at the fastest possible speed.

Guerilla Render compiles all its shaders on the fly using an embedded SIMD compiler.

Memory

Guerilla Render deals everyday with huge production datasets. It supports massive texture loads, can render hundreds of output images at the same time and raytrace hundreds of millions of polygons or curves.

Guerilla Render features an optional geometry compression to save even more memory.

As all good raytracers, Guerilla Render supports instances.

Motion blur

3d motion blur is a first class citizen in Guerilla Render. It is fast, accurate and always available.

Guerilla Render can always render motion blur, even if the geometry is using a single motion step. You can control the shutter opening and closing time to specify which part of the movement your want to render, to match a live footage for example. The shutter can also have different shapes (like triangle, leading, trailing, gaussian...)

Baking

Guerilla Render is able to bake any shading component in a point cloud and re-use it later.

It is possible for example to bake the indirect diffuse part of a set and re-use this component at every frame, saving a lot of rendering time.

Rendering of the point cloud can be distributed, as any render, on the render farm between different computers to shorter its processing.

Displacement

The displacement in Guerilla Render is precise, fast and programmable.

Industry standards

Autodesk Maya®

Guerilla Render is shipped with a professional Maya® exporter, able to bake every kind of geometry and animations.

Meshes, subdivision meshes, nurbs*, maya hair, singles splines, fluids*, particles*, cameras, dynamic attributes.. Almost everything can be baked and exported.

You have a full control on the baking process on a transform basis :

  • Automatic (do the best regarding the deformers applied)
  • Not exported
  • Static (bake the object at the first frame)
  • Deformed (bake the vertices and the normals)
  • Fully deformed (bake everything)
  • Motion blur steps per object
  • Smoothing attributes

* Those features are available only in Reyes rendering for the moment. The raytrace support is on its way...

Alembic

Simply drag and drop an .abc file in Guerilla Render and start to render. Using Alembic is also a great way to assemble work done in different softwares and render everything in Guerilla Render.

Guerilla Render supports all kind of Alembic geometry, camera and animation, custom attributes...

Alembic files are referenced by the Guerilla project and by the final RIB files rendered on the render farm. The Alembic files you put in Guerilla are the final bake geometry, no more large files will be produced in the pipeline.

UDim textures

Guerilla texture nodes are fully compatible with the UDim texture pipeline. You can provide GBs of tiled textures files and let Guerilla Render render everything.

OpenEXR

Guerilla Render reads OpenEXR HDR images and writes OpenEXR files with a single or multiple images in each file.

Renderman® shading language

Use in any shading network SLBox nodes, which uses a subset of the RSL to express shading expressions. No need to learn a new shading language.

RIB

Guerilla Render internally uses RIB files to send the jobs on the render farm. Render Wranglers can inspect those files and modify them. You can also render custom RIB files in Guerilla.

Custom RIB files can be rendered using the RIBBox or a RunProgram procedural. The RIBBox will simply reads a RIB file, the RunProgram procedural executes a user process (like a python script) and renders the standard output as RIB commands.

Guerilla Render supports ASCII, binary and compressed RIB.

Geometry DSO

Guerilla Render directly uses some binary DSO built for other Renderman® compliant renderers, for example the Massive®, Golem® and Yeti® technologies* .

* This feature is available for some specific plateforms and DSO revisions. Contact us for more details.

Battery included

Library

Guerilla Render comes with a library of hundreds of nodes. Materials, lights, environments, sub-shaders, shading nodes, procedurals, render passes...

The materials include a surface shader, a curve shader, a displacement shader and some utility shaders.

Many lights are included, like square lights, sphere lights, lights with cone, frustum or tube attenuation.

The library includes three type of environment, HDR Image, gradient or physical sky.

The sub-shaders include textures, bevel normal, bump normal, normal maps, noises, voronoi patterns...

Create your own nodes, extend the library and share it on the production floor.

Fur Procedural

Guerilla Render can generate curves on any surfaces. It is easy to add grass or fur on any static or moving objects. A lot of attributs can be used to control the shape of the hairs, the density or the wind...

The fur can be controlled using textures or shader expressions. You can also import in Guerilla Render groomed or simulated guide curves to control the fur orientation and inclinaison.

Hair Procedural

Using the same procedural, Guerilla Render can interpolate and multiply curves on a surface. Import a thousand of simulated/groomed hair guides in Guerilla Render and multiply them to millions at rendertime.

The duplication can be controlled using textures or shader expressions.

More procedurals

Fill nurbs tubes with hairs, instanciate objects on surfaces or on particle points.

Renderfarm Pipeline

Guerilla Render directly communicates with your renderfarm manager. It generates the jobs and submits them on the farm, with a single click.

A render job can be distributed between multiple computers.

Using our Coalition manager, you can setup a renderfarm in few hours.