Rendering NURBS in PBR slow

   4618   7   3
User Avatar
Member
345 posts
Joined:
Offline
Hi all,
Comparing scenes built only with polygons with renders of same one built with NURBS I find rendering NURBS in PBR much slower. I did same tests with pure raytrace and standard micropoly mode and every time NURBS rendered fairly quick. Is there any particular thing which may produce this slowdown?
I can imagine the difference in speed between polygons and NURBS may come from conversion time NURBS have to be turn to polys. But maybe the problem lays in the algorithm used in PBR, or use of rational surfaces or simply it's a bug… Could somebody share his toughs about it. Thanks in advance.

All the best
kuba
User Avatar
Member
1390 posts
Joined: July 2005
Offline
kuba
Hi all,
Comparing scenes built only with polygons with renders of same one built with NURBS I find rendering NURBS in PBR much slower. I did same tests with pure raytrace and standard micropoly mode and every time NURBS rendered fairly quick. Is there any particular thing which may produce this slowdown?
I can imagine the difference in speed between polygons and NURBS may come from conversion time NURBS have to be turn to polys. But maybe the problem lays in the algorithm used in PBR, or use of rational surfaces or simply it's a bug… Could somebody share his toughs about it. Thanks in advance.

All the best
kuba

Hey Kuba,
I'm sure someone from SESI will give you relevant information soon, but as a general rule, you can expect that parametric surfaces render slower specially in raytrace/pathtrace mode (also in micropoly, but this is far less noticeable). There are lots of issues here which I possible don't recognize, but finding ray intersection for Nurbs is much more computational expensive, then for polygon for example. This stay true for metaball primitive also, which, believe me, you wouldn't like to trace.
User Avatar
Member
186 posts
Joined: Jan. 2006
Offline
In addition to what SYmek said, if you are in desperate need of rendering NURBS or subdivs in PBR or raytracing, and you have some extra memory to burn, try adding the rendering parameter “vm_raypredice” (it's called “Ray Predicing”) to the NURBS object, and set it to “Full Predicing”.

This will cost you some time before the rendering starts, and extra memory, but depending on your case may well be worth the hassle since it will normally accelerate raytracing of parametric surfaces immensely.

Cheers,
Abdelkareem
User Avatar
Member
345 posts
Joined:
Offline
thanks guys, will to test it straight away.

cheers
kuba
User Avatar
Member
7025 posts
Joined: July 2005
Offline
You can also set the raytraced level of detail to .1 or .2, and in most cases it will appear the same but render many, many times faster.

basically a raytracer has to turn the nurbs to polygons before it renders, and the default is a very high level of detail, which is usually not needed.

Cheers,

peter B
User Avatar
Member
345 posts
Joined:
Offline
Peter, do you mean ray shading quality in dicing tab or just using level of detail sop?
User Avatar
Member
7025 posts
Joined: July 2005
Offline
Dicing tab is the one!
User Avatar
Member
345 posts
Joined:
Offline
Thanks for that tip Abdelkareem, I noticed 25% increase in speed, sweet!
  • Quick Links