Killzone 2 technology discussion thread (renamed)

Status
Not open for further replies.
Funny... Spherical Harmonics is old school in games?
How Bungie rendered or precomputed their lightmaps doesn't factor much into the lighting engine's overall performance. Didn't Halo 2 on the Xbox 1, a game from 2004, use a similar method for generating their lightmaps?

That's also funny... he didn't even mention the shadowing.
Lighting casts shadows. I'm inclined to group lighting and shadowing together in the discussion at hand, because I think they do go hand-in-hand, and are both relevant in the discussion of how technically impressive or performance-intensive a game's "lighting engine" actually is.
 
Last edited by a moderator:
Lighting casts shadows. I'm inclined to group lighting and shadowing together in the discussion at hand, because I think they do go hand-in-hand, and are both relevant in the discussion of how technically impressive or performance-intensive a game's "lighting engine" actually is.

Sure, but the Halo 3 talk was more focused on its HDR implementation:
Still haven't seen any game engines looking that nice in terms of lighting and color... Most end up overexposed and overbloomed, H3 however is spot on.

And I fully agree with that statement.
 
Once again I have to stress - regardless of the tech, H3 is artistically superior, particularly in outdoor scenes.
 
Once again I have to stress - regardless of the tech, H3 is artistically superior, particularly in outdoor scenes.

When we start throwing around words such as superior, with things that are subjective such as art, we get into a very big mess and its not the direction we want to be heading in this thread imo.
 
Laa-Yosh is just stating his personal preference and opinion when he uses the word "artistically". No point debating it (There is no end ! Plus Helghan is different from Earth). I do wonder why we are talking about Halo in KZ thread though. :)


joker454's post is more on topic and informative but I think it might be an easier intermediate argument to compare Insomniac's overall SPU Shader architecture to GG's Deferred Rendering framework. That way we are comparing pure software approaches. And we have presentations from both online.

The 360 and PS3 have very different architecture. Their preferred approaches are likely to be weird or failing on the other platform (Hence, comparing apples and oranges).


I do want to know if the SPU + GPU approach allow the developers to come up with new ways to formulate our games (e.g., just as an arbitrary made-up example, can the calculated shadows in turn affect gameplay/AI ?). And what other areas GG think they can improve further (beyond KZ2). :)
 
Keep in mind I'm not trying to argue that PS3 is better or worse than the 360 (I develop on both), but rather go through some of the PS3 advantages which KZ2 took advantage of which can be talked about in a public forum (ie backed by stuff which has been publicly disclosed). Clearly had KZ2 been a 360 game, I'd be talking about 360 advantages instead.

30% seems really high, unless you meant how much cpu use it would take. I don't think a gpu would take that long post processing the items you mention. I agree that it's not a bad choice to do it that way on the PS3, but I don't think anyone can make direct comparisons to other machines because it doesn't make sense to do it that way on a unified gpu.

30% for a 60 Hz game might be a good upper bound. I think there was an Insomniac presentation which quoted a high number like this. Cannot remember if it was for early R2 (possibly a 60Hz target then?), might not make given (I think) the shipped R2 is a 30Hz game.

As long as CPU/GPU memory access isn't a problem (ie your GPU can write out to CPU memory, or has unified memory, or the CPU can quickly access GPU memory), and the CPU has a serious vector unit (which the SPUs qualify for) with enough bandwidth, then doing post processing CPU side can make sense if you have free CPU time. Sure wouldn't try this on the 360 however. If you go way back to the old SGIs (O2, etc) which had unified memory, you might be doing some post processing CPU side. Likely in the future as GPUs get more CPUified, everything will stay GPU. However if PS4 ends up with both a DX11 class GPU and a lot of new SPUs, you might very well want post SPU side just to find enough to keep them busy.

... It's true that texture fetch is a bottleneck during post processing, but you can also use this to your advantage because you can go nuts with alu instructions on a unified gpu during post process with no performance hit. That lets you try all manner of stuff! For example, you can combine what are normally separate post processing steps together. If you have two steps that can use the same 16 taps then glop them together and go alu crazy, it won't matter because all that alu time will get absorbed by the unified gpu running at full tilt. Net result is you can get entire post process passes free.

Agreed, lots of ALU free, bandwidth not free.

This is true. However, from what I recall KZ2 still has a forward render pass for particles. It would have massively benefited from EDRAM there. Resolves are irritating but they are very fast, faster than the performance loss you will encounter doing a forward render transparency pass on a non edram setup.

