Physically Based Rendering book

   5239   5   0
User Avatar
Member
66 posts
Joined:
Offline
Is the book Physically Based Rendering (http://www.pbrt.org) [pbrt.org] relevant to mantra's pbr? I'm wondering if I should get the book in order to better understand how to use physically based rendering in mantra?
User Avatar
Member
941 posts
Joined: July 2005
Offline
That is one of my all-time favorite rendering books, but it's all about the technology and algorithms behind PBR. It will help you understand how a PBR renderer might be implemented (with wonderful clarity and in minute detail), but I'm afraid it will not help you much with *using* Mantra's implementation.

So, if you're interested in the grizzly details of how to write a PBR renderer, then I highly recommend it. Otherwise I'd say don't waste your money.

As an aside: pbrt now has a fork called “luxrender” which aims to make pbrt a more production-ready renderer.

HTH.
Mario Marengo
Senior Developer at Folks VFX [folksvfx.com] in Toronto, Canada.
User Avatar
Member
66 posts
Joined:
Offline
Thanks Mario! Here's my situation:

I have a basic understanding of rendering in general, in mental ray, vray, and mantra, and have also gotten some pretty good results out of the standard micropolygon mantra renderer with GI, irradiance caching, and have done some vops shader creation with displacement, etc. I don't really understand about using photons though, and PBR seems to use this, right? And the F slot in the output vop… can I just plug another F input into it and its ready? or…

I don't necessarily need an explanation of what buttons to push, but I don't really have a concept of what physically based rendering is, and how it differs from “normal” rendering. Therefore, I don't know why or how I'd use it. But I've seen that it can make some really nice images. I'm not afraid of going through more technical information to understand what I'm dealing with, but I really don't need to implement a renderer or something like that.

Would the book be generally useless for me? If so, where can I go to fill in the missing pieces so I can understand how and when to use PBR? Of course, I'll end up experimenting and figuring it out on my own as well, but I'd also like to get more information to make the learning process as fast as possible.

Thanks!
User Avatar
Member
941 posts
Joined: July 2005
Offline
Well, maybe you should get it then, if for no other reason than that it does a great job at explaining all the concepts very clearly. Also, from the point of view of a shader writer, the more technical details are priceless.

I'm no expert on the subject, but at least conceptually, the thing itself is not complicated: PBR is an attempt at modelling how light interacts with objects in a way that is physically plausible. So instead of talking about a “diffuse and specular color”, as in the standard local illumination model for example, it describes emission, reflectance, and transmission as distribution functions (of probability or power) over a (hemi)sphere. It then uses these distributions to choose in which directions to sample the scene as efficiently as possible.

In Mantra's implementation (as well as in pbrt), all the distribution functions for the different aspects of light scattering (reflectance, transmission, etc) are bundled into a single object: a “bidirectional scattering distribution function”, or “BSDF”. That's what the F slot in VOPs (and the global var ‘F’ in the shading context) stands for: it describes the shape of these distributions.

So yes, you can plug in the F output from some lighting model VOP to the F input of any other VOP (and ultimately to the “F” input of the Output VOP). There are some basic arithmetic operations that can be applied to the bsdf data type as well (the data type of that “F”), like addition, multiplication by a scalar, etc, which allows you to manipulate them somewhat.
Currently though, you can only select among a set of pre-defined distributions (F's), you don't write your own in your shaders.

For more details on the VEX/VOP interface to Mantra's PBR implementation, you can start by looking here:

1. Physically Based Rendering [sidefx.com]
2. Writing VEX Shaders For Physically Based Rendering [sidefx.com]

HTH.
Mario Marengo
Senior Developer at Folks VFX [folksvfx.com] in Toronto, Canada.
User Avatar
Member
66 posts
Joined:
Offline
Thanks again Mario. I have read those two pages in the documentation a few times in the past, and again now, but I think I'm just going to need to practice and do some trial and error for it to “click”.

I found this thread also, (http://forums.odforce.net/index.php?showtopic=6470) [forums.odforce.net]

Maybe SideFX can make some PBR tutorials for the medium-level users so that we can get up to speed with it..?
User Avatar
Member
398 posts
Joined: July 2005
Offline
This book is interesting even if you'll never write your own renderer. And sure you can apply the maths from this book to some of your shaders. Chapter about volumetric stuff is pretty cool
f = conserve . diffuse . advect . add

fx td @ the mill
  • Quick Links