Jump to content

  • Log In with Google      Sign In   
  • Create Account


Area lights (Forward and Deferred)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
8 replies to this topic

#1 NiteLordz   Members   -  Reputation: 369

Like
0Likes
Like

Posted 20 March 2013 - 08:46 AM

Currently i have the 3 base light types supported and working in a programmable pipeline.  I would like to tackle Area lights, but i am a little stumped at the moment. 

 

my thinking is 

 

Deferred Approach (Light Volume)

-simliar to a point light, i would just use a model that is shaped according to the defined area light

 -ex. rectangular light, would be a quadrilateral that is extruded to accomadate the fov (this is similar to a spotlight, but instead of coming from a    point, it comes from a plane

 

Forward Approach

-no clue

 

if anyone can point me in a direction, or give advice, that would be appreciated.


Code makes the man

Sponsor:

#2 Lightness1024   Members   -  Reputation: 704

Like
0Likes
Like

Posted 20 March 2013 - 09:23 AM

Area lighting has just come to be supported in recent engines through the usage of light propagation volumes (cry engine 3) and sparse voxel octree cone tracing (unreal engine 4).

It was previously supported through static light-mapping before, using lengthy final gathering computations. final gathering is the second step after photon mapping, it generally uses a fixed number of sample rays that are gathered per surface patch around the hemisphere of the surface patch and it brings the contribution of the nearest photon at its impact point, if it makes sense. (photon has an opposed impact normal etc...) This takes minutes or even hours to prepare such a solution.

 

Now, you're free to try and invent your own method. don't forget to publish it and present it at siggraph 2013 :)



#3 Chris_F   Members   -  Reputation: 2208

Like
1Likes
Like

Posted 20 March 2013 - 11:11 AM

http://www.gamedev.net/topic/552315-glsl-area-light-implementation/

 

I think someone may have extended this technique for use in Blender Game Engine:



#4 Frenetic Pony   Members   -  Reputation: 1230

Like
0Likes
Like

Posted 20 March 2013 - 02:28 PM

Ultra cheap spherical area light hack that just uses a new attenuation function: http://imdoingitwrong.wordpress.com/2011/01/31/light-attenuation/

 

With a good specular area/variable soft shadows it looks like it would work well enough.

 

As for the above textured area light thing, if you wanted shadows you could try back projection. You take a shadow map as a proxy scene representation and then reproject from the object back to the area light based on that shadow map. There's plenty of papers out there, not sure any of them work well though.



#5 MJP   Moderators   -  Reputation: 10665

Like
0Likes
Like

Posted 20 March 2013 - 04:34 PM

Computing the actual contribution from an area light is fairly involved: you need to integrate the radiance being emitted from the light multiplied with your BRDF for the entire visible surface of the light source. Most real-time "area light" implementations I've seen are very weak approximations , and are often formulated in terms of a specific BRDF.



#6 Frenetic Pony   Members   -  Reputation: 1230

Like
0Likes
Like

Posted 20 March 2013 - 08:10 PM

Computing the actual contribution from an area light is fairly involved: you need to integrate the radiance being emitted from the light multiplied with your BRDF for the entire visible surface of the light source. Most real-time "area light" implementations I've seen are very weak approximations , and are often formulated in terms of a specific BRDF.

 

Crytek has some sort of demon magic going that I'm hoping they'll be talking about at GDC: https://www.youtube.com/watch?feature=player_detailpage&v=JWvgETOo5ek#t=111s

 

Though now that I look at it again I don't see any shadowing, it might just be that hack Chris_F posted.


Edited by Frenetic Pony, 20 March 2013 - 08:11 PM.


#7 Chris_F   Members   -  Reputation: 2208

Like
0Likes
Like

Posted 20 March 2013 - 08:57 PM

PCSS might be a good place to start for shadows.



#8 MJP   Moderators   -  Reputation: 10665

Like
0Likes
Like

Posted 21 March 2013 - 12:01 AM

Computing the actual contribution from an area light is fairly involved: you need to integrate the radiance being emitted from the light multiplied with your BRDF for the entire visible surface of the light source. Most real-time "area light" implementations I've seen are very weak approximations , and are often formulated in terms of a specific BRDF.

 

Crytek has some sort of demon magic going that I'm hoping they'll be talking about at GDC: https://www.youtube.com/watch?feature=player_detailpage&v=JWvgETOo5ek#t=111s

 

Though now that I look at it again I don't see any shadowing, it might just be that hack Chris_F posted.


Yeah my money would be on some sort of attenuation adjustment combined with screen space reflections.



#9 Mr_F_   Members   -  Reputation: 279

Like
0Likes
Like

Posted 21 March 2013 - 02:24 AM

That BGE video looks really nice imho. Seems similiar to billboard reflections (quad intersection in shader + mip adjustment for glossiness) plus some pretty attenuation. I would like to know how to compute such attenuation smile.png. Spherical thing is a little different.

---

Missed Chris_F's link in 3rd post... will take a look


Edited by Mr_F_, 21 March 2013 - 02:27 AM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS