PDA

View Full Version : Interactive BRDF editing software



lordmule
07-29-2010, 01:34 AM
hi everyone,

I am looking for software that allows you to render a scene of complex geometry (more than spheres/boxes) with surface properties defined by Bidirectional Reflectance Distribution Functions. A user should be able to use or define a BRDF such as cook-torrence, Lafortune etc. as material properties for the geometry in the scene. Most importantly be able to control parameters interactively and have reasonable response time.

At the moment, I don't have the necessary software/hardware combination to try out things like ATI rendermonkey, NVidia CG examples, Lumina (http://lumina.sourceforge.net), Stanford's BRDF browser bv (http://www-graphics.stanford.edu/~smr/brdf/bv/).

I don't have Maya, Autodesk, Renderman or anything particularly fancy to play with. But the latest blender 2.5 has some BRDF capabilities, I am yet to build this for my humbly crappy macbook pro.

I was able to run some examples using Physically Based Rendering Toolkit PBRT (http://www.pbrt.org/), 3Delight (http://www.3delight.com/en/). This is raytraced and not interactive enough :(

I found some more relevant academic works:
Ben-Artzi, Aner; Overbeck, Ryan; Ramamoorthi, Ravi. Real-Time BRDF Editing in Complex Lighting. ACM Transactions on Graphics, July 2006 (SIGGRAPH 2006).

Mark Colbert, Sumanta Pattanaik, and Jaroslav Krivanek. Brdf-shop: Creating physically correct bidirectional reflectance distribution functions. IEEE Computer Graphics and Applications, Vol. 26, No. 1. January/February 2006

NIST has application/source code for their comprehensive OBL Oregon BRDF Library
http://math.nist.gov/~FHunt/appearance/obl.html

I have contacted many of the academics if they would allow the use of this software for non-commercial purposes...I don't expect a response anytime soon :(

Questions that some of you may be able to answer:

1) Having not implemented anything shader fancy myself, would it be difficult to take an existing OpenGL program (i have already) that can be extended to implement the BRDF effects?

2) Does anyone know of other software that may be of relevance? (hardware/platform not an issue)

3) Would there be a more appropriate forum/persons to ask about this software?

Thank you for enduring this long post. Any help is greatly appreciated.
lordmule

Alfonse Reinheart
07-30-2010, 07:23 PM
At the moment, I don't have the necessary software/hardware combination to try out things like ATI rendermonkey, NVidia CG examples, Lumina (http://lumina.sourceforge.net), Stanford's BRDF browser bv (http://www-graphics.stanford.edu/~smr/brdf/bv/).

If you don't have the hardware to try shader-capable programs, odds are you don't have the hardware to render even modestly complex BRDFs period. Not with a scene of "complex geometry" with "reasonable response times."

Dark Photon
07-31-2010, 01:28 PM
Questions that some of you may be able to answer:

1) Having not implemented anything shader fancy myself, would it be difficult to take an existing OpenGL program (i have already) that can be extended to implement the BRDF effects?
Possibly. Depends on the specific effects you are after. Diffuse bleeding for instance? That's something that's a bit hard with stock rasterization, which is fast because it simplifies lighting interactions.

In general, BRDF just relates incoming light direction/intensity to outgoing light direction/intensity (playing fast and lose with terms here). So you have to have some way to represent the incoming light distribution and some math model or representation of the BRDF to apply it.

If you want to learn more about this area, I'd recommend reading the material from the SIGGRAPH 2010 Course: Physically-based Shading Models in Film and Game Production (http://bit.ly/s10shaders)
: http://bit.ly/s10shaders
: http://www.siggraph.org/s2010/for_attendees/courses
: http://www.realtimerendering.com/blog/siggraph-2010-courses-update/

And I agree with Alfonse. For rendering realtime material BRDFs, you want shader hardware and you want to learn how to write shaders. Given that, it makes it quite a bit easier to consider implementing more complex and realistic shading/BRDFs than are offered by the fixed-function pipeline.

lordmule
08-01-2010, 09:11 PM
Thank you for your responses.


[quote]
If you don't have the hardware to try shader-capable programs, odds are you don't have the hardware to render even modestly complex BRDFs period. Not with a scene of "complex geometry" with "reasonable response times."

I am now at a modest workstation: Intel Q9400, ATI HD3450. I will be getting a i7 930, NVidia 260GTX in the coming week or so.



Possibly. Depends on the specific effects you are after. Diffuse bleeding for instance? That's something that's a bit hard with stock rasterization, which is fast because it simplifies lighting interactions.

In general, BRDF just relates incoming light direction/intensity to outgoing light direction/intensity (playing fast and lose with terms here). So you have to have some way to represent the incoming light distribution and some math model or representation of the BRDF to apply it.

If you want to learn more about this area, I'd recommend reading the material from the SIGGRAPH 2010 Course: Physically-based Shading Models in Film and Game Production (http://bit.ly/s10shaders)
: http://bit.ly/s10shaders
: http://www.siggraph.org/s2010/for_attendees/courses
: http://www.realtimerendering.com/blog/siggraph-2010-courses-update/


Thanks for the links. Those SIGGRAPH courses are rich in detail, which is good. Hardware issues aside, my original question was regarding the complexity of implementation.

I don't want to repeat what other rendering packages can do for BRDF if it will take a long time. Basically I am looking for shortest path to getting an application to do what I originally posted :)

cheers