Production Volume Rendering

Production Volume Rendering: Design and Implementation

Published:
Content:
Author(s):
Free Standard Shipping

Purchasing Options

Hardback
$52.95 $42.36
ISBN 9781568817248
Cat# K13409
Add to cart
SAVE 20%
eBook (VitalSource)
$52.95 $37.07
ISBN 9781439873632
Cat# KE13540
Add to cart
SAVE 30%
eBook Rentals
Other eBook Options:
 
 

Features

  • Focuses on volume rendering for visual effects and film production
  • Covers techniques and algorithms that are actively used in production work
  • Describes both volumetric modeling and rendering techniques, illustrating how effects are created from start to finish
  • Provides a companion rendering library of open source code

Summary

Due to limited publicly available software and lack of documentation, those involved with production volume rendering often have to start from scratch creating the necessary elements to make their system work. Production Volume Rendering: Design and Implementation provides the first full account of volume rendering techniques used for feature animation and visual effects production. It covers the theoretical underpinnings as well as the implementation of a working renderer.

The book offers two paths toward understanding production volume rendering. It describes:

  • Modern production volume rendering techniques in a generic context, explaining how the techniques fit together and how the modules are used to achieve real-world goals
  • Implementation of the techniques, showing how to translate abstract concepts into concrete, working code and how the ideas work together to create a complete system

As an introduction to the field and an overview of current techniques and algorithms, this book is a valuable source of information for programmers, technical directors, artists, and anyone else interested in how production volume rendering works.

Web Resource
The scripts, data, and source code for the book’s renderer are freely available at https://github.com/pvrbook/pvr. Readers can see how the code is implemented and acquire a practical understanding of how various design considerations impact scalability, extensibility, generality, and performance.

Table of Contents

Preface
Goals

The PVR System
C++ and Python
Python bindings
Rendering with PVR

I Fundamentals
The Basics
Time and motion blur
Cameras
Geometry
Geometry attributes
pvr::Geo::AttrTable
pvr::Geo::AttrRef
pvr::Geo::Attr and pvr::Geo::AttrVisitor

Voxel Buffers
Introduction to voxel buffers
Implementing a simple voxel buffer
Field3D
Transformations and mappings
Interpolating voxel data
Filtered lookups

Noise
Procedural textures
Perlin noise
Noise functions
Fractal functions
The fractal base class
Fractional Brownian motion (fBm)

II Volume Modeling
Fundamentals of Volume Modeling
Volume modeling and voxel buffers
Defining the voxel buffer
Volume modeling strategies
Rasterization primitives
Instantiation primitives
Using geometry to guide volumetric primitives
Common coordinate systems
Procedural noise and fractal functions

PVR’s Modeling Pipeline
Overview
pvr::Model::Modeler
pvr::Model::ModelerInput
pvr::Util::ParamBase
pvr::Model::Prim::Primitive
Splatting data to voxel buffers

Rasterization Primitives in PVR
The RasterizationPrim base class
Implementing primitives
Sphere-based primitives
The Point primitive
The PyroclasticPoint primitive
Line-based primitives
The Line primitive
The PyroclasticLine primitive

Instantiation Primitives in PVR
The InstantiationPrim base class
Common strategies
The Sphere instantiation primitive
The Line instantiation primitive
The Surface instantiation primitive

III Volume Rendering
Volumetric Lighting
Lighting fundamentals
Absorption
Emission
Scattering
Phase functions
Optical thickness and transmittance
Wavelength dependency
Other approaches to volume rendering

Raymarching
An introduction to raymarching
Lighting and raymarching
Integration intervals
Integration intervals for multiple volumes
Integration intervals for overlapping volumes
Sampling strategies
Empty space optimization
Holdouts

PVR’s Rendering Pipeline
pvr::Render::Scene
pvr::Render::Renderer
pvr::Render::Camera
pvr::Render::PerspectiveCamera
pvr::Render::SphericalCamera
pvr::Render::Image

PVR Volume Types
Volumes in PVR
pvr::Render::ConstantVolume
pvr::Render::VoxelVolume
pvr::Render::CompositeVolume

Raymarching in PVR
Introduction
pvr::Render::Raymarcher
pvr::Render::UniformRaymarcher
Integration bounds

Lighting in PVR
Raymarch samplers
pvr::Render::DensitySampler
pvr::Render::PhysicalSampler
pvr::Render::Light
pvr::Render::PointLight
pvr::Render::SpotLight
Phase functions in PVR
Occlusion in PVR

Pre-Computed Occlusion
Voxelized occlusion
Deep shadows
Strategies for pre-computation
pvr::Render::VoxelOccluder
pvr::Render::OtfVoxelOccluder
pvr::Render::DeepImage
pvr::Render::TransmittanceMapOccluder
pvr::Render::OtfTransmittanceMapOccluder

Bibliography

Author Bio(s)

Magnus Wrenninge is a senior technical director and R&D programmer at Sony Pictures Imageworks. He is one of the developers of Field3D, an open source library for storing voxel data.

Editorial Reviews

This book deserves a place on any computer graphics developer’s bookshelf. Over the last few years, volume techniques have become essential to any high-end renderer and this book will bring anyone up to speed very quickly. I highly recommend this book.
—Doug Roble, Creative Director of Software, Digital Domain

 
Textbooks
Other CRC Press Sites
Featured Authors
STAY CONNECTED
Facebook Page for CRC Press Twitter Page for CRC Press You Tube Channel for CRC Press LinkedIn Page for CRC Press Google Plus Page for CRC Press Pinterest Page for CRC Press
Sign Up for Email Alerts
© 2014 Taylor & Francis Group, LLC. All Rights Reserved. Privacy Policy | Cookie Use | Shipping Policy | Contact Us