• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

GeDoSaTo - Downsampling from Infinity and Beyond!

Alo81

Low Poly Gynecologist
After updating to the latest version (0.12.1296 as of this writing) I ran a series of tests to check for compatiblity. The following is a list of games that I've successfully used GeDoSaTo with in earlier versions.

GAMES THAT STILL WORK

Alan Wake
Alan Wake American Nightmare
Batman Arkham Asylum GOTY Edition
Batman Arkham City GOTY Edition
Bioshock 2
Borderlands 2
Darksiders
Darksiders 2
Dead Space
Dead Space 2
Dead Space 3
Deadlight
Dishonored
Far Cry 2
Grand Theft Auto: Episodes from Liberty City
Kingdoms of Amalur: Reckoning
Mass Effect 3
Prince of Persia
Rayman Legends (works but performance is slower than previous versions)
Tomb Raider Underworld
The Walking Dead Season One
The Witcher: Enhanced Edition
The Witcher 2 (conflicts with ENB)


GAMES THAT CRASH ON LAUNCH (unless otherwise noted)
Assassin's Creed Brotherhood (only displays menus and HUD)
Bioshock
Dead Island
Rayman Origins
Resident Evil 4
Resident Evil 5
Resident Evil 6
Syndicate
Trine
Trine 2


Not sure if this is because it's doing something different or one of my .ini settings need to be changed. Any help would be appreciated.

Oddly enough, after re-applying this update (I cleaned out my GeDoSaTo folder) RE5 will not launch while GeDoSaTo is running.

Log is not spitting anything out, even at 50 log level.
 
CeeJay created a better border shader a while back. He posted it here.

It lets you control the border shader via aspect ratio instead of a set width. So it will auomatically adjust to your resolution.

Want "21:9" bars? Set it to (2.37 / 1.0)

Want a 3:4 portrait ratio (pillarboxing)? Set it to (0.75 / 1.0)

I tried pasting in the new shader myself, but straight copy\paste is clearly not working as now games just crash until I disable post processing.
 

Alo81

Low Poly Gynecologist
CeeJay created a better border shader a while back. He posted it here.

It lets you control the border shader via aspect ratio instead of a set width. So it will auomatically adjust to your resolution.

Want "21:9" bars? Set it to (2.37 / 1.0)

Want a 3:4 portrait ratio (pillarboxing)? Set it to (0.75 / 1.0)

I tried pasting in the new shader myself, but straight copy\paste is clearly not working as now games just crash until I disable post processing.

Try replacing every instance of "screen_size" with "SCREEN_SIZE".
 

BONKERS

Member
You should have a look at the alternative SSAO I have in the latest version on Github. I got pretty good AO with it and the generic depth plugin in the Debris demo, simply by running a pow(z,60) on the depth to make it more linear. Still have to improve the performance of that method though.

As for good AO examples, the best comparisons are really NVs HBAO+ shots. Like this one. It's my holy grail.

Killzone Shadow Fall isn't up to HBAO+ in a lot of ways. But, the temporal filtering they did to Ao and other buffers is superb to fix up some issues

Also: HBAO+ Buffer posted by Nvidia
http://www.geforce.com/sites/defaul...er-cell-blacklist-in-game-hbao+-greyscale.jpg
http://international.download.nvidi...s-ambient-occlusion-hbao-plus-7-greyscale.png
http://international.download.nvidi...s-ambient-occlusion-hbao-plus-8-greyscale.png


It's too bad is not enough information out there to create a worthwhile derivative that could be used in GeDoSaTo for example :p

*nvm*edit
 

Parsnip

Member
It was still crashing after I did that. So I don't know what's up.

darksoulsii_2014_08_24_16_49_49_0_by_majorparsnip-d7wgs71.jpg
darksoulsii_2014_08_24_16_57_19_0_by_majorparsnip-d7wgsqw.jpg

In DaS2 you can see Durante's bloom through it. :p

Replace the existing border settings in post.fx with this.
Code:
#define border_width float2(0,0) //[0 to 2048, 0 to 2048] (X,Y)-width of the border. Measured in pixels. If this is set to 0,0 then the border_ratio will be used instead
#define border_ratio float(0.75 / 1.0) //[0.1000 to 10.0000] Set the desired ratio for the visible area. You MUST use floating point - Integers do not work right.
//Examples that work: (1680.0 / 1050.0), (16.0 / 10.0), (1.6) Examples that does NOT work right: (1680 / 1050), (16 / 10)
#define border_color float3(0, 0, 0) //[0 to 255, 0 to 255, 0 to 255] What color the border should be. In integer RGB colors, meaning 0,0,0 is black and 255,255,255 is full white.

