- Get rid of icospheres. They don't help.
- Design a centralised way to reconfigure lights/meshes in a smart way: that is, only reconfigure objects that need to be configured. Also, rename "configure" to what it is really is, which is creating MTLBuffers (at least for lights).
- Make the terms
Uniforms
andParameters
more specific. - Rename
Common.h
to something more helpful - Rewrite the MTLRenderPass stuff for GBufferRenderPass and LightingRenderPass. The constraint idea is there, but not executed properly.
- Look into not manually rendering full-screen quads for lighting. I believe a quad must be generated by the vertex function; it just might be possible for Metal to do it automatically.
- Go through every single
attachment
and make it painfully clear if it's acolorAttachment
to a render pass descriptor or to a pipeline descriptor. Annoying!
- 27 May, 2023: when the sunlight is on, Gaussian blur doesn't work. My guess is the black quad overwrites the view drawable.