Digital Foundry Article Technical Discussion Archive [2016 - 2017]

Status
Not open for further replies.
I think Zelda BoTW looks great however I am curious are there any Ps360 titles that
bring something as impressive to the table in an open world game ?

Despite the turn the last conversation took, I still think something cool could still come from the question.

something as old as farcry 2, infact I think the new Zelda took a lot from Farcry games, even Aounuma said he was playing Farcry 4 and played the franchise before.
 
Cel Shading also requires about twice the polygon count of a non cel shaded game due to how cel shading works.
Are you sure? There's the old inverted mesh trick to get the outlines, but modern pixel shaders can do the same without doubling the mesh. I think. Normal maps can be used just as well as conventional rendering. Basically render as normal and clamp illumination to a gradient ramp.
 
Unfortunately fill rate hasn't increased as much as ALU. I found grass/tree rendering to be the most difficult part to get running at 60 fps on Xbox 360.
milk answers
sebbbi, what if each blade of grass is an individual mesh with no alpha map? Does that make it less expensive on fillrate
Bingo, this is what I done 15 years ago and I guess the Zelda game does
+ less filllrate (plus no expensive alpha, Is alpha test/blending still 2x the cost of normal? plus also drawing pixels that are not even seen) We are prolly talking a 3-4x fillrate saving here, bang! your quarter sized stuff are now fullsized and run at the same speed :cool:
+ looks better (this is the biggest plus)
- more vertices, more computing (the thing is todays GPU's have become so fast, I say use this power to make something better looking than last century's 'speedtree' like stuff)

Yes shadows were previously a PITA but this also benefits of having cheaper shadows (less fillrate)
 
That's exactly the kind of answer I wanted. Thanks zed. Excuse my ignorance, but may I ask what was it that you used this for?
 
It was just for something I was mucking around with after looking at a picture in computer graphics principles and practices, I prolly spent 6 months on it, optimizing and getting the LOD where a tree would go from millions of verts down to a couple of thousand without it noticeably changing to the viewer based on distance, the major issue back then was memory ~10MB allowed total IIRC, of course today with GBs memory and esp programmable GPUs thats not so much of an issue.
I do have a simplistic webgl app I could upload to a page if you wanna have a look, though thats unoptimized and has no LOD etc, yeah just checked found it on the HDD, it draws a single tree but you can change stuff with sliders
 
Digital Foundry: Hands-on with Battlefield 1
Initial tech analysis, a PC settings comparison preview - plus evidence of DirectX 12 support.

Great to hear it's incredibly well optimised for PC as usual, 4k/Mix of High-Medium/60fps should be within reach on a 1070 in the final game.

1080p/Ultra/60fps should be standard with a 970 when it comes to cross platform games imo considering it's what, almost 3x the power of PS4's GPU (1.8 AMD TFLOPS vs 3.6 NV TFLOPS) and most PC gamers have a much, much more powerful CPU.

Ubisoft and the like should be ashamed of themselves when they look at the performance DICE achieve for cross platform games on PC.
 
Yeah, a shame I have no interest in this. I'm not keen on shooters with less sophisticated guns. But it bodes well for future FrostBite games.
 
Well, if doesn't take too much of your time, it'd be lovely.
no probs Ill upload this weekend when I get some time to update my site, its not gonna run well, its from a couple of years ago when webgl was just starting (havent looked at that API for a couple of years, there are prolly far better ways of doing the rendering than what I'm doing)
 
Plenty. As orangpelupa says, GTAV was epic for example. It's stupid to try to compare BotW to PS360 games as if either BotW is rubbish or doing something PS360 couldn't, as we know Wii U isn't massively more powerful so literally can't do anything more impressive save some graphics techniques dependent on the more modern GPU architecture. We should only be discussing BotW like any other title - what is it doing and how on the hardware available.

It's obsessesive drives to turn games into examples of godlike powers by superhuman devs, or as evidence of a weak system deserving contempt, that turns good discussion to shit. I don't undertand how that mentality can continue to exist in some people long past their teenage years when they should really outgrow it.
hmm GTA V and MGSV are impressive on PS3X360.

MGSV and GTAV both immediately came to mind for me as well.
I also think Infamous 2 did some pretty impressive stuff with the sheer amount of objects that'd
go flying once a special move was activated.

I might be off here but I also think the amount of improvements the AC series saw over the years is also
really impressive and up there with Zelda BoTW.
 
sebbbi, what if each blade of grass is an individual mesh with no alpha map? Does that make it less expensive on fillrate (considering the engine can handle such geometry density) or is rendering a bunch of long polys too terrible for rasterisation and shader efficency? I guess the overdraw you save by quitting alpha-testing might be cancelled out by the sheer volume of blades you end up having to render, but maybe with that kind of dencities more agressive lodding isn't as noticeble...
Non-alpha blended geometry works perfectly fine, but it's limited to simple shapes, such as grass blades. Your artists likely want to add some flowers, bushes, etc in the mix. Tree leaves also require more complex shapes. If some geometry needs alpha blending and some doesn't (different render states), you can't perfectly depth sort anymore (and can't render everything with a single draw call). Anti-aliasing is problematic with defererred rendering pipelines. Alpha blended edges are perfectly antialiased (AA is baked to texture). If you have a real (sharp) polygon edge, you need either MSAA (= slow with deferred shading), post process AA (= temporally unstable) or temporal AA (= reprojection based IQ issues -- neighborhood clamping works especially bad on grass).
Bingo, this is what I done 15 years ago and I guess the Zelda game does
+ less filllrate (plus no expensive alpha, Is alpha test/blending still 2x the cost of normal? plus also drawing pixels that are not even seen) We are prolly talking a 3-4x fillrate saving here, bang! your quarter sized stuff are now fullsized and run at the same speed :cool:
+ looks better (this is the biggest plus)
- more vertices, more computing (the thing is todays GPU's have become so fast, I say use this power to make something better looking than last century's 'speedtree' like stuff)

