Loading...
  OR  Zero-K Name:    Password:   

Zero-K Going HDR (Warning: Image heavy)

35 posts, 1316 views
Post comment
Filter:    Player:  
Page of 2 (35 records)
sort
While this hasn't reached the point of going stable yet, it's now nearly complete. This will be part of the deferred shading (dynamic lights) widget, and will include full bloom and HDR support. Bloom will depend on HDR for technical reasons, and since it doesn't make much sense otherwise.

While HDR is more expensive than not, it offers at least two tangible advantages when it comes to dynamic lights.

1: Smoothness. HDR eliminates the grainy artifacts that currently plague dynalights, and also make the falloff of the lights considerably smoother.

2: SHINY!!! I included a function which shifts super bright lights toward white. Currently if you stack 100 scorcher beams on top of each other all you get is a grainy orange blob. With HDR they will make a smooth firey white flash almost like a lens flare. Overall the look is very starwars-ish, esp with higher white intensity for red beams like scorp and bandits. Lots of things are much shinier.

However there are also two major disadvantages. The first is that it's more expensive, although it's optional and you can turn it off to save on performance. The second is that the HDR tone mapping algorithm that makes the lights so shiny and smooth also causes irreversible color shifts which are difficult to correct even partially. Partial color correction is about all I've managed (and also adds to the expense).

Another minor disadvantage is that some not-so-great effects end up looking worse, either by contrast or by accentuation. Ground flash effects are really bad, and it also demonstrates a distinct need for proper explosion dynalights. Wyvern/tacnuke explosions also look bad. I haven't actually tested silencer but perhaps I should.

TL;DR::
I think I had bloom turned all the way up for this on accident. It's still about average scorcher shinies though.


Also overbloomed, but bright!
















I think pene needs a dynalight.


The following screenshots are a direct comparison between LDR, HDR, and HDR+Bloom:

Scorpion Comparison:




Scorcher Comparison:




BONUS SHINIES!! After a short time step:
+17 / -0
7 years ago
Looks very nice. Good job. Its amazing how little effects like this can change the perceived quality of the game so much.

One thing I would watch out for though is to make sure that the effects do not overshadow the unit itself. They could be smaller in size. Units being swallowed in halos does not make for good game readability.
+2 / -0
The size/brightness of the effect is closely related to the lights that are used. Also ZK's units and buildings badly need remaking anyway, I'm just piling up more excuses. :)

EDIT: also if you look at the comparison shots you can see that the size of the effects hasn't actually changed. I think the dynalights used for scorp's multistunner are probably not well configured. In practice what you see is more like bright flashes though, which looks pretty cool. It's much cooler in motion than can be conveyed through screenshots.
+1 / -0
I'm not saying that the units got smaller, its just that the effects are so large, than it dwarfs the unit in comparison. That one dante picture is probably the worst offender. Its beams are thicker than it is; taking up much more screen space than the dante itself.

But w/e this is just nitpicking that I'm sure isn't too complicated to fix at a later time.
+0 / -0
7 years ago
Good job Aeonois! Small improvement, big effects, makes it look far more realistic than before, however, I would like to say you might need to bring the brightness down, scorchers heatray looks more like a lightbulb than a heatray...
However, Lightning looks much better because it's meant to be bright
+0 / -0


7 years ago
Yay, it looks pretty! One thing that comes to mind, though, is whether specular highlights and sun reflections could also be run through this. As far as I can tell the whole HDR thing is fairly generic, so maybe it just happens automatically.
+0 / -0

7 years ago
Everything that is rendered prior to DrawScreenEffects gets run though the HDR machine, which is pretty much everything. However things that are rendered in LDR don't get all the effects and tend to lose strength.

I've done roughly as much tuning as I reasonably can with the HDR/bloom shaders, and mostly I'll be focusing on improving performance from now on. Tuning and/or making use of the effects is mostly in the jurisdiction of dynalights, which is not something I've messed with directly.
+1 / -0


7 years ago
I've done a start of a large campaign to abolish ZK's exploitation of groundflashes entirely, in order to replace them with an explosion lights widget(+gadget because widgets cannot into addon:Explosion).