Replace the existing border shader code block. Changes I made were the ones Alo mentioned about SCREEN_SIZE and PIXEL_SIZE.
Code:
#ifndef border_width
  #define border_width float2(1,0)
#endif
 
#ifndef border_color
  #define border_color float3(0, 0, 0)
#endif

 #define screen_ratio (SCREEN_SIZE.x / SCREEN_SIZE.y)
 
float4 BorderPass( float4 colorInput, float2 tex )
{
  float3 border_color_float = border_color / 255.0;
 
  float2 border_width_variable = border_width;
 
  // -- calculate the right border_width for a given border_ratio --
  if (!any(border_width)) //if border_width is not used
    if (screen_ratio < border_ratio)
      border_width_variable = float2(0.0, (SCREEN_SIZE.y - (SCREEN_SIZE.x / border_ratio)) * 0.5);
    else
      border_width_variable = float2((SCREEN_SIZE.x - (SCREEN_SIZE.y * border_ratio)) * 0.5, 0.0);
 
  float2 border = (PIXEL_SIZE * border_width_variable); //Translate integer pixel width to floating point
 
  float2 within_border = saturate((-tex * tex + tex) - (-border * border + border)); //becomes positive when inside the border and 0 when outside
 
  colorInput.rgb = all(within_border) ?  colorInput.rgb : border_color_float ; //if the pixel is within the border use the original color, if not use the border_color
 
  return colorInput; //return the pixel
}

No changes needed for the main chain, as the BorderPass is already there from the old shader.
And that should work.

EDIT: Cleaned up, committed on my fork to the regular post.fx (rather than the one for Dark Souls 2 that I was using in my examples), and created a pull. Assuming it's good to go, look for it with an autoupdate as soon as Durante merges it. :)
 

Alo81

Low Poly Gynecologist
In DaS2 you can see Durante's bloom through it. :p

Put these on their place at the top of the post.fx.

And make this change in the main chain. Only the bolded part is new, but I pasted in the rest to give context on where the bolded part goes.

And that should work.

If anyone wants to clean it up proper and plop this in to the git, it's all ceejay.dk code from the link jim posted and the one line I added is also from sweetfx.
Maybe the pixel defining should be somewhere else? Is there a spot where constants are defined? I don't know, so I rather not commit it. :)

Rather than defining pixel, you should be able to replace every instance of "pixel" in the original code with "PIXEL_SIZE" and then it should be good.
 

Alo81

Low Poly Gynecologist
Right you are, edited the post to reflect it.

Looks good to submit!

Edit: So I nailed down my RE5 bug and it is PRETTY silly!

The issue was with this

Code:
# Enables compatability with ENB, an alternative method to disable the color tint.  ENB tint disable works through majority of game, but is non-functioning on chapter 6-1, and buggy on boss fight of 5-3.  To disable tint in 6-1, use the above PSHash
interceptOnlySystemDlls true

I removed the commented out portion, and suddenly the game was working.

I thought that was weird, so I created new lines for the commented sections, and have it now laid out like this

Code:
# Enables compatability with ENB, an alternative method to disable the color tint.  
#ENB tint disable works through majority of game, but is non-functioning on chapter 6-1, and buggy on boss fight of 5-3.  
#To disable tint in 6-1, use the above PSHash
interceptOnlySystemDlls true

and it's working.

It seems like if a commented out line is too long and spills onto a new line (though technically it should still be on that same line if the window was infinitely wide) it causes the hang on launch. I'm guessing GeDo ends up trying to read part of the comment as if it was a command and just has no idea what to do with it.

Final edit: The limit is 128 - 1 characters, so 127.
 
Got Dishonored to work with GenericDepth


Man finally. I've been trying to figure it out for more than 1 week. I had to had another setting to bypass a number of Clear operations. I'll push it tonight hopefully. Got it to work with DmC: Devil May Cry as well. I haven't tested it with Remember Me yet but I guess that trick should also apply to all these games that use Unreal Engine 3
Oh and I haven't tried your latest AO Durante. Need to check that

