Jump to content

DeadlyMatter screenshots #2


Nils

Recommended Posts

A bunch of new screenshots, getting ready for the indiegogo campaign :)


Website: http://www.deadlymatter.com

Steam: http://steamcommunity.com/sharedfiles/filedetails/?id=402901401


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_001.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_002.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_003.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_004.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_005.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_006.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_007.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_008.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_009.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_010.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_011.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_012.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_013.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_014.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_015.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_016.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_017.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_018.jpg

[ + ] full res


http://www.deadlymatter.com/downloads/047180416/720/DeadlyMatter_Steam_047_019.jpg

[ + ] full res

Link to comment
Share on other sites

Sorta reminds me of a bit brighter, less depressing STALKER :)

 

The STALKER series are a piece of art and a big inspiration, so that's a compliment 8-)

 

Is that PBR already? I have the feeling it looks better than the old screenshots, but can't really tell.

 

There are quite a few updates since the last screenshots. The angle of the Sun object is different in these shots (due to time-of-day), so the blue skylight (custom object) will pop out more with especially the sun at low angels. Further is the postFx color ramp updated with an increased vibrance and slightly cut-off darks to brighten the shadows a bit. (edit: "increased vibrance" is more or less a changed color balance with a combo of contrast, so not a true vibrance in that sense)


No PBR yet, with around 400 materials it's a pretty time consuming task to make that switch. To make those materials maps look acceptable, a lot of T3D material properties were applied. Every texture had to balanced with the scene and overcome the lack of color depth with especially DXT1 compression.

Also having concerns on the memory load; the scene already using roughly 2GB. Would love to add AO and gloss maps, use a decent color depth and make use of a decent gamma correction, but the biggest concern right now is to have everything keep running at >30fps (while the new standard is becoming 60fps).


With a big bag of money and people to work with I would have certainly made that switch already. So sadly enough, right now DM looks dated like STALKER but luckily a bit "brighter and less depressing" with some "tricks" applied :P Nevertheless, a big applause for those who are working hard to make it happen for T3D 3.9

Link to comment
Share on other sites

@Nils

You said you use time of day, did you solve the flickering issue with the moving shadows? When I tried it, I noticed the moving shadow caused a flickering at it's borders due to bad filtering algorithms. Only with very high shadow resolutions it was halfway acceptable, but you could still see flickering if you look close and shadow pixels popping in and out.

In the game Skyrim they solved it by updating the sunlight only every 10 seconds or so, so the shadow will stand still for 10 seconds, then move a bit, which causes some flickering and then stand still again.

Link to comment
Share on other sites

Not entirely @Duion, but there were some changes that reduced the flickering effect.

The resource on this page should already be an improvement: http://pastebin.com/LfqdCC0B

I don't really know what this does, but it looks like it reduces the ugly fizz-noise and replaces it with a more banding-blend effect. If you use a very soft shadow it works almost fine, but on some places you still see flickering going on.

However thanks for the code, maybe I will use it later.


PS: The trailer is looking good.

Link to comment
Share on other sites

@Duion, yes, wat I said, we didn't got rid of the flickering entirely but made improvements. The code at pastebin is not written by me, it's from Tom Spilman, so better thank him for it! With trees & foliage the flickering can be acceptable, but of course would be best without. With all other objects it's indeed a painful reminder we're still behind on improving the engine. I'm personally not fond of updating the shadows for example every 10 seconds, the offset would be too much in our case. You see it in games like H1Z1 and gives the impression like the whole scene is suddenly updated like there was a lag or something.


edit: typo

Link to comment
Share on other sites

I think regular players will not notice the shadow update every x seconds, it took me 200 hours playtime in Skyrim to notice it and I see a lot more than regular players.

But the flickering in Torque is barely visible, if you make the shadows very smooth, only some diagonal shapes can get very bad.

Link to comment
Share on other sites

Sorta reminds me of a bit brighter, less depressing STALKER :)

 

The STALKER series are a piece of art and a big inspiration, so that's a compliment 8-)

 

I just started replaying CoP, amusingly enough. Hearing that makes me excited :D


Also, nice to see it in motion with the video. Pretty much the only complaint I could level at it is the lod/foliage pop-in, but that's not exactly an uncommon issue, even in AAA-scope games.


