Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Sun Shadows


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
4 replies to this topic

#1 3TATUK2   Members   -  Reputation: 730

Like
0Likes
Like

Posted 14 October 2013 - 09:44 AM

How do outdoor FPS' achieve shadowing for the sun? I mean, I figure if it were simply a shadowmap with the depth texture rendered from the sun's position, the objects would be soo far away that it would cause an issue with resolution and pixelation of the shadows?

 

http://www.youtube.com/watch?v=Ghz6gmBWvrQ



Sponsor:

#2 phil_t   Crossbones+   -  Reputation: 4091

Like
1Likes
Like

Posted 14 October 2013 - 10:45 AM

The sun is modeled as a directional light source, not a point light source. So its "position" doesn't matter, only its direction.

 

Also, research cascaded shadow maps.



#3 3TATUK2   Members   -  Reputation: 730

Like
0Likes
Like

Posted 14 October 2013 - 11:38 AM

I'm not sure how the fact it's *directional* plays into the *shadows*. I understand how it plays into lighting, but shadowmapping pretty much works the same, doesn't it? You still need to have a light source position to render the shadow depth texture from? And I'm guessing the shadows for something like in the youtube video I linked is done an a single shadow pass... actually hmm

 

now that I think about it, i guess if it's static geometry it's possible to use baked lightmaps for the geometry and then just separate individual shadow maps for each moving object (player), although I somehow don't think this is what the tech in the video is doing, for example with modern engines that have this type of "full shadowing", with things like dynamic geometry or many many objects, or even dynamic time of day, I doubt they use a separate individual shadow map per object?

 

A lightmap wouldn't work in that situation, and individual shadow maps would probably be too slow, plus, for something specifically like time of day... the "entire" geometry has dynamic shadows, so again I don't get how that would be created since you need to render a shadow depth texture from a specific light source position??



#4 phil_t   Crossbones+   -  Reputation: 4091

Like
0Likes
Like

Posted 14 October 2013 - 11:54 AM


You still need to have a light source position to render the shadow depth texture from?

 

You can use an "arbitrary" position that, when combined with the projection matrix (near/far planes), covers the range of depth values that you need with maximum precision.



#5 Murdocki   Members   -  Reputation: 274

Like
1Likes
Like

Posted 16 October 2013 - 04:43 AM

Usually you dont see the entire world, so you can limit the area you have to include in your shadow map, thus increasing it's resolution. As with other rendering optimizations it's always good to not render what you dont see, meaning you only need to have shadows inside your player's frustum.

Using the sun's direction you can build an oriented bounding box around your frustum. You'll then have to extend that box in the direction of the sun so that it reaches all the way up to your scene/world's roof. This ensures that objects (a tree or tall building for example) that are outside of the player's view but are casting shadows into the player's view are still rendered into your shadow map.

If you extend the obb's size to the roof of your scene and the sun is at an angle(which is pretty much always) then you'll be extending a part of the obb outside of the scene's bounding box. This will lose you a little bit of precision, which you can solve by using a sheared matrix for the sun's projection.






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