What is the performance hit like in the games it works in?
The regular performance hit AO does. Well this one is really light though
 
Got Dishonored to work with GenericDepth



Man finally. I've been trying to figure it out for more than 1 week. I had to had another setting to bypass a number of Clear operations. I'll push it tonight hopefully. Got it to work with DmC: Devil May Cry as well. I haven't tested it with Remember Me yet but I guess that trick should also apply to all these games that use Unreal Engine 3
Oh and I haven't tried your latest AO Durante. Need to check that

Perfect in time for the free weekend :p

What is the performance hit like in the games it works in?
 

Durante

Member
Looks good to submit!

Edit: So I nailed down my RE5 bug and it is PRETTY silly!

The issue was with this

Code:
# Enables compatability with ENB, an alternative method to disable the color tint.  ENB tint disable works through majority of game, but is non-functioning on chapter 6-1, and buggy on boss fight of 5-3.  To disable tint in 6-1, use the above PSHash
interceptOnlySystemDlls true

I removed the commented out portion, and suddenly the game was working.

I thought that was weird, so I created new lines for the commented sections, and have it now laid out like this

Code:
# Enables compatability with ENB, an alternative method to disable the color tint.  
#ENB tint disable works through majority of game, but is non-functioning on chapter 6-1, and buggy on boss fight of 5-3.  
#To disable tint in 6-1, use the above PSHash
interceptOnlySystemDlls true

and it's working.

It seems like if a commented out line is too long and spills onto a new line (though technically it should still be on that same line if the window was infinitely wide) it causes the hang on launch. I'm guessing GeDo ends up trying to read part of the comment as if it was a command and just has no idea what to do with it.

Final edit: The limit is 128 - 1 characters, so 127.
UGH!
I realllllly shouldn't be so stingy with buffer sizes if I have to use fixed-sized buffers for user-facing data like a first year student.

Low blow.
 

Durante

Member
The settings error is fixed. Sorry for that, my excuse is that I wrote that code for an early version of DSfix and haven't looked at it since :p
 
The settings error is fixed. Sorry for that, my excuse is that I wrote that code for an early version of DSfix and haven't looked at it since :p

I don't want to bug (no pun intended! :p) but have you seen my possible bug in post #2562? :eek: It's by far nothing major or breaking but I though I would bring your attention to it anyway.
 

Alo81

Low Poly Gynecologist
I don't want to bug (no pun intended! :p) but have you seen my possible bug in post #2562? :eek: It's by far nothing major or breaking but I though I would bring your attention to it anyway.

Did you press the U button next to profile in the editor window?

The settings error is fixed. Sorry for that, my excuse is that I wrote that code for an early version of DSfix and haven't looked at it since :p

Glad to see it fixed so quick. And I'm sure no ones going to laugh TOO much at you for hacky code written ~years ago~
 
Yeah, I know about this, I'll fix it the next time I'm working on the tool.

Ah alright then I just wasn't sure if you knew about it or not :)

Did you press the U button next to profile in the editor window?

Yeah that's the thing, pressing the U button makes the editor pick the existing file up again till the next restart however GeDoSaTo itself recognizes the file either way so it's really no big deal.
 

robgrab

Member
After uninstalling, and then doing a clean install using GeDoSaToUpdater.exe, I was finally able to get the games that weren't working to work. I narrowed it down to a few settings in the GeDoSaTo.ini file, in particular:

# Intercept the WindowProc callback of the game and adjust mouse messages when downsampling
interceptWindowProc false

I had it set to true, which caused a few games on crash on launch. I also noticed changing the default Steam Overlay settings in the .ini file caused games to crash as well. So now I'm running with mostly default settings.

The only remaining issues I have are:
  • Trine 1 Enhanced Edition freezes while trying to load a game.
  • The Witcher 2 squeezes the image when I enable the ENB.
  • Assassin's Creed Brotherhood only diplays menu and HUD (the compatibility database states it hasn't worked since version 0.9 beta).
 

BONKERS

Member
Got Dishonored to work with GenericDepth



Man finally. I've been trying to figure it out for more than 1 week. I had to had another setting to bypass a number of Clear operations. I'll push it tonight hopefully. Got it to work with DmC: Devil May Cry as well. I haven't tested it with Remember Me yet but I guess that trick should also apply to all these games that use Unreal Engine 3
Oh and I haven't tried your latest AO Durante. Need to check that


