Overview VO Rendering SS 2005 Unit 8: Rendering Systems Radiance Maya 3DS Brazil RenderPark Lightwave ART 2 Radiance Development started 1988 Major systems paper: SIGGRAPH 1994 Principal author: Greg Ward-Larson Provided as free UNIX binaries by LLBL An open source project (!) A collection of command-line C programs designed to work in concert ~60.000 lines of code as of 94 Radiance Workflow 1 Modelling is usually done in an external CAD program Import filters for a wide variety of applications (AutoCAD etc.) exists Filters operate autonomously on wellstructured 3D data Scene properties textures etc. are added to object descriptions obtained from CAD files by the user Native Radiance modelling also possible http://radsite.lbl.gov 3 4 Radiance Workflow 2 Radiance in Practice Completed scene description is then processed by oconv -> octree scene file Interactive preview of camera position in rview viewer rpict renderer generates intermediate image pfilt performs tone mapping and filtering Finished image can be viewed by any image display program & falsecolor rad command-line front-end takes care of almost everything from CAD data to final image Several packages are based on or around Radiance, e.g. ADELINE Native Windows front-end currently in state of development, but useable Radiance is showing it s age, but it is still the gold standard for architects 5 6 1
Radiance Technical Specs Radiance is basically a highly accurate stochastic raytracer Tristimulus renderer CIE XYZ Physical quantities are used for luminance Sophisticated reflectance models can be used Several acceleration strategies are used, and as a tradeoff no caustics are computed Radiance Acceleration Techniques Hybrid deterministic/stochastic raytracing Cached irradiance gradients Adaptive sampling of lightsources Unimportant sources are not used at all Automatic generation of virtual lightsources User-directed secondary lightsources Hierarchical octrees Parallel processing 7 8 Irradiance Gradients Irradiance Gradient Example Distribution raytracing is done for the blue pixels Information is interpolated in the areas inbetween Sample points are chosen based on geometry and light 9 10 Genuine Radiance Falsecolor Output 11 12 2
Radiance vs. Path Tracer Textures and Refraction 13 14 Out- & Indoor Rendering Radiance Improvements Radiance AutoCad integration Done at Lawrence Livermore labs Perceptually-based ray termination Gaze-directed realtime rendering University of Bristol - original codebase Parallel, spectral Radiance University of Bristol New codebase - work in progress 15 16 Maya, 3D Studio Similar, with different capabilities: Maya is somewhat more powerful Primarily geared towards a creative user interface, rendering technology comes second -> primary renderer is usually shader based OpenGL / scanline hybrid However: experienced artists can deliver stunning results using these tools Plus: rendering engine can be exchanged by a third-party plug-in Brazil Commercial product: third party global illumination plugin for 3DS & possibly later Maya Finished product Stochastic ray-based renderer with subsurface scattering One of the first commercial GI rendering systems. Others are VRay, FinalRender, Raymax, (Entropy cancelled by Exluna) 17 http://www.splutterfish.com/ 18 3
Brazil Example #1 Brazil Example #2 19 Brazil Example #3 Vray Example 21 20 22 Mental Ray MentalRay Example The premier raytracing backend for the entire CG industry Extremely reliable and fast only geometric primitive is the triangle Is dependent on preprocessing for geometry Supports photon mapping as add-on and custom shaders Not a native global illumination renderer http://www.mentalray.com/ 23 24 4
POVRay Persistence of Vision Raytracer Ancient by computer science standards The tool for hobbyists and certain artists Comparatively primitive no tone mapping, RGB colour space rendering Software structure a catastrophe Highly configurable, several subversions exist (most notably MegaPOV) In the hands of a good artist it still is a formidable tool POVRay Example http://www.oyonale.com/ 25 26 http://www.povray.org/ RenderPark Developed at the KU Leuven / Belgium Primary target: image synthesis algorithm testbed Will eventually be a general purpose toolkit C++ libraries and applications Under development since 1993 Snapshots available for download RenderPark Features Wide variety of patch- and ray-based global illumination methods. Also features OpenGL and AR output MGF and VRML97 input X-Windows interface Tone mapping support Can act as a plug-in for other applications http://www.renderpark.be/ 27 28 RPK Examples #1 RPK Examples #2 29 30 5
PBRT PBRT Example Devloped by Matt Pharr, Greg Humphires and others Stochastic rendering research toolkit Path tracing, stochastic raytracing Large selection of reflectancy models Extensive documentation in book form Covers a wide range of the topic in this lecture by example 31 32 Graphics Toolkits @ ICGA The grandfather: RISS Realistic Image Synthesis System. VAX Pascal, 1987 1991, chief architect Michael Gervautz The bastard child: FLIRT Faster than LIght RayTracer. ANSI C, 1991 1996, Tobler, Stürzlinger, Traxler et. al. The stillborn child: VEGA / BaBeL. C++, 1995-1998, Löffelmann & Tobler. Discontinued due to language & design limitations RISS Images 33 34 FLIRT DCG Image Advanced Rendering Toolkit Aim: a general-purpose rendering toolkit for graphics research and use Under development since 1996 2 core developers, ~10 students Written in Objective C, ~180k LOC Highly modularized Currently command-line only Runs on a large variety of platforms: Solaris, Linux, Windows, IRIX, OS X,... 35 http://www.artoolkit.org/ 36 6
ART Features #1 ART Features #2 Modelling: CSG, NURBS, subdivision surfaces, CSG and SDS automata Turing-complete shading language, cellular automata Modular imaging pipeline with intermediary spectral images and tone mapping Spectral rendering incl. polarization and fluorescence (Realistic skylight and water models) Renderers: Open GL, edge tracer, visibility raytracer, lightmap photon tracer, path tracer Intelligent selection of parser modules on input -> potentially capable of multiformat input Different colour types for internal calculations are supported RGB, CIE XYZ, Spectra with 8,16,45,450 samples 37 38 ART Structure ART Libraries Code is grouped into a set of 20 libraries Several command-line applications use these classes Protocols (in Java: interfaces) are used to group objects by functional hierarchy instead of inheritance hierarchy Categories are used to split classes into different libraries where appropriate, e.g. according to rendering technology Basics Colour Graphics Image Material Math Node Objective OpenGL Parser ShootingExpansion Raycasting GatheringExpansion Rendering Shape Surface Trafo User Value 39 40 ART: Status Historic ART Example Global structure more or less finished Tons of detail work are left Numerous highly advanced features are implemented, while minor details have not been done Goal: public availability under the GPL Code is still a bit too unfinished for public beta release CVS server used for internal development 41 42 7
Project: A Complex Model Battleship Model 43 44 Battleship Closeup ART: Praktikums- and Other Topics (Maintenance work on the surface models) Leaf surface and volume model Implementation of a new tone mapping operator, or maintenance of the existing tone mapping operators Documentation writing (Demo suite) 45 46 Rendering VO Unit 8 Thank you for your attention! 47 8