Beyond that it all looks rather solid. Keep up the excellent work!

 

Not entirely @Duion, but there were some changes that reduced the flickering effect.

The resource on this page should already be an improvement: http://pastebin.com/LfqdCC0B

 

!!!


I decided to give this a whirl real fast:


Stock:

http://ghc-games.com/public/PDiskPCFShadowTest_noPCF.png


With the PCF filter:

http://ghc-games.com/public/PDiskPCFShadowTest.png


That absolutely CRUSHES the ugly noise from the current method. You said Tom authored that? I need to ask about rolling that into stock.


I will note that I did tweak the shadowmap settings from what's stock in the default levels. They're, to be blunt, kinda insane. The shadows have 4 splits, reaching out to 400meters, meaning each 1024 map has to cover 100 meters of distance. It's no surprise that we see aggressive aliasing and peterpanning with that setup. I think I'll make a PR to dial back the shadows to a more 'normal' configuration like what I've got in my above test there that's closer to the distances we usually see shadows in play most games. That does a lot to deal with the aliasing and peter-panning, as said.


I'll have to take Andrewmac's vsm attempt and toss it in there too and see what happens. That worked pretty nicely in a broad sense, but had some blocky artifacting. I think getting PCF on there would smooth all that out and improve the shadows as a whole.


Anywho, rambling aside, thanks a bunch for bringing that bit to my attention :D

Link to comment
Share on other sites

Pretty much the only complaint I could level at it is the lod/foliage pop-in, but that's not exactly an uncommon issue, even in AAA-scope games.

 

Without multithreading this is as far as it goes running this scene at 30fps. The creation of groundcover cells for example, requires a lot of the CPU, and DM is pretty much CPU bound in it's current state. When everything (except for PhysX and such) is sharing the same thread, generating the cells takes to much time, so you'll see these blocks of foliage pop-in way too late; which is a way too short distance from the camera. Otherwise the groundcover cell would gradually build-up; which it does on parts of the map where there's not so much going on. For statics and forest it's more or less the same; settings will need to be kept this low when playing (and capturing) for now. This results in fast LOD switching and a lot of popping going on; but surely unacceptable when it would be a final release in 2016.

 

I just started replaying CoP

 

Awesome :mrgreen: :mrgreen: :mrgreen:

 

You said Tom authored that?

 

@JeffR, yes correct!

Link to comment
Share on other sites

I'll have to take Andrewmac's vsm attempt and toss it in there too and see what happens. That worked pretty nicely in a broad sense, but had some blocky artifacting. I think getting PCF on there would smooth all that out and improve the shadows as a whole.

 

PCF and variance methods (VSM, ESM, EVSM) are not really compatible. PCF uses depth and VSMs store depth moments which you then use Chebychev's Inequality on to determine the probability of it being in shadow or not. Because of the "shadowed or not shadowed" nature of it you get hard falloff, or blocky artifacts as you put it. VSMs, however, have the advantage of being able to be prefiltered with a blur pass. You can't do with a regular depth shadowmap because when you blur a regular shadowmap you blend depth values into areas where there wasn't depth values and thus create non-existant surfaces. So yeah, if you want VSMs to be usable you just need to spend a day on improving the blur pass. Which should be very simple, its just a blur pass.


Regarding the linked code, its PCF 3x3, which is pretty good but can be better without being more expensive (which is a rare occurrence in graphics programming). If you spend a little time getting shadow samplers working in T3D you can do optimized PCF 5x5 which gives the same quality as 5x5 but with as many samples as 3x3. It's what Torque 6 and Unity are currently using. Here's an article on it if you're interested: http://www.ludicon.com/castano/blog/articles/shadow-mapping-summary-part-1/ It's the best quality to performance ratio I found of any of the shadowmap techniques.

Link to comment
Share on other sites

I'll have to take Andrewmac's vsm attempt and toss it in there too and see what happens. That worked pretty nicely in a broad sense, but had some blocky artifacting. I think getting PCF on there would smooth all that out and improve the shadows as a whole.

 

