Preferred Lighting Solution#

There are several lighting techniques which an application may use, each with their own costs and benefits. Choosing the most optimal algorithm for the task may improve performance significantly.

Here are the common lighting techniques and their usage scenarios:

  • Forward shading is the recommended method for a small number of light sources (fewer than ten point lights – anything more and deferred will be faster).

  • Traditional deferred shading is the recommended method for many light sources. This technique is highly efficient on PowerVR hardware, because the per pixel data for the tile stored in the G-buffer render targets can be stored in on-chip memory (Pixel Local Storage). As a result, the fragment shaders can reuse the data already stored in on-chip memory, significantly reducing accesses to system memory and significantly improving performance.

  • For all compute based techniques such as tiled deferred and forward+, note that the contents of the G-buffer will need to be written out to system memory. This is costly for almost all mobile and embedded platforms including PowerVR graphics cores, due to the limited amount of system memory bandwidth available.