Nice blog post. For reference, here is how I imagined one would make Cycles GLSL more like modern PBR in games. It's stuff that you will find in e.g. recent SIGGRAPH course notes, and should be pretty efficient. http://blog.selfshadow.com/publications/s2013-shading-course/
For direct light you do pretty much the same as what GLSL shaders can do now. Loop over lights and compute the direct light with the BSDF, compute shadows with shadow maps. For indirect light you rely on an environment map, stored as a cube map. This should have a mipmap or texture array, with roughness used to pick the right image, from high resolution for sharp to low resolution or blurry for diffuse. Shadowing for indirect light is approximated by AO which you just multiply with the environment map. The environment map could be generated by compiling the world shader nodes as a shader and rendering that to a cube map. The thing I like about this is that you can relate tricks like SSAO to the physically based Cycles nodes and it makes it clear how it all fits together. The materials and world could have a separate viewport socket to allow users to have a different node setup in the viewport. Beyond this it's possible to try to approximate area lights with blurring shadows and increasing BSDF roughness, filtering the environment mipmaps in such a way that they match specific BSDFs, replacing a single environment map with multiple light probes, roughness adjusted AO, screen space SSS, and so on. But I suspect the basics will look pretty good + render fast, and a lot of the building blocks for that are in place. Brecht. On Sep 22, 2014 4:19 PM, "Antony Riakiotakis" <[email protected]> wrote: > Hi, I have posted a blog post on code.blender.org about the design and > targets of the viewport project. > > > http://code.blender.org/index.php/2014/09/viewport-project-targets-current-state-of-the-code/ > > Feedback (and contributions!) are encouraged and welcome! > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers > _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
