REYES, Primitives & Some Philosophy

Since life is short and eter­nity is not, exe­cut­ing a piece of code an infi­nite num­ber of times is severely con­straint by quite a few cir­cum­stances. The first one is prob­a­bly that you like to see the image you are ren­der­ing in the very near future, most often mea­sured in min­utes and even if your imag­i­na­tion is great enough that this is not of mat­ter to you, imag­ine that the uni­verse will cease to exist in few zil­lion years, while your com­puter would be guar­an­teed to still be busy with cal­cu­lat­ing the gazil­lionst sub­di­vi­sion step and not even be close to the limit surface.

But there is hope. Since an image has a lim­ited res­o­lu­tion, clever peo­ple came to the con­clu­sion that one may take advan­tage of this and sub­di­vide only so often that the result­ing shape has a geo­met­ric res­o­lu­tion — read: num­ber of poly­gons in a REYES-renderer — that can be cap­tured by the num­ber of pix­els present in the image any­way. Since those peo­ple writ­ing REYES ren­der­ers rival those afore­men­tioned in clev­er­ness, they use exactly that approach. The num­ber of sub­di­vi­sion steps applied to the input geom­e­try is deter­mined by the size of the object on the screen (and another attribute which is not dis­cussed here and called ‘Shad­ing Rate’ in RMan; but let’s com­pletely ignore this now).

To under­stand what this means, we get back to our space­ship exam­ple. Let’s say we build a space­ship in our mod­el­ing appli­ca­tion, con­sist­ing of approx­i­mately 10,000 poly­gons. Ren­der­ing this one out as a Sub­di­vi­sion­Mesh prim­i­tive will quite prob­a­bly mean that the ren­derer will gen­er­ate a few mil­lion poly­gons from it while it is close to the cam­era. As it moves away and fills a smaller por­tion of the image, less and less poly­gons will be cre­ated from it — only enough to get a nice curved look under all cir­cum­stances imposed by the image the ren­derer was asked to gen­er­ate from it.

Pages: 1 2 3 4 5 6

3 Comments »

  1. Myles says:

    Moritz– nice lit­tle article.

    You may remem­ber me from such pro­duc­tions as ‘Ani­malia’ (I’m one of the joonya’s that sat next to you).

    Ques­tion after read­ing the arti­cle– If Sub­di­vi­sion is recal­cu­lated frame by frame in order to opti­mize microp­oly­gon num­bers, is it ever likely to encounter arti­facts caused by a timestep and result­ing mesh change. That is to say if the topol­ogy of the sur­face is chang­ing to incor­po­rate more or less poly­gons will the change every lead to prob­lems. I won­der­ing both about pos­si­ble sil­hou­ette issues and tex­ture prob­lems. I sup­pose what I’m really ask­ing is if I was to crank the shad­ing rate to 50 or 100 (assum­ing it lets me and the con­trol sur­face is suit­ably low poly) would the mesh pop in a ran­dom fash­ion either side of the ‘limit sur­face’ or would the sub­di­vi­sion remain, by some mir­a­cle, rel­a­tively uniform .

    Obvi­ously I would assume such vari­a­tions would be next to impos­si­ble to detect on a mov­ing object with a suit­able shad­ing rate but all the same I wonder.

    Myles

  2. Moritz says:

    Yes, it is indeed so that in REYES, the dic­ing of a mesh will change every frame, if that mesh is deforming/transforming and/or the cam­era is trans­form­ing or chang­ing para­me­ters, rel­a­tive to the gprim in question.

    This can lead to crawl­ing arti­facts on very slowly deform­ing geom­e­try (slowly, as in: lit­tle change over many frames and pos­si­bly motion blur not being used to worsen things). Par­tic­u­lal­rly displacement/bump map­ping is prone to expose the problem.

    Note, how­ever, that this is all hap­pen­ing in aligne­ment with the primtives’s UV para­me­ter­i­za­tion which (sup­pos­edly) is the same, direc­tion wise, over a sequence of frames. This and the fact that motion blur is almost always used in images com­ing out of REYES ren­der­ers, helps hid­ing the issue, if there is any vis­i­ble one.

    Con­sider the alter­na­tive in a ray tracer: every pixel is sam­pled (many times). Were a ray hits the prim­i­tive (aka: the ray-tracer’s “shad­ing rate”) has noth­ing to do with the UV para­me­ter­i­za­tion of the sur­face at all. Even with cor­rect fil­ter­ing, you can get sim­i­lar pop­ping of fea­tures but it will likely be much more pro­nounced than in a REYES renderer.

  3. cubrikaska says:

    la idea muy buena

RSS feed for comments on this post. / TrackBack URI

Leave a Reply

A Comment on the iPhone 4’s “Retina Display” Debate

Sev­eral blogs and mail­ing lists I fre­quent linked to an arti­cle inves­ti­gat­ing the valid­ity of Apple’s claims that the iPhone 4′s dis­play has a ‘ter­mi­nal’ res­o­lu­tion for the appli­ca­tion at hand: namely a human read­ing its dis­play at an ‘aver­age’ dis­tance (which, being unspec­i­fied in Apple’s press release, offers quite a bit of lat­i­tude for interpretation).

The arti­cle ignores sev­eral impor­tant facts.

Con­tinue »

On Plagiarism & Creativity in the Digital Age

A while ago there was a thread on the 3D-Pro mail­ing list that diverged from its orig­i­nal sub­ject and took a turn towards a debate about copyright.

The debate resulted when some­one dis­cov­ered that part of an image was being used as a back­drop for another image with­out giv­ing proper credit. It is note­wor­thy that the lat­ter work was not of com­mer­cial nature. The poster got very upset about this nev­er­the­less. I think what upset them most was the fact that the cre­ator of the derived work claimed copy­right. The poster called that per­son an “artist” (they used quotes to express their dis­agree­ment with the use of that term) who had “the filthy guts to rip of another (real) artist’s hard work”.

Con­tinue »

Planet Japan

I arrived in Tokyo last week but due to the sen­sory over­load this city imposes on the brain, par­tic­u­larly on a geek’s brain, I needed some time to con­tem­plate (read: process) my impres­sions before writ­ing any­thing about it.

Let me start by say­ing that I feel utterly stu­pid, by now, for not hav­ing vis­ited Japan ear­lier. My aunt is Japan­ese; through her I got to watch “Naus­caä of the Val­ley of the Wind” (in Japan­ese, w/o sub­ti­tles), when I was 11 years old, in 1985, the year after the movie came out. The images never left my head and I believe they were part of the rea­son I ended up pur­su­ing a career in film.

Con­tinue »