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.