PDA

View Full Version : why does displacement renders SO FAST on RFM?


Sincrol
09-11-2009, 08:26 AM
ive been doing some tests over here on a friends computar that has renderman...

and displacement... AA... DOF... MotionBLUR... all those stuff are LIGHTING fast on renderman...

i try to make to look the same on MentalRay but it takes LIGHT YEARS to render..


can someone explain me why renderman is much more faster in those aspects? and WHY mental-Images dont make MentalRay to render that way?


thank you and im sorry about my crappy english.

swag
09-11-2009, 03:11 PM
http://en.wikipedia.org/wiki/Reyes_rendering

joie
09-11-2009, 04:16 PM
Reyes algorithm is your friend.

I guess Pixar got the guy that developed that algorith chained to his table until he finished it, then they cut his hands or killed him, because nobody has beat Renderman speed in almost 30 years...

InTerceptoV
09-12-2009, 12:11 AM
But as far as I know displacement quality depends on Shading Rate? While in raytracers like Mentalray you can control this as separate value... in RenderMan Reyes displacement shading is tightly connected with displacement details, so by bumping up the shading rate displacement will also slow down quite a bit.

That's what I know from my experience with Reyes, but someone can correct me if I am wrong.

Rasterizer in MR is still really fast because it's almost the same engine as Reyes ... the main problem with the speed of other raytracers is that they can't separate shading from geometry sampling. Geometry sampling is something that can be done really fast, just try to render any scene with simple materials and it will render in seconds or minutes, while with materials it can take even couple of hours. So, by sampling geometry with higher amount of samples, which is really fast, and keeping shading samples as low as possible, you can get some good render times... that's the base philosophy behind PRMan, 3Delight.
But there are also some quite interesting tricks... like when your object is moving fast with 3d motion blur, or it's completely defocused because DOF, PRMan can go even lower with shading sampling because you don't need details in those areas. They introduced some of those techniques in new versions of mentalray, but this stuff was build in PRMan a long time ago. :)

What I was always wondering how come almost every raytracer on market has better GI solutions than PRMan, 3Delight?

Xharthok
09-13-2009, 08:44 PM
Renderman takes a high level Surface (SubD, Nurbs, etc.) bound and split it, then tesselate it in screen space with small quadrilateral patches. These "Micropolygons" are roughly one pixel in size if you've set the shadingrate to 1.
For instance if you have some SubDiv characters in your scene, the ones near Camera are much finer tesselated than the other ones far behind. Very efficient. Then shading is calculated "only" on the vertices and interpolated across the surface of the micropoly. At this stage the renderer can not only shade but also move the vertices around... and there you have Displacements, fast and clean.
THEN the Micropolys are sampled and since they already shaded it's nothing more than geometry sampling like InTerceptoV mentioned. This is VERY fast in Reyes.

Thing is, all this happens only in a bucket. And Renderman performs best if it doesn't need to know what's outside the bucket. Because of this, raytracing in Reyes is way more complicated internally (mulires Geometry Caches and things) than in a raytracer (that keep almost all geometry in Ram).
One can argue that tracing is alot slower in REYES but people tend to accept more sampling artifacts in a raytracer and this smashes the comparison most of the time.
And Prman and 3delight keeps getting faster and faster in "Raycing".

That said a Reyes Renderer has some problems too especially with detailed Displacements. Sometimes you get flickering and popping of Micropolys and then you have to fight with things like Dicing cameras, non raster oriented dicing, extreme shadingrates, or z-importance (in Mantra:buttrock: ).

But I have to mention raytracers also making alot of progress lately.

sorry... english!

tharrell
09-13-2009, 09:59 PM
Generally I dump my shading rate down to .5 or even .1 if I want super fine detail on my displacement to show up in PRMan. It's still blazing fast (usually).

You'll find that when raytracing that this becomes a performance hit, though. Tracing displacements is kinda lame.

But, when you can get 3D motion blur and depth of field practically for free -- you learn to work around tracing when possible.

It's just a different workflow. It has strengths and weaknesses, but if you're using multiple 8k 32-bit displacement maps in a scene, I can guarantee you that PRMan/3DL will burn through the render with minimal RAM footprint, assuming that tracing is off or applied intelligently.

Me? I render highly displaced stuff at print resolution. I'll gladly cheat or work around tracing to get 8k x 5k renders out in 15 minutes vs 5-6 hours a pass.

Mauritius
09-15-2009, 10:51 AM
I guess Pixar got the guy that developed that algorith chained to his table until he finished it, then they cut his hands or killed him, because nobody has beat Renderman speed in almost 30 years...
Almost. DNA (3Delight) beat Pixar (PRMan) in their REYES implementation for memory and speed many times, in the last decade.
When it comes to subdivision surfaces, Pixar only managed to barely catch up again in the last year. ;)

.mm

P.S.: REYES was indeed invented almost 30 years ago, but at ILM's CGI division (which later detached and became Pixar)..
It became available in a public implementation, namely PRMan, through Pixar, in 1989 (aka 20 years ago).
This is a very telling story. Even today, cutting edge techniques, used in production, can take up to 5 years to filter into commercial products, available to the "masses".

CGTalk Moderation
09-15-2009, 10:51 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.