Judith on 26/1/2010 at 08:01
Thanks very much, Clearing! :) Unfortunately I can't read Cyrillic alphabet, but you can add that the mission should be ready by next winter. I gave myself one year for this one :)
clearing on 26/1/2010 at 08:56
Edited. Thanks!
Beleg Cúthalion on 26/1/2010 at 10:31
What about shadow casters? I thought you had tested everything with non-shadow-casting lights, but for a daylight mission without clouds you'd need shadows, even if with the spot lights which Tiens mentioned.
Judith on 26/1/2010 at 11:26
Quote Posted by Beleg Cúthalion
What about shadow casters? I thought you had tested everything with non-shadow-casting lights, but for a daylight mission without clouds you'd need shadows, even if with the spot lights which Tiens mentioned.
I'm still a little confused about them. What I've seen from the "lights that touch too many objects" filter, when you change a non-shadow-casting light to shadow-casting, it goes from green to red immediately. Further decreasing the radius helps. It seems that those lights can touch much less objects than non-shadow casting (kinda obvious ;)). In my case, more than 4 "red" lights in a scene and FPS goes down by half.
I also got another idea for shadows/highlights on the ground but this idea is too devilish for today's hardware and internet connections ;) Since I'd have the ground split by 1024-ish terrain meshes, I thought I could unwrap those and use 4096 textures with properly painted terrain :cheeky: It would scale down nicely, and the baked ambient occlusion map (overlaid on diffuse) would give the proper illusion of shadows on the ground. I actually tried that and it was excellent, but working with such texture is awfully slow, making a normal is even worse. 4096 is upper limit for texture size, and even in UE3.0 people rarely use those. Imagine the mission filesize, where one 4096 DXT1-compressed diffuse is 8 MB :cheeky:
Btw. I'm not sure about the performance boost with spotlights. When you place such light and use "overlit geometry" filter, everything at the other side of it goes yellow/red just as in case of omni lights. But this filter seems less relevant anyway, so maybe it's true.
clearing on 26/1/2010 at 11:42
Quote Posted by Judith
I also got another idea for shadows/highlights on the ground but this idea is too devilish for today's hardware and internet connections ;) Since I'd have the ground split by 1024-ish terrain meshes, I thought I could unwrap those and use 4096 textures with properly painted terrain :cheeky: It would scale down nicely, and the baked ambient occlusion map (overlaid on diffuse) would give the proper illusion of shadows on the ground. I actually tried that and it was excellent, but working with such texture is awfully slow, making a normal is even worse. 4096 is upper limit for texture size, and even in UE3.0 people rarely use those. Imagine the mission filesize, where one 4096 DXT1-compressed diffuse is 8 MB :cheeky:
Maybe 1 or 2 Gb zip of mission :cool:
... Nice idea for T3Ed Beauty Contest.
STiFU on 26/1/2010 at 11:52
Isn't the relevant performance evaluation the number of how many lights affect a certain polygon rather than how many surfaces are affected by a single light? I mean, if you have just one parallel light expanding over your whole map, performance should be perfectly fine, although that filter would say, it touched too many surfaces.
AO lightmaps are always sweet. The only-dynamic-lights approach sucks because there is so little variation in lighting. Mirror's edge looked amazing by combining both techniques. I am not quite sure though if actual dynamic-lights were used for playershadow etc but still: The result was awesome! Anyway, can't you somehow overlay a high-resolution AO-lightmap over a tiling small-resolution diffusemap? I am almost sure you can somehow get more compression out of that lightmap then, since it's only greyscale, or do you intend to create colored global illumination? Too bad, it's such a pain to use lightmaps in TDM... :(
Judith on 26/1/2010 at 13:22
Quote:
Isn't the relevant performance evaluation the number of how many lights affect a certain polygon rather than how many surfaces are affected by a single light?
I thought so too. But in T3Ed this factor seems to be important as well. I also thought that overlapping lights cause performance drops. Weird.
Quote:
AO lightmaps are always sweet. The only-dynamic-lights approach sucks because there is so little variation in lighting.
That's why I'm always saying, one must forget about making shapes and texturing them under the editor. This isn't 2004 or something :) Make almost everything out of meshes, unwrap them properly, learn to bake AO lightmaps and you'll get something 10 times better. You'll need a year instead of a month to ship your mission but it will be totally worth it. Actually it's been a standard pipeline for many years now, among professionals and amateurs alike.
Quote:
Anyway, can't you somehow overlay a high-resolution AO-lightmap over a tiling small-resolution diffusemap?
I guess you mean using different texture sizes in material editor? Such thing is possible in UE 3.0, i.e. dirt maps 4 times bigger than diffuse, giving a tiling texture completely unique look on larger flat surfaces. They even don't have to be different in pixel size, you can stretch them using UV coordinates. It's a really cool feature :) But in Ion Shader everything gets dynamically shrunk to diffuse. It has some advantages too (e.g. you can make a normalmap twice as big, add some noise or other small pattern and you'll have a kind of detail normalmap, when you stick your nose into it ;) ).
Quote:
Too bad, it's such a pain to use lightmaps in TDM
You can use lightmaps in TDM? :O Wow, that would be a nice thing to see. This or some combined technique.
STiFU on 26/1/2010 at 13:43
Now that I've read your post, I see that it works just the same way in id Tech 4 as in unreal engine 2. Build geometry, export to modeling program, render AO texture and import the mesh with applied lightmap back into the editor. I just didn't think you'd go through that much of a hassle... But then again, we've gotten to know you as a perfectionist by now!! =) I hope someone like you will eventually put up with the trouble and do something like that in TDM. Or even better, once the sourcecode of doom 3 is released, someone should go ahead and implement proper AO-lightmap baking for the map-compile process, just like in good old quake 3 times, only highres!!
In case you're interested, (
http://modetwo.net/darkmod/index.php?/topic/10086-baked-global-illumination-in-doom-3/page__hl__global%20illumination__fromsearch__1) here is a thread at the darkmod forums discussing the AO-topic with a couple of nice links (tutorial, screenshots of a demomap). Doom 3 does look so much better with offline-AO, even if it's only faked in the tutorial by a lightsphere.
Quote Posted by Judith
I guess you mean using different texture sizes in material editor? Such thing is possible in UE 3.0, i.e. dirt maps 4 times bigger than diffuse, giving a tiling texture completely unique look on larger flat surfaces. They even don't have to be different in pixel size, you can stretch them using UV coordinates. It's a really cool feature :) But in Ion Shader everything gets dynamically shrunk to diffuse. It has some advantages too (e.g. you can make a normalmap twice as big, add some noise or other small pattern and you'll have a kind of detail normalmap, when you stick your nose into it ;) )..
I don't know anything about the ionshader anymore. Is there something similar to the shader stages of id tech 4, so that you can multiply a diffuse texture with an AO-map within the shader? This way you could still use "lowres" diffusemaps and just separate the corresponding AO-maps into multiple parts to overlay with the diffuse. This of course only makes sense if you can actually achieve higher compressrates on grayscale-maps.
EDIT: I just checked the photoshop dds-plugin and there actually is a checkbox for exporting in grayscale, but it doesn't do anything. Weird! Ah well, it's probably because DXT1 is still RGB 4 bpp. There is also a configuration for exporting luminances, but that's 8 bpp and I guess the Ionshader doesn't support this configuration either. So I assume we won't be able to achieve higher compressrates on greyscale images. It's weird though that a proper export/compression hasn't been implemented. After all, heightmaps will become a topic eventually.
Judith on 26/1/2010 at 15:28
Quote:
Now that I've read your post, I see that it works just the same way in id Tech 4 as in unreal engine 2.
Not exactly. I build my meshes in modeling program from the start. In older editors like UE 2.0 the BSP based tools are buggy and the "convert to static mesh" function can be buggy even in UE 3.0.
Quote:
I just didn't think you'd go through that much of a hassle...
This pipeline is common for ALL the engines since like... 2004-5? :) And it's a bit more complicated:
- Build a low poly-version of your model, unwrap and save it, make a copy.
- Add necessary edges to a copy so there is proper polygon (quads) distribution on your model and the sharp edges will remain there even after further subdivision (I check this with turbosmooth or meshsmooth option).
- Export a copy to programs like Mudbox or Zbrush for digital sculpting
- Subdivide the mesh to a high-poly version, add details using sculpting tools and projection mapping (sculpting with textures, basically).
- Save and import the model back to the modeling program.
- Use raytracing material and render to texture option to bake diffuse, normal, specular and AO map on the unwrapped low-poly model, with hi-poly model as the projection modifier.
-Use Gimp or Photoshop to make a proper diffuse, normal, specular; apply AO on diffuse and play with the settings for hours :).
Usually I don't make the high-poly version of a mesh, I bake AO without the cage and modifiers - it's OK for what I'm doing (and much faster). I'm not getting as unique textures as I could with the HP model but I'm spending tons of time with them anyway :) Actually making good textures is usually more time-consuming for me than building a low-poly model :)
Quote:
In case you're interested, here is a thread at the darkmod forums discussing the AO-topic with a couple of nice links (tutorial, screenshots of a demomap). Doom 3 does look so much better with offline-AO, even if it's only faked in the tutorial by a lightsphere.
But, I didn't think about making
AO maps per-scene, actually. I think it isn't worth the hassle. When you make static meshes, you need them to be flexible, multi-purpose, to be reused multiple times in many environments. You treat them as pieces of a set, they should match as many other elements as they can, when it comes to color palette and AOs as well.
Usually I'm not adding any lights to a scene before baking AO. It just uses default "sunlight" settings. And it's good, for every object is usually a bit more lit at the top and darker at the bottom or in the crevices (depends on angle). Whether it's afternoon or a middle of the night on your map, there's always some ambient lightning coming from the sky. You can correct it in Photoshop as needed, add proper in-game lightning and such object will look natural in both cases, at least much more natural than just a piece of textured BSP.