The regular performance hit AO does. Well this one is really light though

If you can use Durante's latest AO with this generic plugin, I think that'd be a worthwhile solution! This Dishonored shot does look a lot better than that RE4 shot previously.
 
Is there a list of settings somewhere for particular games? Some games listed in this thread and on the default whitelist work perfectly, while others simply crash on startup. Witcher 2 has juddery intro videos, followed by a CTD with no error. Alan Wake doesn't downsample. F.E.A.R crashes after the intro video. Half Life 2 drops to 30fps if I enable postprocessing. Also Condemned has issues with mouse selection, where the cursor and its actual position appear to be out of sync.
 

Alo81

Low Poly Gynecologist
Is there a list of settings somewhere for particular games? Some games listed in this thread and on the default whitelist work perfectly, while others simply crash on startup. Witcher 2 has juddery intro videos, followed by a CTD with no error. Alan Wake doesn't downsample. F.E.A.R crashes after the intro video. Half Life 2 drops to 30fps if I enable postprocessing. Also Condemned has issues with mouse selection, where the cursor and its actual position appear to be out of sync.

Some games have pre-configured GeDoSaTo.ini files. If you find the specific settings needed to get a game working, feel free to submit your game's specific GeDoSaTo config folder to Github so that in future versions it just works automatically.
 
Some games have pre-configured GeDoSaTo.ini files. If you find the specific settings needed to get a game working, feel free to submit your game's specific GeDoSaTo config folder to Github so that in future versions it just works automatically.

Ah, just noticed that list. Thanks. XCom EW works, but the mouse and the cursor are out of sync, like with Condemned. Is there a specific workaround for this issue, or is it unavoidable with certain games?
 

Alo81

Low Poly Gynecologist
Is anyone attempting to port over this film grain

It's the final one from Boulotaur's link. Scroll down to the end.

crysis_grain_crop_0.jpg

from the previous page?

I was giving it a shot but I'm already pretty unfamiliar with C++, and entirely unfamiliar with GLSL shaders, so I'm having a tough time making heads or tails of it all. I'm really not sure how to make a timer, and looking stuff up it seems like C++ doesn't have vec4,vec3,or vec2 data types. I'm sure these are all hurdles someone more experienced could probably find a way around, but I'm in totally unfamiliar territory and don't expect I'll be able to do it - at the very least not anytime soon at all as life stuff is going to be eating my time soon.

Ah, just noticed that list. Thanks. XCom EW works, but the mouse and the cursor are out of sync, like with Condemned. Is there a specific workaround for this issue, or is it unavoidable with certain games?

It seems currently unavoidable with some games, but you should test around all the mouse settings at the bottom of the GeDoSaTo.ini file to see if any of them fix the issues.
 

One3rd

Member
Ah, just noticed that list. Thanks. XCom EW works, but the mouse and the cursor are out of sync, like with Condemned. Is there a specific workaround for this issue, or is it unavoidable with certain games?
^What Alo81 said.

When I was looking for the HUD hash for Condemned I wasn't too fussed with the mouse settings and just used the KB while in the menu. I didn't test any of those mouse settings but in hindsight probably should have.
...

On another note, what is the best method to find these PSHash numbers for the HUD removal? I'm trying to find one for Spec Ops: The Line but none of the ones I've tried seem to have any effect at all...and I was at least expecting some strange shader glitches.

When testing the hash below is "d9e60664" the value I'm looking for?

SetPixelShader 1D56EA00, name: d9e60664
 

Durante

Member
Is anyone attempting to port over this film grain



from the previous page?

I was giving it a shot but I'm already pretty unfamiliar with C++, and entirely unfamiliar with GLSL shaders, so I'm having a tough time making heads or tails of it all. I'm really not sure how to make a timer, and looking stuff up it seems like C++ doesn't have vec4,vec3,or vec2 data types. I'm sure these are all hurdles someone more experienced could probably find a way around, but I'm in totally unfamiliar territory and don't expect I'll be able to do it - at the very least not anytime soon at all as life stuff is going to be eating my time soon.
I was planning to port it at some point, but I would of course prefer to just make the timer and have someone else port it.
 

7Sins