Yeah, EDRAM is awesome for 8bit blending with lots of overdraw. And it is clear with KZ2's low resolution 4x MSAA trick for rendering particles that particle rendering was an issue (as it is for everyone else as well).

I think you are overstating this one. What you are saying is true, reusing shadow buffers on 360 would be a pain. But it's moot because you wouldn't do that anyways. You have to do that on PS3 to get around the heavy memory handicap that machine has, on 360 there's piles of extra ram so just keep 4 separate shadow buffers around, no big deal at all. Plus, there are potential advantages to keeping the shadow buffers around.

Sure advantage of shadow buffers being around are for static shadows, or if you don't update all your dynamic shadow maps every frame. But you still eat the memory cost for that. Seems like with KZ2 that they use dynamic fast changing shadows to their advantage, like the back-projected muzzle point shadows. Likely they are also taking advantage of hardware PCF, and the fact that shadow map generation is rarely fill limited on small shadow maps (as you might have in a shadow cache), and instead fill a common shared larger map for higher quality shadows all around.

The PS3 "heavy memory handicap" is bogus. Knowing from public docs that people can do post SPU side should provide enough hints as to why this is so. Also one would have to be making a lot of assumptions about texture bandwidth, physical texture layout in memory, texture cache, and other important considerations which we won't ever be talking about (for obvious reasons) to validate or disprove any such over-arching comment. Better to keep it as that both platforms have various advantages and disadvantages with respect to texturing and memory which can support a very similar level of quality (which IMO both Gears 2 and Uncharted have shown on their respective platforms).
 
Last edited by a moderator:
Yeah, EDRAM is awesome for 8bit blending with lots of overdraw. And it is clear with KZ2's low resolution 4x MSAA trick for rendering particles that particle rendering was an issue (as it is for everyone else as well).

The extra EDRAM rendertarget bandwidth is a good thing to have (especially when rendering particles using 4 x MSAA), however particles on Xbox 360 seem to be most of the time fill rate bound (and EDRAM does not reduce the particle texture bandwidth at all, only render target bandwidth). Any links to KZ2 documentation describing their 4xMSAA particle trick? We are using our own 4xMSAA downsample trick for 2x2 downsampled particles, but that trick is mainly used to save the depth buffer EDRAM resolve cost, depth buffer downsample cost and depth/hi-z EDRAM restore cost. And as an additional bonus it also causes the low res depth edges to be antialiased (but not 100% correctly). The KZ2 4xMSAA trick explanation would be a good read, as I am pretty sure they have figured out something extra I have missed.
 
The extra EDRAM rendertarget bandwidth is a good thing to have (especially when rendering particles using 4 x MSAA), however particles on Xbox 360 seem to be most of the time fill rate bound (and EDRAM does not reduce the particle texture bandwidth at all, only render target bandwidth). Any links to KZ2 documentation describing their 4xMSAA particle trick? We are using our own 4xMSAA downsample trick for 2x2 downsampled particles, but that trick is mainly used to save the depth buffer EDRAM resolve cost, depth buffer downsample cost and depth/hi-z EDRAM restore cost. And as an additional bonus it also causes the low res depth edges to be antialiased (but not 100% correctly). The KZ2 4xMSAA trick explanation would be a good read, as I am pretty sure they have figured out something extra I have missed.

Sounds like you are already doing it. I think the KZ2 thing is,

1.) 2xMSAA color (after lighting) and depth resolve to 1280x720P
2.) 1280x720P color and depth alias as 4xMSAA 640x360 (restore z).
3.) Blend in particles into 4xMSAA.

Particle output ends up as 2x2 pixel blocks in areas where particles are opaque. Resistance 2 is doing this 4xMSAA trick as well as a second pass for even lower resolution particles.

I'm not sure because I didn't have the KZ2 previews, but I think that they might have something going on for low resolution fill as well. They might be adding noise to hide low frequency of smoke textures (or I just mistook some bad compression artifacts)..
 
They might be adding noise to hide low frequency of smoke textures (or I just mistook some bad compression artifacts)..

Actually this could be caused by the simplest 4xMSAA 2x2 lower resolution particle rendering trick:

1. Render your scene at 720p (no aa)
2. Alias both your color and depth render targets as 2x2 smaller 4xMSAA targets (free)
3. Render particles to the 2x2 smaller 4xMSAA texture (4 x faster fill rate - at least on Xbox 360, but should be almost 4 x faster on PS3 as well)
4. Alias back the color and depth buffers to 720p (no aa) (free)

