Development Blog Update - Engine video followup
Max
Technical Director, Unknown Worlds Entertainment Join Date: 2002-03-15 Member: 318Super Administrators, Retired Developer, NS1 Playtester, Forum Moderators, NS2 Developer, Constellation, Subnautica Developer, Pistachionauts, Future Perfect Developer
Comments
Now, back to work. *whipcrack*
--Scythe--
Is that about right?
With my setup now I can play NS with 8xAA and 16xAF (though the menu is screwed up unless i go 4xAA,8xAF) at 1680x1050 with a constant 101fps. I'm hoping I can do the same with NS2.
Also, I vote yes on further developing radiosity lighting...it makes things look so much more natural....not like Doom 3
Is that about right?<!--QuoteEnd--></div><!--QuoteEEnd-->
Yes. That being said, if you make the scene complex enough, you really can't imitate radiosity lighting with simple lighting. Like light casting on 4-5 surfaces from a single flood, it's basically impossible to set that up manually in a static configuration, let alone in a dynamic environment. If bounce lighting can be done, I vote to put it in. Possibly make it a mapper option, so they can use it when they are working with scenes where it's needed, but otherwise just cheat with simpler lighting.
I seem to recall that one of the games using the Doom3 engine used a global minimum light level to prevent total blackness in the shadows. I know it's not "the right way", but might play better than blackness.
Sudden news rush, feeling guilty about clamming up for the last 2 months? <img src="style_emoticons/<#EMO_DIR#>/wink-fix.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink-fix.gif" />
Btw the link on Twitter to this blog post links to the old videocast, not this followup :-)
<!--quoteo(post=1690485:date=Oct 16 2008, 06:06 AM:name=ChromeAngel)--><div class='quotetop'>QUOTE(ChromeAngel @ Oct 16 2008, 06:06 AM) <a href="index.php?act=findpost&pid=1690485"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I seem to recall that one of the games using the Doom3 engine used a global minimum light level to prevent total blackness in the shadows. I know it's not "the right way", but might play better than blackness.<!--QuoteEnd--></div><!--QuoteEEnd-->You can do a <a href="http://developer.valvesoftware.com/wiki/Light_environment" target="_blank">similar thing</a> in the Source engine, but this only affects areas that are able to receive light from the skybox (i.e. doesn't really work on interiors).
I was thinking more the like the map wide ambient light (its under either map properties or a RAD argument I forget which). I had not used it much since it does appear to reduce contrast.
Good luck, tell Charlie to buy a bigger shirt size or is he known to be more of a plumber around the office than a game designer? <img src="style_emoticons/<#EMO_DIR#>/wink-fix.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink-fix.gif" />
I remember reading a while back an interview with John Carmack where he expressed some regret at using only dynamic lights in doom 3. The gist I got from it was that he ended up having to really intensely optimize for the case of static lights to get it to run well, including doing some really heavy caching of the shadow geometry. I'll see if I can find the article, it was a long time ago. It's hard to tell from the video, but the lights I've seen so far look too soft to have been computed by stencil buffers. Is that the technique you guys are using?
I remember reading a while back an interview with John Carmack where he expressed some regret at using only dynamic lights in doom 3. The gist I got from it was that he ended up having to really intensely optimize for the case of static lights to get it to run well, including doing some really heavy caching of the shadow geometry. I'll see if I can find the article, it was a long time ago. It's hard to tell from the video, but the lights I've seen so far look too soft to have been computed by stencil buffers. Is that the technique you guys are using?<!--QuoteEnd--></div><!--QuoteEEnd-->
The image is rendered using <a href="http://graphics.uni-ulm.de/Instant.pdf" target="_blank">instant radiosity</a> with either one or two bounces (I can't remember which). The nice thing about this technique is that unlike lightmaps, you can include view-dependent effects like the specular reflection from the bounce light. It's not as obvious from the static image, but it looks great in motion. I created a modified version of the instant radiosity algorithm which makes it more amenable to the kinds of frame rates and hardware that current games are targeting. I think within the next few years this type of technique will become very popular for games.
Regarding the albedo, I loaded up one of our refinery textures and the average albedo is 0.2. If you have a light with intensity 1 and it hits a surface with reflectance 0.2, the maximum reflected light from that surface is 0.2. If it than hits another surface with reflectance of 0.2, the light that will enter the lens/eye now has a maximum intensity of 0.04. And most of the light isn't anywhere near the maximum due to attenuation of distance and angle. If we had Star Trek-like environments with lots of white walls and bright lights then the bounce light is important, but in our current environments it just doesn't seem to be much of a factor.
We aren't using stencil shadow volumes like Doom 3. I don't think any current engine uses that technique anymore (including id Tech 5). Shadow maps are easier to optimize, scale and look nicer.
Is that about right?<!--QuoteEnd--></div><!--QuoteEEnd-->
Yes, ambient light is a hack meant to simulate the missing bounce lighting effects. Radiosity isn't synonymous with bounce lighting though. It's just an algorithm that's used to compute global illumination. Photon mapping, for example, is a more recent algorithm which can handle some effects that radiosity can't.
The ambient lighting hack is not a bad one, especially for outdoor scenes. Combined with the screen-space ambient occlusion technique they developed for Crysis, things can look quite similar to true global illumination.
The ambient lighting hack is not a bad one, especially for outdoor scenes. Combined with the screen-space ambient occlusion technique they developed for Crysis, things can look quite similar to true global illumination.<!--QuoteEnd--></div><!--QuoteEEnd-->
Man i want to see more of that marine! I bet whomever modeled it is totally awesome.
Seriously, pimping stuff Max you make me so jealous.
I can't wait to get my hands on the engine stuff!
TQ2000 will live again!
Tell Cory congrats for me, and tell everyone else hi.
<img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" /><img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" /><img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
B
Will wait and see on the bounce lights issue. I still have that niggle in the back of my mind that tells me you can't live without it, but you do make an interesting point on NS's relatively dark environments, so I may well be wrong.
THose blog/podcasts are always so interesting.
Keep it up and looking forward to ns2