A Tale of Three Dinos

A Tale of Three Dinos

In which we encounter arbitrary output variables and a dastardly fellow, indeed...


images/dino3.png

Behold! Three Dinos!

We've rendered an image with three dinosaurs. Because we might want to do some relighting sort of stuff in post, we also rendered out a normal pass:

images/dinoN.png

Three Dinormals! (N)

But what's this? That small one on the left looks rather more bumpy and noisier than expected, especially around his forehead. How can this be? Hmm... Let's check the other passes. Maybe one of them will give us a clue:

images/dinoMPSize.png

The MPSize AOV

Aha! He seems to be suffering from a case of tiny micropolygons. Is he overmodeled? What could have caused this? We can check the .rib file, but where? They could be huge! And machine generated! Maybe the id pass will help:

images/dinoId.png

The id AOV

Alright. So he's dino #3 according to the id channel (determined from the pixel value - note that the image above has been remapped for viewing purposes). If we search for that in the .rib files we find:

AttributeBegin
  Attribute "identifier" "int id" 3
  ShadingRate 0.01
  Translate -300 0 300
  Scale 0.25 0.25 0.25
  ReadArchive "dino"
AttributeEnd

Aha! Some dastardly fellow has mucked with the shading rate. We can fix that and realize a tidy memory savings. The shot is saved!