Splinter Cell ->LightMaps
I`ve just finished Splinter Cell...it`s quite well-known these days,being new and everything and I have to say that the game`s light maps are impresive...I`ve seen some dinamyc light map tutorial but it was not what I looked for...
What I need/want/ask is an actual MAP of normals(like multitexturing for normals) that show the vertex illumination...
The thing is that if you make a program that generates lightmaps you could have static shadows that are not calculated at runtime...and they look better too...
If you`ve played the game you should know what I`m talking about.
Also with this thing you could easily create spot-lights in an instant,calculated/written in a file/read the LightMap/render with no actual shadow calculated...
Anyone have an idea ?
Relative Games - My apps
And what makes you think Splinter-Cell uses lightmaps ?
From what i''ve seen it''s more likely shadow maps, and there''s plenty of tutorials on the net. Google for them.
Y.
From what i''ve seen it''s more likely shadow maps, and there''s plenty of tutorials on the net. Google for them.
Y.
LightMaps and ShadowMaps...they`re just completing eachother...
if my site would work you could see this :
http://www.geocities.com/cippyboy_7/lightmap.jpg
I don`t know what would you call this but...I say it`s a lightmap either white or dark...it`s a cool effect and I can even simulate projected shadows...
if my site would work you could see this :
http://www.geocities.com/cippyboy_7/lightmap.jpg
I don`t know what would you call this but...I say it`s a lightmap either white or dark...it`s a cool effect and I can even simulate projected shadows...
Relative Games - My apps
It looks like per-vertex shadowing, and looks pretty bad IMO 
Per-vertex lighting/shadowing precomputes the light/shadows received at each vertex of your objects.
Lightmaps refer to RGB textures, generally of very low resolutions, that are uniquely applied to all the surfaces of your world. Each texel in the lightmap corresponds to a unique position in world, and the amount of light (plus its color) is precomputed for that texel.
One variant of lightmaps is called dynamic lightmaps; that''s what is used in Quake for lighting stuff around projectiles/weapons. It''s like lightmaps except they''re calculated in real-time, and do not store/affect shadows (hence no need for ray-casting).
Projective shadows render the shape of an object to a texture, then project that texture onto the world. Although dynamic, this technique doesn''t handle self-shadowing.
Shadow maps dynamically render the depth buffer from the light''s point of view, project it to the screen and compare the depth values with the depth buffer.
Stencil shadows generally find the silhouette of an object and generate a shadow volume from the light''s point of view, by using the stencil buffer to do a simple form of ray-casting per-pixel.
I think Spinter Cell uses lightmaps for static lights, and shadow maps for dynamic ones.
Y.

Per-vertex lighting/shadowing precomputes the light/shadows received at each vertex of your objects.
Lightmaps refer to RGB textures, generally of very low resolutions, that are uniquely applied to all the surfaces of your world. Each texel in the lightmap corresponds to a unique position in world, and the amount of light (plus its color) is precomputed for that texel.
One variant of lightmaps is called dynamic lightmaps; that''s what is used in Quake for lighting stuff around projectiles/weapons. It''s like lightmaps except they''re calculated in real-time, and do not store/affect shadows (hence no need for ray-casting).
Projective shadows render the shape of an object to a texture, then project that texture onto the world. Although dynamic, this technique doesn''t handle self-shadowing.
Shadow maps dynamically render the depth buffer from the light''s point of view, project it to the screen and compare the depth values with the depth buffer.
Stencil shadows generally find the silhouette of an object and generate a shadow volume from the light''s point of view, by using the stencil buffer to do a simple form of ray-casting per-pixel.
I think Spinter Cell uses lightmaps for static lights, and shadow maps for dynamic ones.
Y.
the thing is that my shdowmap/lightmap/whatever is not projected at all..it`s just there on a sphere light basis and the computation is very low...
If I`ll have the time to improve my level editor I`m gonna show ya a a quick way of doing shadows without even touching the stencil buffer...
PS:I saw/downloaded/tryed some stencil buffer functions and... they wore reflections though it worked like 1 frame per 2 seconds...anyway do you have an idea how to make my thing/the thing per pixel ? and also how to ray-trace/cast something ?
Like the box from my image...how must I do calculaction to make it dark just near the ground...and semi-dark near the corners... I just need maths on this...
If I`ll have the time to improve my level editor I`m gonna show ya a a quick way of doing shadows without even touching the stencil buffer...
PS:I saw/downloaded/tryed some stencil buffer functions and... they wore reflections though it worked like 1 frame per 2 seconds...anyway do you have an idea how to make my thing/the thing per pixel ? and also how to ray-trace/cast something ?
Like the box from my image...how must I do calculaction to make it dark just near the ground...and semi-dark near the corners... I just need maths on this...
Relative Games - My apps
Maybe I haven't got something in your posts.
"the thing is that my shdowmap/lightmap/whatever is not projected at all..it`s just there on a sphere light basis and the computation is very low..."
Lightmaps can be very easy to generate. I would like to hear your opinion on that subject when you have radiosity with interreflection and vertex-independant information... You don't "just need the math" to build a decent lightmap. As far as I have seen, there's nothing really special in your "lightmap". Besides the fact you say in another thread it is a per vertex (never heard of a per vertex lightmap), I can see in your snap you does not have occlusion into your computations.
Now, teach us whatever you want, maybe you will come out with something interesting but I would raccomand you to review your definition of "lightmap". Personally, I always thought what you call a lightmap is a per-vertex attenuated diffuse light.
"What I need/want/ask is an actual MAP of normals(like multitexturing for normals) that show the vertex illumination..."
Map of normals for a vertex? You can easily pull it out from the vertex data. A normal map is nothing without a per-vertex normal since it is perturbating the interpolated per-vertex normal, as far as I know.
The problem with lightmaps is not that they look bad. They are very effective in computing static shadows. The only problem is what Carmack calls "Hanna-barbera effect". Since you cannot compute lightmaps at realtime rates, the dynamic objects are not getting lightmapped correctly so one can easily spot them as they move. If you have Q3A (and you surely have), you can take a look at a platform in "apocalypse void" which got a bad lightmap.
"anyway do you have an idea how to make my thing/the thing per pixel ? ". You can do per pixel lightmaps but they may easily take up >100MB of texture space and considering the kind of information they contain, it will mostly be a total wastage (guess Q3A has 1 lightmap texel every 32x32 "standard" texels). I am putting on some kind of radiosity system which hopefully will be up and running before the next year. I won't tell you how it works since discovering by yourself is simply too fun.
EDIT: some small additions here and there.
[edited by - Krohm on May 12, 2003 3:06:34 PM]
"the thing is that my shdowmap/lightmap/whatever is not projected at all..it`s just there on a sphere light basis and the computation is very low..."
Lightmaps can be very easy to generate. I would like to hear your opinion on that subject when you have radiosity with interreflection and vertex-independant information... You don't "just need the math" to build a decent lightmap. As far as I have seen, there's nothing really special in your "lightmap". Besides the fact you say in another thread it is a per vertex (never heard of a per vertex lightmap), I can see in your snap you does not have occlusion into your computations.
Now, teach us whatever you want, maybe you will come out with something interesting but I would raccomand you to review your definition of "lightmap". Personally, I always thought what you call a lightmap is a per-vertex attenuated diffuse light.
"What I need/want/ask is an actual MAP of normals(like multitexturing for normals) that show the vertex illumination..."
Map of normals for a vertex? You can easily pull it out from the vertex data. A normal map is nothing without a per-vertex normal since it is perturbating the interpolated per-vertex normal, as far as I know.
The problem with lightmaps is not that they look bad. They are very effective in computing static shadows. The only problem is what Carmack calls "Hanna-barbera effect". Since you cannot compute lightmaps at realtime rates, the dynamic objects are not getting lightmapped correctly so one can easily spot them as they move. If you have Q3A (and you surely have), you can take a look at a platform in "apocalypse void" which got a bad lightmap.
"anyway do you have an idea how to make my thing/the thing per pixel ? ". You can do per pixel lightmaps but they may easily take up >100MB of texture space and considering the kind of information they contain, it will mostly be a total wastage (guess Q3A has 1 lightmap texel every 32x32 "standard" texels). I am putting on some kind of radiosity system which hopefully will be up and running before the next year. I won't tell you how it works since discovering by yourself is simply too fun.

