Week 7

This week our team mainly focused on graphics optimization. The fact that the position of presenter and virtual audiences in the environment remains still makes it possible to remarkably optimize the graphics performance.  Lighting Lightmap and light probes are baked for the environment in order to completely remove dynamic lights. Since the presentation scene is completely static, it is easy to pre-compute the lighting result in a lightmap even using advanced GI technique. The case is a bit more tricky for virtual audiences, which are generated on the fly. To avoid the heavy real-time lighting computation, light probes, which sample lighting information at discrete positions and encode the information by spherical harmonics function, are used. Dynamic objects then could be lit by interpolation among light probes (per vertex in our case, though it is also possible to do per pixel). Although the quality was not so nice as that of real lighting, we found it decent enough with the given mobile screen resolution. And the most important, it was very fast.

Our leader programmer wrote custom unlit shaders to exclusively support lightmap and light probe interpolation. They turned out to be faster than unity built-in mobile shaders because those unlit shaders completely abandoned real-time light computation.

For our Application design, we also finished the hand-draft of wire frames for our app.