Compare

Captain obvious

I have mixed feelings about this post I am about to write. On the one hand, this is something obvious and elementary. These techniques are used in many graphics blogs. On the other hand, I have seen many blog posts, discussions among programmers and even scientific articles that ignore this issue. So I think this topic is pretty important, and I'll give you some ideas, so let's get started.





The importance of references

Imagine working on something (new feature? Major optimization that sacrifices β€œa little” quality? New pipeline?) For several days. You have some promising results. The art director likes it. There are only a couple of small changes left, and you will present your result to everyone. You look at your results every day (well, in fact, you look at them all the time), but suddenly you decide to ask another artist or programmer to help you evaluate your work, and you start discussing / arguing / doubting β€œshould it look like exactly"?





Well, that's a great question. Is the image too bright? Or is the indirect lighting not strong enough? Is your approximation of areal light sources plausible and energy-saving? What about math: have I forgotten the (notorious) division by pi? Was my monitor decalibrated by my cat, or maybe the art director looked earlier from a different angle?





Honestly, after a couple of iterations of development, I stop noticing what looks right and what doesn't, and return to parts of the concept art, art director reviews, or photos.





It is almost impossible to answer all these questions just by looking at the resulting picture. It is also extremely difficult to do this without complex and lengthy code analysis and mathematics. That is why it is necessary to have references / versions for comparison.





. . . , , . , ( , ), - β€œβ€, , .





, ? , β€œbrute-force” , . , - /, , , 16/33 .





, 3D , , . CGI , . , , . , β€œ ” , β€œ ”, . 3D, , GI / AO /PBR / , , , / . , .





, , .





, . , , ? Mathematica /BRDF. , , , , .





, 64x64, , . 10 GTX Titan, . , , .





CPU 64x64 , , (-) . PCSS ?





()

, - . , , , - .. , , , ? , ?





, - MSAA, , AA , , , AA ? , AA , ? ,  , , β€œβ€ ? , , ( , Toksvig, )? , / ?





, ( , ), , .





, . :





  • . , , …





  • In-place . , / ( Unreal Engine), ( 2 , 256 !)





( -, , , bloom), , : mip- (~log2 ) LOD . , : 2 ( - , , 10 , ?), ! , 3-5k$ ( ), β€œβ€ ( ) GPU, , 4 .





, - . , GI ( ) , /. . CPU/GPU .





, , β€œ ?”, β€œ / ” .. , …





, Maya/ 3D , , , . , - BVH/kd-Tree AO , ( ). SSAO AO . GI . PBR , , R&D , , CGI/, .





Brian Karis Physically Based Shading Siggraph 2013 β€œ ”. , , . - , / !





, : . , mip , / - . , , . , !





/

, : , , :













, , . , . ( ) , , - .





, , , , , ; , , .





: , (/ ) . , .





-   /, . , Adobe Lightroom. β€œβ€, , .





β€œβ€. : , / - ! , 10 - β€œ ?”. , , ; , , , .





. - , , / ( ! , , , ). ( , ) , , , ( , ), (, ).








All Articles