PCF and variance methods (VSM, ESM, EVSM) are not really compatible. PCF uses depth and VSMs store depth moments which you then use Chebychev's Inequality on to determine the probability of it being in shadow or not. Because of the "shadowed or not shadowed" nature of it you get hard falloff, or blocky artifacts as you put it. VSMs, however, have the advantage of being able to be prefiltered with a blur pass. You can't do with a regular depth shadowmap because when you blur a regular shadowmap you blend depth values into areas where there wasn't depth values and thus create non-existant surfaces. So yeah, if you want VSMs to be usable you just need to spend a day on improving the blur pass. Which should be very simple, its just a blur pass.


Regarding the linked code, its PCF 3x3, which is pretty good but can be better without being more expensive (which is a rare occurrence in graphics programming). If you spend a little time getting shadow samplers working in T3D you can do optimized PCF 5x5 which gives the same quality as 5x5 but with as many samples as 3x3. It's what Torque 6 and Unity are currently using. Here's an article on it if you're interested: http://www.ludicon.com/castano/blog/articles/shadow-mapping-summary-part-1/ It's the best quality to performance ratio I found of any of the shadowmap techniques.

 

Dang, I was afraid they wouldn't be compatible. Ah well.


And yeah, Az and Timmy poked and prodded on some of the sampler stuff and got hardware PCF functional, which is nice. Have to get that rolled in if everything checks out on it.


I can still remember back in the day when PCF just started being a thing and everyone was all 'oh man it looks so nice but ahrgrgaghgrgrhgh my frames!' haha.


@Nils

Speaking of shadows, what distance do you have for the visible shadows? The stock settings for the stock maps put the distance out to 400 which, honestly, is pretty freaking far. Most AAA games I'd been checking for comparison seem to max the shadow distance out to around 200m. Dialing back the shadow distance yeilds a better utilization of the shadowmaps' resolution, and helps cut back on the jaggies. If you're pushing a really high distance, I'd suggest dialing it back to 150-200 with maybe 50 of fade distance and see how that does to help combat the remaining shadow edge issues.

Link to comment
Share on other sites

@JeffR - Beside distance and softness has logweight a lot of influence on the quality. To keep it nice-looking at a closer range but still have some shadow at a far range (DM has a big map), tweaking the logweight could be important. The shadow distance should be adapted to how immersive you want to go. The sudden popping-in of shadows can be really annoying when moving around the map sprinting or driving...

 

shadowType = "PSSM";
texSize = "1024";
shadowDistance = "360";
shadowSoftness = "0.8";
numSplits = "4";
logWeight = "0.974";
fadeStartDistance = "0";
lastSplitTerrainOnly = "1";

(logweight value is too sensitive in T3D imo)


Reducing the texSize does improve performance enormously, but surely doesn't help in the battle against the flickering.

Link to comment
Share on other sites

Yeah, you definitely don't want shadow pop-in for sure. That said, I'd been trying out several AAA games, and the shadows don't seem to usually be rendered further out than roughly 200m.


With the fadeStartDistance in there, you can control when the shadows begin to fade out to avoid any visual popping, too.


I'd say try cutting the shadow distance to about 200, and have the fadeStartDistance at about 150(so it gives an entire 50m for it to smoothly fade out, which should make it subtle enough that unless you're specifically looking for it, you won't notice).


Cutting back on the distance should give 2 boons: better performance because you're hitting fewer objects to be rendered in the shadowmap, and tighten up the space that each slice is applied to, which should help with resolution and edge jitter.

Link to comment
Share on other sites

Thanks, it sounds very plausible @JeffR. Of course depending on the title I can imagine setting the shadows to a value like that. There are certainly recent AAA titles with insane draw distances but I wouldn't dare to compare with a T3D powered game ;)


DM has the option to set the shadow "distance" in the options and the default is linked to the overall quality. Increasing the minimum object size to draw shadows is a quick method to gain performance -> $pref::PSSM::smallestVisiblePixelSize = "128";.


http://i-dropper.net/torque/ShadowSettings_LR.jpg


It's possible that the "medium" settings may come close to the values you suggest. Though in the screenshot you can already see that 360 meters (current default) isn't really that far way in DM. Further are the splits also drawn closer, which does increase the visibility of the flickering because the pixel size of the shadow maps are also bigger. It will take some time to tweak all the settings to be perfect for each "quality" defaults :D