Yes shadows were previously a PITA but this also benefits of having cheaper shadows (less fillrate)
Alpha blending doesn't slow down the fillrate on modern GPUs (it only requires more bandwidth). Hi-Z hardware of modern GPUs work in 4x4 (or bigger) tiles. Thin grass blades (both geometry and alpha mask based) do not occlude that well. You will still be executing a lot of extra pixel shader invocations. "Looks better" is debatable. It entirely depends on your anti-aliasing method.

I fully agree that big square billboards for vegetation are a stupid idea (on modern GPUs). A low poly mesh that roughly approximates the shape cuts down the wasted pixel shading cost dramatically, while at the same time only costs a little bit extra for the vertex processing. High vertex shading cost isn't an issue if you only draw grass near the player, but short grass render distance looks pretty dated. You can automate vegetation LOD mesh generation. This way you get very little wasted pixels when the grass is near, and very little wasted vertices when the grass is far away. And no popping of course.

The biggest issue for not using alpha masks (at all) is artists. This choice will limit artists, and they don't like it :)
 
"Looks better" is debatable. It entirely depends on your anti-aliasing method.
Its not debatable, eg the following grass texture which is typical of that used in games, all the blades are on a single polygon, thus they all have to billboard at the same vector, which is not going to look right (at a greater distance it will look ok though) also when the grass sways it goes backwards and forwards,backwards and forwards all together eg see XXX.youtube.com/watch?v=B4j5tzAIflU&feature=youtu.be&t=1212 (cant link or else it inserts the video which starts playing from the start), contrast this with each blade being able to move independant, it just looks better.
WRT speed of doing a billboarded polygon vs lots of individual blades, I would be interested in a benchmark between the two, I would put my money on the better looking method :yes:
plants_grass_006_col.png
 
Until you want folliage with some flowers on the top, which would require many polys to do without any alpha mask. But of course, my question was motivated by zelda, which only has very simple grass, and cartoony visual style, and which looks a lot like they are animating grass strands individually, and look a lot like simple flat coloured poly strips. Probably not the best aproach for many use cases, but seems like a great fit for this Zelda.
My bigger doubt was if quad efficiency and HiZ compression (which still get raped by single flat poly grass) were more relevant factors to performance than the overdraw of alpha-testing it avoids. AA is in most games a non advantage either, as many render their folliage into the g-buffer, so are stuck with an aliased binary alpha test anyway. Trials was an exception in that regard, and had the con of being not being lit defferedly like everything else.
 
Last edited:
Until you want folliage with some flowers on the top, which would require many polys to do without any alpha mask. But of course, my question was motivated by zelda, which only has very simple grass, and cartoony visual style, and which looks a lot like they are animating grass strands individually, and look a lot like simple flat coloured poly strips. Probably not the best aproach for many use cases, but seems like a great fit for this Zelda.
Examples of good looking alpha masked grass:
Alpha masked grass with flowers: http://farm8.staticflickr.com/7425/9333590472_e868087883_o.png
Dense alpha masked grass: http://portforward.com/games/walkth...mpany-2/Battlefield-Bad-Company-2-large-4.jpg
Variation + non-polygon shaped foliage: http://staticdelivery.nexusmods.com/mods/110/images/58001-2-1410441345.jpg

If the artists want to have lots of variation and be able to customize the look of the vegetation per level/area, they'll feel pretty limited with hard edged polygon grass.
 
Its not debatable, eg the following grass texture which is typical of that used in games, all the blades are on a single polygon, thus they all have to billboard at the same vector, which is not going to look right (at a greater distance it will look ok though) also when the grass sways it goes backwards and forwards,backwards and forwards all together eg see XXX.youtube.com/watch?v=B4j5tzAIflU&feature=youtu.be&t=1212 (cant link or else it inserts the video which starts playing from the start), contrast this with each blade being able to move independant, it just looks better.
WRT speed of doing a billboarded polygon vs lots of individual blades, I would be interested in a benchmark between the two, I would put my money on the better looking method :yes:
plants_grass_006_col.png
I am talking about alpha masking single ferns/plants/flowers/grass blades. 3-4 triangles already approximate a grass shape pretty well (plus allow individual bending animation). With alpha mask the shape is properly curved (no polygon edges) and the alpha mask provides high quality baked AA. This also makes it possible to mix ferns/flowers/etc seamlessly in the grass. I am pretty certain that this looks better than hard clipped grass polygon edges (no matter how fancy AA method you use for the geometry). Yes, it is a slightly bit slower, because custom MSAA coverage output and/or discard is bad for depth compression. On modern hardware this doesn't disable HiZ (and early Z test still works). The difference in performance is not huge. Alpha mask gives artists more freedom and improves their productivity, making it often the preferred method.
 
Status
Not open for further replies.
Back
Top