3 ms·
I suspect that every production renderer must eventually have something like a heat map. Back when I worked at Pixar on the RenderMan team, I was the one who i
by a_e_k 4y ago
I suspect that every production renderer must eventually have something like a heat map.
Back when I worked at Pixar on the RenderMan team, I was the one who implemented the cpuTime and sampleCount AOVs (i.e., passes) [0] in RenderMan RIS as well as some of the other diagnostic AOVs. And SPI's Arnold also acquired a pair of equivalent AOVs at some point [1]. The cpuTime AOV wasn't exactly novel then either, as I recall; I think there'd been something like it back in the old REYES days.
I'd also contributed a bit to the render time heatmap and added the sample count heatmap in the XML stats files [2]. Those are more thumbnail resolution than the AOVs, but on the other hand they were always-on for all generated stats files. The also displayed with nice little histograms.
One of the things that I learned in my years at Pixar was that rich diagnostics, statistics, or metrics are one of those key things that separates production renderers from other renderers. Pipeline folks, render wranglers, and TDs thrive on them.
[0] https://rmanwiki.pixar.com/display/REN24/Arbitrary+Output+Variables https://rmanwiki.pixar.com/display/REN24/Arbitrary+Output+Va...
[1] http://fundza.com/tishela/PDF/TransitionToRayTracingAtSony.pdf#page=16 http://fundza.com/tishela/PDF/TransitionToRayTracingAtSony.p...
[2] https://rmanwiki.pixar.com/display/REN23/Diagnostics https://rmanwiki.pixar.com/display/REN23/Diagnostics
- mkaic 4y agoOh shoot, you're totally right -- doing a quick search reveals that Blender's Cycles engine has totally had this feature for a while and I was just completely unaware of it despite using it frequently! Although even without the heatmap pass being unique/new I'm still super excited for the rest of MoonRay, especially those delicious volumetrics! https://docs.blender.org/manual/en/latest/render/layers/passes.html https://docs.blender.org/manual/en/latest/render/layers/pass...
- a_e_k 4y agoOh yes, I'm not knocking the release of MoonRay as a whole. I was at HPG '17 when the paper that erichocean mentioned was present. I'm definitely excited to get a peek at it. I also wonder now how much work it was to disentangle it from their infrastructure? A lot of internal studio tools and libraries tend not to work outside of their studio's intranet -- not so much from direct copy protection, but more just because of heavy assumptions about filesystems and servers.
- taylorius 4y agoBack in the day, I was head developer of Rendition, a "real time" preview renderer that was compatible with Mental Ray in Maya. We implemented a heat map, and it was often shocking how much a seemingly innocuous aspect of a material could impact ray counts. Of course this was pre-pathtracing, so it showed up differently.
- a_e_k 4y ago> We implemented a heat map, and it was often shocking how much a seemingly innocuous aspect of a material could impact ray counts. Definitely. I think that "you don't know until you profile" applies just as much to optimizing renders as it does to optimizing code. > Of course this was pre-pathtracing, so it showed up differently. Yep, I remember those days of distribution ray tracing. There were all sorts of tricks to keep the ray trees under control, like lowering the number of glossy or shadow samples the deeper you were in the tree. I don't miss them. Pathtracing made things so much easier to tune.
- taylorius 4y agoOh definitely! So much easier now. After Rendition we did another version called Spraytrace which tried to force mental ray into more of a pathtracing type mode of operation, (eliminating ray branching, rather than light transport) by faking the mental ray api return values, and overlaying our own sampling. It worked, but was rather a hack. God knows why we didn't just see the writing on the wall, and write a path tracing renderer. :-)