Page 1 of 3
Do all render engines only use polygons?
Posted: Wed May 16, 2012 9:31 pm
by enthewhite
Hi everyone. I am wondering if any render engines render nurbs surfaces natively? Or does everything have to be converted to polygons at some point before the render happens?
After using Octane for a while to render product designs from Solidworks and seeing how many polygons it takes in a .obj file to capture all of the details from a nurbs model, I am starting to wonder if any of the other solutions out there are built to work with nurbs models and therefore offer a more efficient way to render the projects that I am doing?
Re: Do all render engines only use polygons?
Posted: Thu May 17, 2012 8:24 am
by Proupin
The only one that I know (perhaps there are others) that renders nurbs natively is Renderman for Maya. No need to tesselate, just works with perfect and infinite curvature if that's what your looking for. To get a solidworks nurbs model to maya is probably possible. edit: you can export as .iges and use mayas iges importer
Re: Do all render engines only use polygons?
Posted: Thu May 17, 2012 6:33 pm
by Reggie
Proupin wrote:The only one that I know (perhaps there are others) that renders nurbs natively is Renderman for Maya. No need to tesselate, just works with perfect and infinite curvature if that's what your looking for. To get a solidworks nurbs model to maya is probably possible. edit: you can export as .iges and use mayas iges importer
Actually, that's not correct. Renderman subdivides Nurbs and Subdivisions into micro polygons at rendertime based on the shading rate. This is why a shading rate of let's say 10 will result in a very coarse Nurbs or subdivision surface. It's just so efficient that it doesn't tesselate the geometry before rendering each pixel like more traditional renderers.
Re: Do all render engines only use polygons?
Posted: Thu May 17, 2012 6:55 pm
by Proupin

what is not correct again?
Re: Do all render engines only use polygons?
Posted: Thu May 17, 2012 10:40 pm
by Reggie
Proupin wrote:
what is not correct again?
Renderman converts Nurbs and SubDs to polys at rendertime:
http://en.wikipedia.org/wiki/Reyes_rendering
Reyes renders curved surfaces, such as those represented by parametric patches, by dividing them into micropolygons, small quadrilaterals each less than one pixel in size. Although many micropolygons are necessary to approximate curved surfaces accurately, they can be processed with simple, parallelizable operations. A Reyes renderer tessellates high-level primitives into micropolygons on demand, dividing each primitive only as finely as necessary to appear smooth in the final image.
Re: Do all render engines only use polygons?
Posted: Thu May 17, 2012 11:35 pm
by Proupin
Did I say otherwise?
Re: Do all render engines only use polygons?
Posted: Fri May 18, 2012 12:56 am
by Reggie
Proupin wrote:Did I say otherwise?
Proupin wrote:The only one that I know (perhaps there are others) that renders nurbs natively is Renderman for Maya. No need to tesselate, just works with perfect and infinite curvature if that's what your looking for. To get a solidworks nurbs model to maya is probably possible. edit: you can export as .iges and use mayas iges importer
Yes, do you have no memory of this? Renderman does NOT render nurbs surfaces at all, it renders everything as polygons. It takes the curved surface information and splits it up into pixel sized polys at rendertime. Renderman will automatically tesselate the geometry at rendertime, on a per pixel or sub-pixel basis, but that does not mean that it renders nurbs surfaces as nurbs surfaces, they are each converted to polygons at rendertime.
Re: Do all render engines only use polygons?
Posted: Fri May 18, 2012 2:09 am
by ChrisVis
Hi guys,
just had a great find, that is a bit related to this topic... seems there will be other solutions out there in the near future?
http://ww.gpucomputing.net/?q=node/12802
By the way, very interesting site with top of the notch science news about gpu rendering!
http://ww.gpucomputing.net/?q=node/2467
Re: Do all render engines only use polygons?
Posted: Fri May 18, 2012 11:38 am
by Proupin
Reggie wrote:
Yes, do you have no memory of this? Renderman does NOT render nurbs surfaces at all, it renders everything as polygons. It takes the curved surface information and splits it up into pixel sized polys at rendertime. Renderman will automatically tesselate the geometry at rendertime, on a per pixel or sub-pixel basis, but that does not mean that it renders nurbs surfaces as nurbs surfaces, they are each converted to polygons at rendertime.
lmfao are you for real? So you are saying that, because Renderman uses an internal process such as micro-polygon tesselation for rendering Nurbs, it does NOT render nurbs?? Does anybody care what is Renderman doing besides you giving it a nurbs surface and it giving you pixels as a result? It certainly does not give you an error... on the contrary it looks amazing*.
If you try to render a Nurbs surface, will Renderman do it? YES. Therefore, is Renderman capable of rendering Nurbs surfaces? YES.
Hey, if you have a better candidate, and for whatever reason there exists a renderer that renders "nurbs as nurbs" (whatever that means), then please share with us...
*except if you happen to use third world class shading rate of 50.
PS: Did you know that Octane does NOT render polygons, AT ALL? internally octane converts the scene to voxels, and THAT is what Octane really renders...

By your logic, Octane does not render polygon geometry.
Re: Do all render engines only use polygons?
Posted: Fri May 18, 2012 12:10 pm
by matej
Arent NURBS a mathematically defined "infinite" surface? If yes, then it's not possible to render them without first evaluating them discretely. That would mean they need to be converted to a "finite set", before rendering, be that polygons or voxels or whatever...
(just a thought, I'm no expert, please don't kill me

)