Another option is to have a close look at what draws shadows and what not. Often not all objects or materials need to draw shadows at all.

Link to comment
Share on other sites

Yeah, that's definitely another optimization. Another is having a duplicate material on a lower LOD that just has the 'casts shadows' flipped off and the like.


One thing that came up we'll be looking at implementing is 'Shadow Proxies', ie, the option to define a submesh or submeshes as being used specifically to render shadows. So artists could author a model that has the same basic silhouette as the visual mesh, but far lower poly density(as unless you're right up on it, the shadows'll generally only need to be "good enough") which saves a lot of horsepower in the shadow pass.


As for shadow draw distance, I need to do more profiling with more titles, but the 200-ish seems to be pretty standard. That said, there are fewer 'lets make the GPU melt' PC-focused games these days, so there's a lot of compromising with consoles, but that number seems fairly consistent. I need to pull up games like Witcher 3 or some others for a good feel on how far out they draw shadows. Maybe the recent Far Crys would be another good sample-set...


Did a quick google search on MGS5 for an image with PC, and it seems like they selectively drop out lower profile meshes from shadowing(like the rocks) before buildings, but even about where you hit the main block of buildings in the town, it doesn't look like they're rendering shadows anymore:


maxresdefault.jpg


Hmmmm.....

Link to comment
Share on other sites

Another is having a duplicate material on a lower LOD that just has the 'casts shadows' flipped off and the like.

 

Yes that's an option. DM has several props with lower LOD materials; mostly with only the diffuse map and stripped all of the rest. The problem with that though is that the shadow side of the object will appear much brighter (with dark ambient settings) and switching from the higher LOD to a lower one can be painfully visible. Often I found that a high res imposter will do the job better in the optimization in T3D. Shadows for imposters can be set off, though it's either on or off for the whole scene ($pref::imposter::canShadow), having it per imposter material could be a good feature for the artist.

(The quality of the auto generated imposters need desperately improvement though, but that's another discussion).


'Shadow Proxies' sound like a good feature to have; I totally agree. Perhaps even make it possible to use the collision shapes for that as well; which could do for particular props.


In large scenes, most objects like foliage and rocks etc. will be either brought into the scene via the forest tool or with groundcover (or procedural). It's already possible to turn on/off the shadows per groundcover object; perhaps it's an idea to do this for forest objects as well, giving the artist more control there.


With dynamic lighting and time-of-day you'd want to have the shadows drawn by the terrain to be rendered much further then 200m. T3D doesn't have the possibility to handle those separately, sadly enough, so solely depending on normals :|

Link to comment
Share on other sites

Yes that's an option. DM has several props with lower LOD materials; mostly with only the diffuse map and stripped all of the rest. The problem with that though is that the shadow side of the object will appear much brighter (with dark ambient settings) and switching from the higher LOD to a lower one can be painfully visible. Often I found that a high res imposter will do the job better in the optimization in T3D. Shadows for imposters can be set off, though it's either on or off for the whole scene ($pref::imposter::canShadow), having it per imposter material could be a good feature for the artist.

(The quality of the auto generated imposters need desperately improvement though, but that's another discussion).

 

Good point on the impostors. Also yes, the impostor generation needs to get fixed up. It's definitely not as good as it should be.

 

'Shadow Proxies' sound like a good feature to have; I totally agree. Perhaps even make it possible to use the collision shapes for that as well; which could do for particular props.

 

Hm, not a bad idea.

 

In large scenes, most objects like foliage and rocks etc. will be either brought into the scene via the forest tool or with groundcover (or procedural). It's already possible to turn on/off the shadows per groundcover object; perhaps it's an idea to do this for forest objects as well, giving the artist more control there.

Yeah, that'd be a good idea. Have it act as an override to whatever settings are on the forest item's material.

 

With dynamic lighting and time-of-day you'd want to have the shadows drawn by the terrain to be rendered much further then 200m. T3D doesn't have the possibility to handle those separately, sadly enough, so solely depending on normals :|

It's not as bad as you'd think, but yeah, having them go further is always a good thing if possible.


That said, doesn't the PSSM settings have an option for 'last split terrain only'? Or does that not work when you try it?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...