Sign in to follow this  
cebugdev

[DX9 C++] HLSL lighting problem - occluded objects

Recommended Posts

cebugdev    635
Hi All,


I have a small problem when I implemented my lighting in HLSL (I havent tried if this happens when using fixed function pipeline),

The situation is when i place a light on the scene, other objects are affected by the light even some objects like a a simple

plane ploygon or a wall is in front of the object completely occluding the object against the light,

this happens since computing the normal of the polygon against the direction of light, it is indeed facing the light therefore the

factor that there is an occluding object was not consider.


how can i fix this?

Thanks,
Ruell

Share this post


Link to post
Share on other sites
Aqua Costa    3691
If I understood what you are asking Im guessing you are a beginner in DirectX... :rolleyes:

(Unless you are using a raytracer) Simple lighting shaders dont take into account if an object is occluded or not... They simply calculate the influence of a light in a object based on the view point, etc.

To do what you want to accomplish you must implement [url="http://wiki.gamedev.net/index.php/D3DBook:Shadow_Maps"]shadow mapping[/url], but it might be "too advanced" for you, idk take a look at the link and google. If you have any question just ask :lol:

Share this post


Link to post
Share on other sites
cebugdev    635
what im trying to say is;
example i have a light object a wall and another object behind that wall,
the object behind that wall can still be lit up.

Heres the illustration

[code]
| W |
| A |
point ligh | L | object <--- Camera looking behind the wall
| L |

[/code]

SInce the object normal is facing the point light, it is lit up.

[quote name='TiagoCosta' timestamp='1305366437' post='4810612']
If I understood what you are asking Im guessing you are a beginner in DirectX... :rolleyes:

(Unless you are using a raytracer) Simple lighting shaders dont take into account if an object is occluded or not... They simply calculate the influence of a light in a object based on the view point, etc.
To do what you want to accomplish you must implement [url="http://wiki.gamedev.net/index.php/D3DBook:Shadow_Maps"]shadow mapping[/url], but it might be "too advanced" for you, idk take a look at the link and google. If you have any question just ask :lol:
[/quote]

Yes, Im new to HLSL and i understand that Lighting does not take into account if an object is occluded
or not that is why Im asking people where on how to fix the problem i posted above.

Adding shadow map, is a good idea ill try that one.

Anyways, other than shadow map, is there any other approach?

Share this post


Link to post
Share on other sites
Tom KQT    1704
Shadows really are what you need in this case.

Here's a list of various shadow mapping techniques, and also other techniques (not shadow mapping) are mentioned, with links to them:
http://en.wikipedia.org/wiki/Shadow_mapping

Also feel free to use google or the search feature on this forum, shadowing is a very common topic.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this