horizon mapping just got implemented into our engine and i am wondering if any of you have ever used horizon mapping on characters? what were the results? was it worth it?
thanks, picture would be great too.
isnt that like huge memory consumer ? i dont think it is suitable to characters if you get close to it there is hover geometry dysplaying and not to mention the huge consume of memory.
I have never used thou , but im just based on fabio polycarpo :P ( i think it was him who implemented horizon mapping ) i might be making confusion thou.
ok, i have to wait untill me programmer implements the new build into our game and i have never used horizon mapping either so i thought i would ask.
it requires two other seperate files aside from the diffuse and normal map so i could see how it could be a large memory consumer.
well, perhaps i'll use it sparingly for environment props.
It's basically a self-shadowing bump map. From what I remember reading they eat up entirely too much texture memory to be practical for games and are costly computed. I'd be surprised if any game came out with it successfully implemented - now or in the next year or so.
I Googled it to find a technical explaination. Here's a quote:
[ QUOTE ]
Bump mapping affects lighting by perturbing the surface normal, but the perturbed normal will not affect shadowing in any way. Hence, one "bump" will not cast a shadow onto the next. However, techniques do exist that allow bump maps to self-shadow. One of them is "horizon mapping". A horizon map is a texture that encodes the elevation of the visible horizon in all directions from a particular sample point. If another point is determined to be below this horizon, you know the point is invisible to the current sample point. Likewise, if a light source is below the horizon, you know that it does not illuminate the current sample point.
You can perform this visibility check on the tangent space light vector, which gives you self-shadowing bump maps. The main drawback, however, is that the horizon maps tend to take up too much texture memory to be really practical. They're also fairly expensive to compute. The figure above shows horizon mapping in action -- only a single quad is rendered, and the green line indicates the direction of the incoming light.
well apparently the implementation of horizon mapping in my engine only increases the memory usage by 3 times, where as in most implementations it can go up to 8-16.
so i'll still use it sparingly but i don't need to worry too much about memory issues.
3 times the memory for small normal detail that would most likely have pretty ambient shadows? Seems silly. Methinks for most situations just adding in a bit more detail to your models and letting self-shadoing handle it would be the better solution.
Hmmm, that is the most useless tech ever, just another way to try and make a flat surface look 3d. I'm sticking with modeling as it looks better and costs less.
[ QUOTE ]
Hmmm, that is the most useless tech ever, just another way to try and make a flat surface look 3d. I'm sticking with modeling as it looks better and costs less.
[/ QUOTE ]
it isn't really useles, moreso it just depends on your current needs. it is more cheap than using actual polys but it more memory intensive, so if you have memory to spare but don't want to add in the amount of polys it would require to get the same effect then use it.
but as i said before, very rarely would this comeup, so i'll be using it sparingly just to have some fun it it but not kill my performnce of my level.
Replies
I have never used thou , but im just based on fabio polycarpo :P ( i think it was him who implemented horizon mapping ) i might be making confusion thou.
it requires two other seperate files aside from the diffuse and normal map so i could see how it could be a large memory consumer.
well, perhaps i'll use it sparingly for environment props.
I Googled it to find a technical explaination. Here's a quote:
[ QUOTE ]
Bump mapping affects lighting by perturbing the surface normal, but the perturbed normal will not affect shadowing in any way. Hence, one "bump" will not cast a shadow onto the next. However, techniques do exist that allow bump maps to self-shadow. One of them is "horizon mapping". A horizon map is a texture that encodes the elevation of the visible horizon in all directions from a particular sample point. If another point is determined to be below this horizon, you know the point is invisible to the current sample point. Likewise, if a light source is below the horizon, you know that it does not illuminate the current sample point.
You can perform this visibility check on the tangent space light vector, which gives you self-shadowing bump maps. The main drawback, however, is that the horizon maps tend to take up too much texture memory to be really practical. They're also fairly expensive to compute. The figure above shows horizon mapping in action -- only a single quad is rendered, and the green line indicates the direction of the incoming light.
[/ QUOTE ]
And the link:
http://www.delphi3d.net/articles/viewarticle.php?article=bumpmapping.htm
so i'll still use it sparingly but i don't need to worry too much about memory issues.
awesome! never heard about horizon mapping before. i would love to see it in action.
[/ QUOTE ]
here is a demo of it.
Hmmm, that is the most useless tech ever, just another way to try and make a flat surface look 3d. I'm sticking with modeling as it looks better and costs less.
[/ QUOTE ]
it isn't really useles, moreso it just depends on your current needs. it is more cheap than using actual polys but it more memory intensive, so if you have memory to spare but don't want to add in the amount of polys it would require to get the same effect then use it.
but as i said before, very rarely would this comeup, so i'll be using it sparingly just to have some fun it it but not kill my performnce of my level.