Neo Member
I'm trying to downsample Spellforce TOoD, if anyone is familiar with it. In order to run the game at a specific res I need to start the game in window mode. I hooked gedosato and it downsamples (it shrinks the button text as well but no biggie) but the cursor is locked in the upper left corner of the window.

I fiddled with the cursor settings and:

# Adjust the reported client rect when downsampling
modifyGetClientRect true

was the culprit. With the setting off the cursor works but it won't downsample if this specific setting isn't turned on. :|
 

Parsnip

Member
On another note, what is the best method to find these PSHash numbers for the HUD removal? I'm trying to find one for Spec Ops: The Line but none of the ones I've tried seem to have any effect at all...and I was at least expecting some strange shader glitches.

When testing the hash below is "d9e60664" the value I'm looking for?

SetPixelShader 1D56EA00, name: d9e60664

I looked at Specs Ops after someone posted some shots with HUD in the high res screenshot thread, but couldn't find anything useful either.
 

One3rd

Member
I looked at Specs Ops after someone posted some shots with HUD in the high res screenshot thread, but couldn't find anything useful either.
OK, thanks. I've only just tried one other game, Condemned, and wasn't sure what other methods people were using to find these.
 

Copons

Member
Hello everyone!

It's my first time using GeDoSaTo (or downsampling, really) and I'm having doubts if I'm doing this right.

Just as it's the game I'm playing at the moment, I gave it a try with Divinity:OS.
It all seems to work fine: I can choose whatever resolution in-game, and the status infos all say that everything I activated in settings it's actually on.

Fact is, I don't seem to see any actual difference between the native and the downsampled version (aside the fact that obviously the full size screenshot is bigger).
If I zoom in to something, everything seems to look exactly the same, with exactly the same amount of sharpness.
I've tried with 2880x1620, 3840x2160, 5760x3240 and 7680x4320: aside the huge drop of framerate starting from 3840x2160, everything looked identical.
The only visual clue I have to know it's working is if I disable and re-enable post processing, where I activated HDR and Vibrance, and the difference it's noticeable enough.

So, while I'm pretty happy with how the colors are more... vibrant, I can't avoid thinking I'm doing something wrong in the actual downsampling process. Or, most likely, I'm just expecting more than it actually can deliver. :D

So may I ask some kind soul to take some screens of some zoomed in detail to help me understand what I'm supposed to look when downsampling?

Thank you in advance (and thanks Durante for everything of course)!


EDIT: if I may add another doubt.

GeDoSaTo Divinity:OS config sets AA to 0 because "Game has good quality SMAA built in".
I'm actually lost here: if I instead set it to 4 in my personal config, aside from the performance hit, I'm somehow improving the AA quality or not?
 

Alo81

Low Poly Gynecologist
Hello everyone!

It's my first time using GeDoSaTo (or downsampling, really) and I'm having doubts if I'm doing this right.

Just as it's the game I'm playing at the moment, I gave it a try with Divinity:OS.
It all seems to work fine: I can choose whatever resolution in-game, and the status infos all say that everything I activated in settings it's actually on.

Fact is, I don't seem to see any actual difference between the native and the downsampled version (aside the fact that obviously the full size screenshot is bigger).
If I zoom in to something, everything seems to look exactly the same, with exactly the same amount of sharpness.
I've tried with 2880x1620, 3840x2160, 5760x3240 and 7680x4320: aside the huge drop of framerate starting from 3840x2160, everything looked identical.
The only visual clue I have to know it's working is if I disable and re-enable post processing, where I activated HDR and Vibrance, and the difference it's noticeable enough.

So, while I'm pretty happy with how the colors are more... vibrant, I can't avoid thinking I'm doing something wrong in the actual downsampling process. Or, most likely, I'm just expecting more than it actually can deliver. :D

So may I ask some kind soul to take some screens of some zoomed in detail to help me understand what I'm supposed to look when downsampling?

Thank you in advance (and thanks Durante for everything of course)!


EDIT: if I may add another doubt.

GeDoSaTo Divinity:OS config sets AA to 0 because "Game has good quality SMAA built in".
I'm actually lost here: if I instead set it to 4 in my personal config, aside from the performance hit, I'm somehow improving the AA quality or not?

