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

Started by
2 comments, last by TomKQT 12 years, 11 months ago
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
Advertisement
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 shadow mapping, 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:
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


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



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


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 shadow mapping, 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:


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?
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.

This topic is closed to new replies.

Advertisement