Render.ru

Optimizing renederings: Nurbs or Polygon?

#1
Расскажите - какая геометрия как рендерится с точки зрения скорости?
 
#2
Точно сказать не могу, я не автор рендереров, но когда-то Larry Gritz в c.g.r.r. писал, что BMRT и соответственно Entropy гораздо эффективнее рендерит NURBS. Вплодь до того, что настоятельно не рекомендовал рендерить большие количества полигонов, так как внутри они все равно переводятся в NURBS, а этот перевод очень неоптимален в смысле затрат памяти.

Я так думаю, что в prman то же самое. Просто проверить данный факт архисложно, поскольку трудно сделать одну и ту же сцену в полигонах и нюрбах. Кто-нибудь возьмется?

Кстати, я тут покопался в развалах PDF'ов, и нарыл, что Catmull Clark subdivision surfaces тоже очень легко аппроксимируются NURBSами.

Так что идея о том, что внутри у рендерера есть только нюрбсы, кривые и точки - вполне возможна.

Еще раз. Я не автор рендереров. По большому счету, такие вещи надо спрашивать на c.g.r.r или на Rendering List на Highend3d
 
#3
Ну да, похоже на то, вот цитата из документации к Entropy:

"Unlike many renderers, high-level primitives like NURBS are not inherently expensive.In fact, with Entropy, a NURBS patch has about the same expense as a single polygon that is the same size on screen. Thus, specifying curved primitives with NuPatch or SubdivisionMesh is considerably less expensive than specifying the same shape with thousands of tiny polygons, and additionally the curved surface will never show any polygonal artifacts."

Я как раз и хотел проверить, у меня есть сцены просчитанные в нурбсах, я попробую просчитать их в полигонах. Если не поленюсь, то потом расскажу.
 
#4
vot tut

http://news2.mcneel.com/scripts/dnewsweb.exe?cmd=article&group=rhino&item=68478&utag=

nemnogo pro napisano
eto iz Rhinno3D foruma , tam obsuzdali vopros o vozmoznosti rendera NURBS bez prevrashenija ix v polygoni
 
#6
Если я правильно помню (что вообще-то не очень вероятно, потому, что было это лет 5 назад) Гритц как-то рассказывал, что полигоны и в прмане, и в БМРТ во внутреннем представлении - билинеары. При треугольных полигонах у них просто совпадают две вершины, так что если и можно что-то сказать - это то, что такие полигоны - наихудший вариант с точки зрения памяти и скорости. Он мне даже предложил (когда я был озабочен написанием 3ДСтудиевого РИБ-экспортера) анализировать соседние фейсы на предмет наличия общего "сглаженного" ребра, и если так оно и есть, выводить их в один билинеар. При этом можно даже не проверять их копланарность. Что я и сделал в максовом плагине...
 
#7
Modeling For Efficient Rendering
July, 1990
"PhotoRealistic RenderMan is more efficient at rendering some types of models than others. The renderer has been optimized for some features, and consequently other features are less efficient. Modelers which take advantage of this knowledge will get their models rendered more quickly, with no loss of generality or features."
"The single most important thing a modeler can do to optimize its geometric model for PhotoRealistic RenderMan is use curved surface primitives to model curved surfaces. This is not a trite comment. Historically, modelers and renderers have shared the characteristic of processing polygonal data almost exclusively."
"PhotoRealistic RenderMan does not fit into this model, however. PhotoRealistic RenderMan accepts and processes curved surfaces directly, and very efficiently. A single sphere primitive will render faster than 30 polygons approximating a sphere, and significantly faster than 1000 polygons approximating a sphere. The curved surface descriptions are more memory efficient (both core and disk) than polygonal approximations of the curves. Moreover, the shading normals of curved surfaces are always correct without resorting to interpolation, its silhouettes are smooth, and the surface is approximated at exactly the right level of detail. "
... and so on in PRman docs.
 
Сверху