It's not really for zooming in and getting your face close to the screen to see all
~the new details~. It's for a better representation of what you're already seeing at 1080, by providing smoother edges and often times clearer defined textures (if they're higher res).

I'll provide an example screenshot shortly.

Turning on SMAA will not improve anything as, like Durante says, the game's already implemented SMAA is already good.
 

Durante

Member
If you don't see an improvement when downsampling: rejoice, you are not well trained at spotting spatial and temporal aliasing effects. This means you can save 100% to 200% in GPU upgrade costs, and play console games without taking issue with the IQ. Important: don't read up on all the temporal and spatial aliasing artifacts which a scene can exhibit.

(The only thing worse than that is obsessing about IQ for over a decade to the point that you are even writing articles about it and spend most of your free time working on tools to improve it. Then you're really fucked)
 

One3rd

Member
In Spec Ops I'm finding the game pausing every 5 -10 minutes on a black screen for about 5s while it seems to be re-applying the GeDoSaTo resolution to the game. Will any of the Compatibility Settings help with this or am I just pushing it too hard?
 

Durante

Member
In Spec Ops I'm finding the game pausing every 5 -10 minutes on a black screen for about 5s while it seems to be re-applying the GeDoSaTo resolution to the game. Will any of the Compatibility Settings help with this or am I just pushing it too hard?
That's a unique error. It almost sounds like your GPU driver is constantly crashing and re-initializing.
 

Alo81

Low Poly Gynecologist
Here is an example of the onscreen difference from a cropped out example. One is at 1080, the other is at 2880.

09DZrKY.gif


I'm also going to add this to the OP, because it's a better aliasing comparison than the current one I think.

I was planning to port it at some point, but I would of course prefer to just make the timer and have someone else port it.

In regards to this, if you add a timer I'll try to mess around with it more but you or someone else may still end up having to port it. If it does come through, it may end up being totally hacky as well. But I can give it a shot!
 

Copons

Member
If you don't see an improvement when downsampling: rejoice, you are not well trained at spotting spatial and temporal aliasing effects. This means you can save 100% to 200% in GPU upgrade costs, and play console games without taking issue with the IQ. Important: don't read up on all the temporal and spatial aliasing artifacts which a scene can exhibit.

(The only thing worse than that is obsessing about IQ for over a decade to the point that you are even writing articles about it and spend most of your free time working on tools to improve it. Then you're really fucked)

:D

I blame (or thanks) the fact that I'm a long time console gamer turned full PC on a crappy laptop several years ago and bought my first gaming rig only some months ago, so actually no, I don't really know anything about this stuff.
Also, I tried reading your article at least a dozen times since it was linked in the Steam thread, but I guess I'm just not all that interested in this kind of shenanigans. :p

No but really, I know in theory what is aliasing, mostly thanks to your article, but seeing what downsampling is supposed to look like in a game I've played 60 hours in the last couple of months is completely different than seeing aliasing on an inclined plane textured with grass. :D

Nonetheless, if there's a simple way to improve my games
and annoy tech savvier people with dumb questions in the process
, I'm all in!
 

Copons

Member
Here is an example of the onscreen difference from a cropped out example. One is at 1080, the other is at 2880.

Oh thank you very much (also for your previous, very interesting post)!

I'm going to try this kind of comparison right away!


EDIT: blurgh sorry for the double post
 

Alo81

Low Poly Gynecologist
:D

I blame (or thanks) the fact that I'm a long time console gamer turned full PC on a crappy laptop several years ago and bought my first gaming rig only some months ago, so actually no, I don't really know anything about this stuff.
Also, I tried reading your article at least a dozen times since it was linked in the Steam thread, but I guess I'm just not all that interested in this kind of shenanigans. :p

No but really, I know in theory what is aliasing, mostly thanks to your article, but seeing what downsampling is supposed to look like in a game I've played 60 hours in the last couple of months is completely different than seeing aliasing on an inclined plane textured with grass. :D

Nonetheless, if there's a simple way to improve my games
and annoy tech savvier people with dumb questions in the process
, I'm all in!

You've got me curious, what type of monitor have you got?
 

Durante

Member
Talking about temporal aliasing, this gif I made illustrates it quite well IMHO:

aa_compare2.gif


The left is native res with post-processing AA (which fails horribly in the presence of moving thin structures), the right is SGSSAA (which is similar in terms of result to a high level of downsampling). As you can see, one is a sea of flickering pixels while the other, well, isn't.
 
I don't do many comparisons, but here are 2 shots I took of Wolfenstein: The New Order.

Native:
14397607961_09bbe9f030_o.jpg


6K (bicubic downsampling via photoshop):
14399873574_1a6d4c9467_o.jpg

The differences in texture detail alone are pretty crazy. So many nasty edges in the original are completely cleaned up. Even the film grain is gone (some people might not like that though).
 

Durante

Member
In regards to this, if you add a timer I'll try to mess around with it more but you or someone else may still end up having to port it. If it does come through, it may end up being totally hacky as well. But I can give it a shot!
Timer is in now. If you are interested in how it is implemented, check this. It might not be as hard as you think ;)
(Though to be fair, one reason for that is that I already had an easy to use timer class)
 

Copons

Member
You've got me curious, what type of monitor have you got?

I've got an Asus VX238H.

Anyway, I've taken a series of screenshots of simple downsampling, without any additional processing, at various resolutions.
I've noticed that what really get a noticeable improvement are most distant objects.
Like, there's a tree in the background and its bark is blurry at native and perfectly sharp at even 1.5x (it actually doesn't improve much more at 3x).

This is noticeable on characters too: if I position them in a straight line, I can see some minor improvements on the first of the line, while the last looks (relatively) way better.

Also, in your comparison I see a great sharpening of the wooden boards, while the wood in my screens doesn't get any better at all. It should be said though, that in my case the wood it is NOT a floor boarding but some actual wooden objects (like a destroyed house, or a signpost), so maybe it's a different texture with different behaviours when sampled?
 
Witcher 2 keeps CTD'ing after the intro videos for me, and there don't seem to be any special settings for it in the config folder. Can anyone who has it working possibly post their settings so I can see where I'm going wrong?
 

BONKERS

Member
If you don't see an improvement when downsampling: rejoice, you are not well trained at spotting spatial and temporal aliasing effects. This means you can save 100% to 200% in GPU upgrade costs, and play console games without taking issue with the IQ. Important: don't read up on all the temporal and spatial aliasing artifacts which a scene can exhibit.

(The only thing worse than that is obsessing about IQ for over a decade to the point that you are even writing articles about it and spend most of your free time working on tools to improve it. Then you're really fucked)

Tell me about it.. I am cursed!
(And with a large portion of games. It's not just about IQ, but AA quality as well. Which is a nightmare within itself. (Because while still screenshots often show downsampling providing good AA quality. In motion depending on the content/game it can be a totally different story) I'd REALLY love to see the video that's supposed to be at the end of the HRAA slides that were just released. I'm hoping it's good, and that they could make a more taxing version for higher quality. I don't mind a bigger performance hit for better quality)

Also: A video comparison for those new
https://mega.co.nz/#!7dxwjABA!BLTApxmLyD9Z1KPyvFbylEujhsRNjrPBZy97KI7TOrU
 

Alo81

Low Poly Gynecologist
Is it just me (probably) or is there something wrong with the film grain code?

I'm currently here

Code:
	float3 noise = float3(pnoise3D(float3(rotCoordsR*float2(width/grainsize,height/grainsize),0.0)));

That seems fine as long as pnoise3D returns a float3, but looking at pnoise3D

Code:
float pnoise3D(in float3 p)
.
.
.
	// Blend contributions along z
	float n_xyz = mix(n_xy.x, n_xy.y, fade(pf.z));

	// We're done, return the final noise value.
	return n_xyz;

It returns a float value. As a result, I'm getting this error

post.fx(1391,17): error X3014: incorrect number of arguments to numeric-type constructor

This seems wrong, but I could of course just be doing something wrong as I'm unfamiliar with this.

For what it's worth, all of the original values were vec, vec2, vec3, and vec4 values so it may have something to do with an inherent difference between vec and float values, but there doesn't seem to be a vec data type I can use.

Any one have any ideas?
 

Alo81

Low Poly Gynecologist
So I read this and looked in my keybindings file but I don't see what the binding is for forcing a shader reload.

It actually wasn't included in the keybindings file. I assume by accident, but maybe Durante still means to continue development before putting it out wide. I meant to report it but I completely forgot.

Here's the command

Code:
reloadShaders VK_PAUSE

Of course, use any button you'd like.

In the future if something like this happens, you can check the Github page for GeDoSaTo. Look for the commit, and find the changes Durante submitted. Thats how I came across it,

IJYuOZu.png
 
Top Bottom