This way you get exact pixel perfect depth silhouette on particles (4xMSAA does four depth tests per pixel). The sub samples are misaligned during the particle rendering, but it does not matter for the depth as the samples get aligned back to correct position when aliased back to 1xMSAA. The rendered particle color data is slightly jittered, as the 4xMSAA pattern is not a ordered grid and the memory layout is different. This could be the cause of the "noise" in KZ2 particles.
 
Laa-Yosh said:
Once again I have to stress - regardless of the tech, H3 is artistically superior, particularly in outdoor scenes.
I take it you're referring to lighting only?
Because some other stuff I consider the opposite of good-art in H3 (like blatant texture tiling/repetition patterns - especially outdoors). Unless that's some intentional part of Halo art that I just don't "get".
 
Last edited by a moderator:
I guess R2 must use the same down sampled particles technique too. But they don't seem to have adequate smoothing to hide the pixelation effect. The particles for weapon effects and blood spashes look very pixelated especially when when your are zoomed in with a rifle.

I wonder if KZ2 will have this problem. I was in the beta and didn't notice it. But they I didn't play it long enough to closely scrutinize it.
 
[modhat]Regards Halo3 this isn't the place for the current discussion as it is. H3 was raised by Mystery XBox Forum Guy as an example of how good a game can look without needing KZ2's elaborate renderer. What H3 certainly got right artistically was the lighting, which did look good. Bungie's use of precomputed SH and well-balanced exposure simulation created an authentic impression of natural optics. Which was kinda Mystery TeamXBox Forum Guy's point, but it is a misleading one, as what you see one screen is not absolutely indicative of what's happening under the hood. H3's look is not something uniquely attainable on XB360 because of the eDRAM. A game that you like the look of more than another doesn't prove that the game you like the less is technically less impressive. It was a fanboy comment that didn't really contribute anything to the argument.

There's no point talking about whether H3 looks nice or not in this KZ2 tech thread. If H3 is to feature in the debate, it's as a comparison of rendering technologies and what they enable. eg. Did H3's choice of render-target enable something impossible in KZ2? If what you're posting doesn't tie directly into KZ2 somehow, please don't post it ;)[/modhat]
 
I do wonder why we are talking about Halo in KZ thread though. :)

KZ does suffer from color clipping on highlights because of lack of precision; but it's a fair compromise if we consider how much more they can do with deferred rendering instead of a HDR framebuffer (even something like NAO32).
Halo3 went the other way and is generally nicer - but can only do less with constrained resources (sub 720p, no AA etc.).
 
I take it you're referring to lighting only?
Because some other stuff I consider the opposite of good-art in H3 (like blatant texture tiling/repetition patterns - especially outdoors).

Yeah, of course, some of the artwork is close to substandard even - could look vastly better using the same poly and texture budget...
 
KZ does suffer from color clipping on highlights because of lack of precision; but it's a fair compromise if we consider how much more they can do with deferred rendering instead of a HDR framebuffer (even something like NAO32).
Halo3 went the other way and is generally nicer - but can only do less with constrained resources (sub 720p, no AA etc.).

Well, the "launch-period" game, Heavenly Sword (NAO32 HDR, 720p, 4xAA) is more vibrant and delightful than KZ2's gloomy and dulled Helghan world too, but I believe the technologies are chosen partly to suit the game's setting and experience. And it can be more than specs and looks (e.g., emotion/mood).

It's hard to gauge their achievement until we have seen the complete game. But I am curious to see how the art guys use dynamic lights to dramatize the encounters. It's like how Kojima directed his camera very effectively in MGS4. It's a whole different visual language. If they don't use it well, it would be a missed opportunity or even let down (So what if we have many lights ?).

Granted, there are many subtleties and eye candy in KZ2 already, but the dynamic lights is a much touted feature. Would be great if we can point to certain scenes in KZ2 and say "There it is !".
 
You have to do that on PS3 to get around the heavy memory handicap that machine has, on 360 there's piles of extra ram so just keep 4 separate shadow buffers around, no big deal at all. Plus, there are potential advantages to keeping the shadow buffers around.

What do you mean by heavy memory handicap? I thought it was only a few MB in favour of the 360 (due to the larger footprint of the PS3 OS).

Is this due to the PS3's separate memory pools, compared to the 360's unified architecture?
 
Status
Not open for further replies.
Back
Top