EDIT: some small additions here and there.
[edited by - Krohm on May 12, 2003 3:06:34 PM]
Previously "Krohm"
I agree with Ysaneya., Splinter Cell uses normal lighmaps for the static lights, and projected shadow maps for the dynamic lights that cast shadows...
I have something like that working in my engine.., isn''t this the effect you mean cippyboy ?
http://projectfy.fysoftware.com/temp/
You just render the lightmaps, and you render the texture you want projected over the place you want.., then you can do all kinds of effects with the projected texture, making it look like dynamic.( a rotating fan, moving shadows casted by a torch) ., it''s a hack, a very good one, i don''t think players can see a diference from a real shadow, and in the end, that''s what matters.
Bruno
I have something like that working in my engine.., isn''t this the effect you mean cippyboy ?
http://projectfy.fysoftware.com/temp/
You just render the lightmaps, and you render the texture you want projected over the place you want.., then you can do all kinds of effects with the projected texture, making it look like dynamic.( a rotating fan, moving shadows casted by a torch) ., it''s a hack, a very good one, i don''t think players can see a diference from a real shadow, and in the end, that''s what matters.
Bruno
I think splinter cell uses 3dsmax radiosity system to create lightmaps.
3D Side-Scroller game demo Project-X2 "playable"Lashkar: A 3D Game & Simulation Project demo @ lashkar.berlios.de
I think splinter cell uses 3dsmax radiosity system to create lightmaps.
3D Side-Scroller game demo Project-X2 "playable"Lashkar: A 3D Game & Simulation Project demo @ lashkar.berlios.de
Well then I`m redefining all of that stuff...
I`m creating a "LightMap" not a "lightmap"..there`s a new notion now ok ?
Maybe I`ll have the time to make some stuff to show you how I can even have some kind of projected stuff with no StencilBuffer of high maths at all...
I`m creating a "LightMap" not a "lightmap"..there`s a new notion now ok ?
Maybe I`ll have the time to make some stuff to show you how I can even have some kind of projected stuff with no StencilBuffer of high maths at all...
Relative Games - My apps
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement