Computer Graphics in Practice: Beyond Games and VFX Vladimir Koylazov Chaos Group SIGGRAPH 2018 Overview VIZ exists It is important Rendering requirements for different industries Some thoughts on the future WE ARE CHAOS We create powerful rendering and simulation GROUP technology to help you visualize anything
imaginable. Global leader in computer graphics, over 20 years experience V-Ray is the industry standard for top design studios, architectural firms, advertising agencies, and visual effects companies 92 out of the top 100 architecture firms use V-Ray V-Ray portfolio includes V-Ray for 3ds Max, Maya, MODO, Nuke, Katana, Rhino, SketchUp and Revit, Corona Other products include VRscans, photoreal scanning technology and material library, Phoenix FD for fluid dynamics and PDPlayer Our R&D division is shaping the future of creative storytelling, virtual reality and digital design chaosgroup.com Our mission Solving hard problems so you dont have to Includes constantly looking into new technologies that may help our customers Also searching for hard problems that need solutions
Computer graphics in practice When I mention computer graphics, students typically imagine Games Visual effects for film and TV These are the most famous applications of CG They are great! However most of our users render visualization projects Interior design Arch Viz Product Viz
Why visualization is important? Architecture is important You literally live your life in it Product design is important You use those products every day Computer graphics products Many products, especially renderers, are specialized Realtime renderers for games Renderers for film VFX/TV work Renderers for arch viz Renderers for product viz
The different applications have [slightly] different requirements These requirements are very starting to converge somewhat V-Ray is unique because it is used in all areas V-Ray as a renderer, has been widely used in all areas of CG And even in newer areas like training AI Weve had the opportunity to observe the different requirements and attitudes of users in all CG areas Being based exclusively on raytracing is what made it all possible Even for realtime - project Lavina DCCs and different integrations VFX-oriented DCCs
Maya, Houdini, Katana, 3ds Max ArchVIZ-oriented DCCs SketchUp, 3ds Max, ArchiCAD Others Cinema4D, Rhino, etc Rendering requirements Different industries have slightly different rendering requirements It is interesting to explore them in a bit more detail Data size Film renderers
Large amounts of geometry (often subdivided/displaced) Large amounts of textures (usually tiled .tx files) - thousands of files Generating large amounts of textures is very easy these days, even if it is not strictly necessary for the project Data resides on a network location to be consumed by the render farm Could be a large bottleneck ArchViz renderers Relatively less textures Varying file formats (JPG, PNG etc) Data is often local on artists workstation
Proxies turned out to be particularly useful for both areas A way for the renderer to directly load geometry bypassing the DCC Scene organization Film renderers Tightly controlled pipeline, mostly split into different stages Modeling, texturing, lighting, compositing are done by different people The renderer must allow data to come in and out of the renderer Support for common and standard file formats - Alembic, .tx, OpenEXR etc Object properties, overrides, shader controls based on scene data is important
Often different versions of the same shot need to be rendered - for masks/holdouts, shadow extraction etc. It is useful to be able to do those overrides without changing materials - f.e. through object properties ArchViz renderers Scenes can be built from publicly available models Varying model quality Varying input texture file format and shaders Materials specifically used to be a problem before because of material quality settings (sampling) embedded in materials instead of being handled automatically by the renderer Not much need to move data in and out of the renderer, in fact staying in the renderer even for post
Project duration Film renderers Projects take a longer period of time, usually months There is time to research how to solve specific problems or issues (usually, less so nowadays) ArchViz renderers Projects usually have a relatively quick turnaround There isnt a whole lot of time to spend on rendering itself Renderer output Film renderers Sequences of frames (shots)
Many thousands of frames in a project Render elements to separate various components of the scene for adjustment/compositing in post Lots of animated stuff going on in each shot - characters, explosions, vehicles, destruction etc World positions, extra textures etc. Deep output support might be needed Usually post-processing happens in a dedicated compositing application like Nuke or Fusion ArchViz renderers Sometimes there are animations
Mostly the results are still images Sometimes very large stills - distributed rendering is useful Render elements to adjust scene in post Usually walk-throughs or other presentation formats, not a whole lot of moving things Animations are increasingly moving over to realtime engines these days Usually masks
Post-processing happens either in the frame buffer, or in PhotoShop Additional tools A renderer is sometimes expected to provide additional tools Scattering tools Variation tools (texture randomization etc) Landscaping is a large part of ArchVIZ Creating the natural environment around a building Trees, grass, flowers Lighting Lighting in VFX
The goal is often to match the look of a given background plate as a reference IBL is used all the time More artistic control required in order to match a given background plate or to achieve a specific look Separate control over diffuse and specular contributions, light linking, light filters/blockers Artistic light units (f-stops and exposure) ArchVIZ requires more exact tools There is no reference - the renderer must say what the scene looks like, without any references Sun & Sky system for daylight scenes IES lights and area lights with prescribed intensity
Physical light units (lumen, lux, candela etc) Global illumination GI in VFX Was avoided for a long time due to restrictions of the tools Only relatively recently VFX moved to raytracing exclusively Usually one or two bounces are enough when you render a character against a plate Tricks to suppress fireflies are allowed with less regard for physical accuracy Brute force strategies work well ArchVIZ ArchVIZ users were pioneers here
Starting with radiosity solutions for lighting analysis Moving to raytraced GI in the beginning of the 21st century Accurate light distribution is important - one or two bounces are not enough Specialized algorithms must be used to handle large number of bounces efficiently Light cache in V-Ray UHD cache in Corona Materials Materials in VFX Skin, hair materials are important Programmable shaders might be important (OSL, shading SDK)
Artistic control might be important Shading networks can be very complicated Could be a burden to the performance, or the development (keeping compatibility), but very helpful to customize the renderer Lots of blend materials, masks, color correction textures etc Driving shaders through scene data or metadata is important User attributes, bitmap file name tags etc. Materials in ArchVIZ
Physical accuracy is important Materials for vegetation (foliage, grass), curtains etc Prebuilt material libraries might be important Programmable shading is not important Procedural shading, variations might be important Some features are used differently Hair primitives Used for characters in VFX - hair, facial hair, peach fuzz, animal fur Used for carpets, rugs, blankets, grass in ArchViz 2D displacement
Used for skin and fine character detail in VFX Used for stone and brick walls, roof tiles, pavement etc Frame buffer Used for previewing the output and explore render elements om VFX In ArchVIZ, also used as a post-processing tool, sometimes final post-processing is done there without post Sometimes this leads to concept clashes like LUT files Renderer setup A bit more time is available in VFX for setting up a renderer Different settings per shot might be required
There are multiple iterations over a shot that allow settings to be fine-tuned Non-adaptive (fixed) sampling is acceptable, with manual control over every sample Takes a while to find the right settings, but the time is amortized over hundreds of animation frames There is less time available in ArchVIZ The renderer must be able to handle many different types of projects with minimal settings Automatic/adaptive sampling is preferable, with only quality/max time specified as input Render farm resources In VFX, usually whole frames are distributed Hundreds or thousands of machines Render farm can spill to the cloud if needed
Occasionally DR is used for iterations during lighting Software for render farm management is used In ArchVIZ, often a single frame is distributed DR is often used for final results (stills) A few machines only available, sometimes office workstations (no dedicated render farm) Commercial render farm services handle the rest Cloud is less used because of complicated setup V-Ray Cloud aims to change that Workflows move between industries VFX workflows leaking into ArchVIZ
OpenEXR Cryptomatte LUTs and post-processing Lots of research is done initially for VFX and then trickles down to ArchVIZ Accurate BRDFs (f.e. GGX) Volume rendering Hair/fur shading PBR-style materials And the other way round Scattering tools for environments
Global illumination Physical materials/lighting Real time rendering Real time rendering in VFX Previz, playblasts Occasionally for final frames or parts of final frames Recently entire short films/TV series are rendered in real time engines Real time rendering in ArchVIZ Walk-throughs Space exploration/VR Interactive experiences
Real time engines Game engines repurposed for specific workflows Game-specific workflows might get in the way Specialized real time engines for arch VIZ Virtual reality Doesnt work too well for entertainment Difficult to keep the attention of the viewer at the right spot Not very comfortable for longer viewing Very popular for ArchVIZ
Shows off a space much better Still images - stereo panoramas Walk-throughs Interactive experiences Final thoughts Can one rendering solution cover everything? VFX ArchVIZ Realtime Questions?