Add pixel light support
This will help address #357 There is also vertex light support with #382
Experimental support for pixel lights. Pixel lights can be point, spot or directional lights which are set to Important or in some cases Automatic.
Point Light
Spot Light
About
This is a very rough PR. It will need a lot of work.
Pass and Blending
Adds another pass and uses BlendOp Max. This prevents the more egregious artefacts. Improving the extra pass is a better way to go. Distilling the pass to only perform the necessary work for the light itself is the ideal.
Performance
Only the tiles which are affected by the light will require additional passes. Performance will depend on how many lights and their coverage. Performance can be improved by removing unnecessary work.
Issues
Plenty. I haven't properly worked through everything so some features are broken or misused.
Technical Debt
In its current form, technical debt is pretty high.
Directional Light
Based on light direction rather than camera to light for spot lights.
Oops... made changes to wrong PR