Sponsored By

Polygons as lights

The method presented in this post allows us to easily introduce illumination from arbitrary planar polygonal area lights in real-time shading.

Alexander Petryaev, Blogger

October 17, 2016

2 Min Read
Game Developer logo in a gray background | Game Developer

This work started from a moment of fleeting insight several months ago. I have walking on a street passing by a series of illuminated advertisement billboards. Each time I have been approaching another billboard, its size, as it have been percepted by me, has been gradually increasing, as well as the illumination of the environment around it.

Bit by bit, I have collected a number of logical statements. Illumination from area light at point depends on 

  • distance to area light,

  • the size of area light,

  • the orientation of area light,

  • the intensity of area light.

Thus, I have supposed that illumination from the area light at point must be somehow connected with how the point itself "perceive" the area light. At that moment, I have suddently associated the perception with the perspective projection.

I have started with shader that calculates illumination at point from arbitrary number of triangular area light sources. I decided that first of all, I make sure that my conception is viable. I have compared the results of my illumination technique with the baked illumination.

Still not convinced at 100% I have continue to compare cases that are more complicated.

Now, you will find the paper (with much better grammar!) by this link:

There is also GitHub repository with Unity3d project containing shaders, scripts and example scenes:

Also, for those of readers who prefers visual demostration instead of abstract math I have video clips:

 

Read more about:

Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like