   Been out of 3D graphics for a while...
  Hi everyone,it's been a few years since I did 3D graphics on PC/3D accelerated machines. I've been doing software rendering for mobile devices since and wanted to get back to the "real deal", i.e. (try to) do some of the awesome graphics now possible.Did quite some research on what new techniques came up, what various professional engines use and have some questions... feel free to answer any you like, I am thankful for all input I can get!1) 2D lightmaps ( for every surface/polyon ) seem to have gone out of style...is that correct? Are they still used to store, say precalculated lighting, or is everything dynamic now? I could imagine you could still use them to store static, precalculated lighting as a basis (e.g. radiosity)... or are there contemporary engines that do ALL lighting dynamically?2) Meanwhile, there are techniques like using (dynamic) 3D lightmaps centered around the lightsource and storing the lighting information. But is that really done, still now? Wouldn't it be easier (e.g. for a point light) to use a lighting formula, let's say phong, in the pixel shader to light on pixel basis?3) Ambient occlusion. I understand that the measure here is how occluded ( how much light from the sky(?) can reach ) a vertex, pixel, surface, whatever. But how is that information used, just to modulate the ambient lighting term? So the diffuse ( and maybe specular ) terms just get added normally to get final color, like always before?Would this make sense : ambient term modified by ambient occlusion + diffuse term (for each light, including the sun) + specular term (for each light, including the sun) ? And, could you maybe also throw in hemisphere lighting to account for an overcast day?4) About "ambient occlusion maps", are they comparable to those old-fashioned 2D lightmaps, one map for each (possibly tiny) surface/polygon? How do these "maps" work?5) Reflections : How best to do reflections, let's say on the surfaces of a car? I would want to have close-by objects reflect so (cube) environment mapping is out of the question, since it only works well to reflect distant scenery ( e.g.clouds ), right or not?Well, then there is so-called "stencil reflection" but how would that work since the surfaces are not planar? Do that additional (reflected) renderpass for every polyon in the surface?!I figure these reflections are the main reason, cars look as great as they do in games like the latest Project Gotham Racing...6) One thing I don't understand about doing reflections of large surfaces, let's say a lake's water surface. It's planar and even with the ripples you can use "stencil reflection", do "some stuff" ( have to read on that more ) to make it look convincing. BUT you could not do reflections here with environment mapping because for that you'd need a center for your cubemap, right? Where would you put this center for this large lake surface? Just in the middle of the lake, would that look right?!7) Is there a way to combine reflections of, let's say a water surface with the specular highlights of that surface? E.g. a environment map where the clouds are drawn but also the sun as a really large and bright spot so that would translate into specular lighting as well when doing the reflections? Is that being done?8) How about combining "stencil reflection" for surrounding geometry and (cube) environment mapping for the sky to do reflections?Right now, I am putting together a whole lot of ideas and creating a structure for a 3D Engine which could support all the stuff I might want to add.Many problems, many questions, no real results yet, sucky phase. But I hope to get some help here... thanks in advance!   
  Hi,Quote:Original post by TheLionReturned1) 2D lightmaps ( for every surface/polyon ) seem to have gone out of style...is that correct? No.Quote:Are they still used to store, say precalculated lighting, or is everything dynamic now? I could imagine you could still use them to store static, precalculated lighting as a basis (e.g. radiosity)... Most lightmaps have been extended to support Normal Mapping and HDR (see e.g. HL2, Unreal Engine 3). In another direction there are SH lightmaps, see Halo 3.Quote:or are there contemporary engines that do ALL lighting dynamically?Oh, there are XRay, idtech 4 & 5, Cry Engine 2, ...Quote:2) Meanwhile, there are techniques like using (dynamic) 3D lightmaps centered around the lightsource and storing the lighting information. But is that really done, still now?3D Lightmap? You are talking about a light grid, no?Quote:3) Ambient occlusion. But how is that information used, just to modulate the ambient lighting term? So the diffuse ( and maybe specular ) terms just get added normally to get final color, like always before?Yes and yes.Quote:4) About "ambient occlusion maps", are they comparable to those old-fashioned 2D lightmaps, one map for each (possibly tiny) surface/polygon? How do these "maps" work?AO maps are still lightmaps. Just the computation of their values differs.Quote:6) BUT you could not do reflections here with environment mapping because for that you'd need a center for your cubemap, right? Where would you put this center for this large lake surface? Just in the middle of the lake, would that look right?!Why not use a planar surface for the reflection? Simple rendertotexture, without cubemaps.Quote:7) Is there a way to combine reflections of, let's say a water surface with the specular highlights of that surface?Sure :-DRegards,Enrico