I read through the docs and got some basic idea about the engine. But I still don’t understand how the renderer works. I looked up the source code and meet batches, queues and various of things. And the View class does a lot of work while rendering, but it is not mentioned in the document. Can anyone give a high level design description of the rendering process? How are the render commands organized? What is the responsibility of View? And how renderer, graphics and view collaborate with each other conceptually?
BTW, I am curious about the shadow pass defined in technique, whereas there is no shadow pass defined in the renderpath. It seems a special case. After reading some code, I found it is not added to renderpath after all and shadow drawing is separate from the renderpath command. Is my understanding correct? If so, why not put every pass into the renderpath which is more consistent?
Thanks