crest icon indicating copy to clipboard operation
crest copied to clipboard

Add pixel light support

Open magenta404 opened this issue 6 years ago • 1 comments

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.

Red Pixel Point Light

Green Pixel 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.

magenta404 avatar Dec 27 '19 10:12 magenta404

Oops... made changes to wrong PR

magenta404 avatar Apr 22 '20 12:04 magenta404