However, it's stalled on my disgust with CEG and in particular a bug that causes ExploSpikes to not render except on ground. I consider these to be a natural particle class to replace groundflashes in many cases as they suffer much less when clipping other things (ground, unit geometry) compared to e.g. heatclouds.

All mushroom cloud explosions are worth taking a look at. But i'm not sure anything much better can be done within the limits of CEG. Perhaps LUPS is an alternative.

+0 / -0


7 years ago
quote:
However things that are rendered in LDR don't get all the effects and tend to lose strength.

What is controlling whether something is rendered in LDR or HDR? Is is just a matter of whether its shader lets its colours go above 1.0?
+0 / -0

7 years ago
quote:
What is controlling whether something is rendered in LDR or HDR? Is is just a matter of whether its shader lets its colours go above 1.0?


It's a matter of spring not rendering to an HDR-compatible texture from the start. I'm using RGB16F and I'm fairly certain that spring only uses RGB8 or RGBA8 so any values above 1.0 will be automatically clamped before reaching the HDR shader.

quote:
I've done a start of a large campaign to abolish ZK's exploitation of groundflashes entirely, in order to replace them with an explosion lights widget(+gadget because widgets cannot into addon:Explosion).

However, it's stalled on my disgust with CEG and in particular a bug that causes ExploSpikes to not render except on ground. I consider these to be a natural particle class to replace groundflashes in many cases as they suffer much less when clipping other things (ground, unit geometry) compared to e.g. heatclouds.

All mushroom cloud explosions are worth taking a look at. But i'm not sure anything much better can be done within the limits of CEG. Perhaps LUPS is an alternative.


Do CEGs even allow for custom shaders? I know that lups does but I have no idea about CEGs.
+0 / -0

7 years ago
I think this looks bad on lasers. They just become pallid and you lose the vivid hues.

I think this looks good on things that represent heat. The explosion on the right side here, the flame here, and the rocket exhausts here are very nice.
+0 / -0

7 years ago
opened the thread only to look at the pictures because of the warning :)
+1 / -0

7 years ago
quote:
I think this looks bad on lasers. They just become pallid and you lose the vivid hues.


Please note that in pretty much all of the above screenshots with scorpions that its tail lightning and/or multistunner was firing at the same time, so what you're actually seeing is the lasers stacked with other lights. Normally they aren't that bright. I'll post some extra pics highlighting lasers later.
+0 / -0


7 years ago
quote:
It's a matter of spring not rendering to an HDR-compatible texture from the start. I'm using RGB16F and I'm fairly certain that spring only uses RGB8 or RGBA8 so any values above 1.0 will be automatically clamped before reaching the HDR shader.

That makes sense, but also makes me wonder if there is a way to work around that, or if it's just a matter of setting up Spring to use RGB16F textures as an option.
+0 / -0
Hot stuff! Shinier is better, it hides the bad 3d. I love HW2 where the explosions can engulf the whole battlefield with their shininess.
+1 / -0

7 years ago
quote:
That makes sense, but also makes me wonder if there is a way to work around that, or if it's just a matter of setting up Spring to use RGB16F textures as an option.


Bypassing it would require bypassing spring's rendering entirely, and I'm not sure if that's even possible. Even if it were it'd be extremely painful and not worth it.

Adding an HDR option to spring is also certainly possible, and would allow dynalights and bloom to be split into different widgets. HDR for add blended particles is basically as shiny as HDR for dynalights, so it'd be an interesting thing to pursue. Note however that I ended up using an RGB32F texture because if you stack enough dynalights it can cause precision artifacts with 16 bit. There are possible ways of getting around that but I'm not sure how feasible it would be.
+0 / -0
If you want to show how lasers look then post an image of a firing LLT USrankaeonios.
+0 / -0
doubled post please eradicate

(not sure how it happened I think that Firefox had a seizure)
+0 / -0
Lasers! The llt's light isn't even that bright to begin with though. You can only really see them on whiter maps like CCR or moonQ.

+1 / -0
Ahh, so this is why anarchid was all over my ass telling me to implement it. Holy shit, that looks really nice. The screenshots do it far better justice than his descriptions did. Fantastic work guys!
+3 / -0
Page of 2 (35 records)