• 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!

One3rd

Member
So Borderlands 2 only seems to work with alternate injection method and AA makes the Item stat windows transparent and Post Processing is putting a big black box around them.

I cant' say I've experienced any of that in Borderlands 2 and I've never bothered with alternate injection. The only issue I have is the occasional crash when changing resolutions.
 

Alo81

Low Poly Gynecologist
Thanks, I've sync'd it locally so that the changed files are now registered but when I go Sync again I get a message that I do not have "Push" authorization. Does this just mean it it is sitting waiting to be merged or do I need to do anything else on this end?

If it's pushed to your own fork (Example: mine is [https://github.com/Alo81/gedosato], Durante's is [https://github.com/PeterTH/gedosato], yours would be [https://github.com/*GitHub Username*/gedosato]), then afterwards, you have to create a pull request from your page, which is something like this.

Code:
https://github.com/Alo81/gedosato/pulls
 

One3rd

Member
If it's pushed to your own fork (Example: mine is [https://github.com/Alo81/gedosato], Durante's is [https://github.com/PeterTH/gedosato], yours would be [https://github.com/*GitHub Username*/gedosato]), then afterwards, you have to create a pull request from your page, which is something like this.

Code:
https://github.com/Alo81/gedosato/pulls
Hmmm. I think that might be it, I don't think I've created a fork but am trying to push changes direct. Will try again.

Edit: OK, I think I got it this time.
1. I created a fork of the main project on the website.
2. cloned that to my desktop.
3. added the new game config folder and edited the whitelist.
4. Sync'd the repository.
5. Commited the change to "Condemned" and uploaded to my fork.
6. Created the pull request to the Condemned fork...and I think that's it.
 

Parsnip

Member
Hmmm. I think that might be it, I don't think I've created a fork but am trying to push changes direct. Will try again.

Edit: OK, I think I got it this time.
1. I created a fork of the main project on the website.
2. cloned that to my desktop.
3. added the new game config folder and edited the whitelist.
4. Sync'd the repository.
5. Commited the change to "Condemned" and uploaded to my fork.
6. Created the pull request to the Condemned fork...and I think that's it.

Sounds about right.
 
Making my first attempt to remove the HUD in an older game - Alpha Prime - and ran into something a little off that maybe has been seen before.

dumpFrame gave me images 000-005. The HUD appears between 003 and 004. Then in 005 the image is given (with HUD) further lighting and detail enhancements. Is there a way to have the best of both worlds and get 005 but hudless, as in 003? Probably not, right?

But then in the log, I can't actually see a SetPixelShader value between 003 and 004, there is just a lot of "SetPixelShader 00000000, UNREGISTERED_SHADER" there, is that normal? The best I've gotten has been this, but it loses lighting and a lot of fiddly details in the process and uses a value between 001 and 002 which is probably a bad idea.

(Comparison)
2I00YXL.png
 

One3rd

Member
I may be overcomplicating this but below are the steps I used to add a game specific config to GeDoSaTo using the GitHub Windows client.

1. Go to https://github.com and login or create a new account.
2. Browse to the GeDoSaTo repository, https://github.com/PeterTh/gedosato and click on the "Fork" button in the top right. This creates your own personal branch of the master GeDoSaTo repository.
3. You will now be at your own branch that you can edit and make changes to. To get the Windows client for GitHub, click on the "Clone in Desktop" button which will prompt to download the installer if you don't already have it installed.
4. After installing GitHub for Windows, go back to your GitHub web page, select the Repositories tab and then the "gedosato" branch that you forked previously from the master. (that just sounds wrong!)
5. Click on the "Clone in Desktop" again, this time it will ask to launch GitHub for Windows and download the GeDoSaTo branch to your PC.
6. Open GitHub for Windows, select the gedosato repository, right click "Open in Explorer". Browse to the "Pack\Config\" folder which is where we will be adding your game specific folder and whitelist additions.
7. Once you've modified the required files, go back to GitHub client and you'll see that it has noticed the changes and shows these as uncommitted. Type a name and description and commit the changes.
8. Press the "Sync" button to push these changes up to your branch of the master gedosato repository.
9. Go to your branch on GitHub.com and select "Pull Request" from the RHS. Create your pull request for the changes you've just applied.

Alo81's notes on how to sync to the latest master on Github using Gitshell commands.
Code:
git fetch upstream
git merge upstream/master
 

BONKERS

Member
Not having any luck with Binary Domain since it uses a configuration tool. Any ideas?

Would be nice to get this working as no other method other than 2x2 driver downsampling+FXAA produces accetable results without glitches
 

Durante

Member
I've actually been wondering about this as well, whether it's expected or not. Seen it in couple of games so far.
That just means that the game is not using a pixel shader but the fixed function pipeline to draw the UI.

The injectRenderstate option I added a while ago might help in such cases, if ou can find a unique SetRenderState call (the Ys Origin profile uses it).
 
I was actually thinking about trying to add INTZ-based AO injection to the generic plugin. It could work with quite a few games, but people would still need to adjust the relative depth and SSAO parameters. But this could be solved by per-game SSAO shaders.

Anyway, nice work (though you need to tweak it a bit, lots of haloing there - also the range looks extremely depth dependent, which it shouldn't be - you do need to linearize the Z to fix that).
Been trying to find a "universal" method to retrieve depth buffer from any DX9 game (in order to inject SSAO/DOF etc...) but I'm hitting a major wall. I have no idea why it doesn't work for some games (and even why it does for others). I don't know if it's a RenderState issue or a perspective transformation issue. I wish I had a clue about rendering a 3D scene overall. I never learned that and it shows. You can't learn backwards like I do. Instead I find myself randomly trying things in the hope they work. So this is what I got from Deus Ex HR :

http://abload.de/img/screenshot_2014-08-02kho9p.jpg

I can't even tell what's going on here. Probably the matrices are not properly setup. Is it a vertex declaration issue ? I don't know. I think I need to accept this is far beyond my head. I have to give up for now
I can PM the source-code of course.

EDIT : ah it works for SCCT : http://abload.de/img/screenshot_2014-08-026ouct.jpg
I wonder why the AO looks so blocky/low-res. Is that because of the FOV ?

Not having any luck with Binary Domain since it uses a configuration tool. Any ideas?
Why would a configuration tool be a problem ? Just add the latter to the whitelist.txt. It works just as fine here as the compatibility doc says. I'm not using the Steam version. Try to disable NVIDIA Inspector maybe ?
 

Durante

Member
I f I had to guess just from that picture, you're getting the Z buffer of a shadow rendertarget instead of the main render.
(So what you see is distance from the perspective of a light)
 

Parsnip

Member
The injectRenderstate option I added a while ago might help in such cases, if ou can find a unique SetRenderState call (the Ys Origin profile uses it).
A question about that. In 'injectRenderstate 60,16777215', where does the 60 come from? I got Ys log to compare it to and found the longer string in there, but I have no idea about the 60.
 

jett

D-Member
Tried this with RE6, got a "ran out of video memory" error downsampling from 2560x1600 when trying to access the graphics menu in-game. Using a 280X, oh well.
 

Realyn

Member
First time using Gedosato with Divinity and I simply can't get it to work.

Downloaded and unzipped in. Checked the whitelist and Divinity is already on there. Shouldn't that be all? I've changed the rendering and "forceAlwaysDownsamplingRes" setting without any effect. Is there something I'm missing?

Running windows 7 64, 280x/2500k oc'ed and latest builds on both.
 

wilflare

Member
First time using Gedosato with Divinity and I simply can't get it to work.

Downloaded and unzipped in. Checked the whitelist and Divinity is already on there. Shouldn't that be all? I've changed the rendering and "forceAlwaysDownsamplingRes" setting without any effect. Is there something I'm missing?

Running windows 7 64, 280x/2500k oc'ed and latest builds on both.

select Alternate Injection
 

Heinous Hat

Neo Member
I tried, also started as an admin. Not working either, but thanks.

edit: Using 0.8 Gedosato it gets recognised but the game crashes right away and I get a crash dump.

Using beta 10 here with Divinity:OS. 'Alternate injection' is the only change I needed to make... forceAlwaysDownsamplingRes is at 0 in the config.

Currently running it at a scale of 1.25 (2400x1500 -> 1920x1200). Not much of a down-sample, but it makes a fair difference with in-game SMAA. Anything greater causes frame render times to spike and and the associated stutter is noticeable. The in-game SSAO seems to be the mitigating factor... with it toggled off, I can go much higher on the down-sample, but the scene looks too flat and cartoony without it. I'm using a single nVidia 760 and an older core i5.

Try leaving the config at default (other than the source and target resolutions) and just use the alternate render toggle in the GUI. Make sure your resolution calculations are also correct for the desired aspect ratio. Or, possibly, turn off post-processing in the config and also ditch any 3rd party GPU monitoring program you might be using. For the record, my setup works OK with RivaTunerStatisticsServer running in the background and I can also use SweetFX D3D dlls if I choose.

The only crash I've seen is trying to switch from fake fullscreen to standard fullscreen while in game... something I might do if the mouse cursor position is offset after a restart.
 

Realyn

Member
Using beta 10 here with Divinity:OS. 'Alternate injection' is the only change I needed to make... forceAlwaysDownsamplingRes is at 0 in the config.

Currently running it at a scale of 1.25 (2400x1500 -> 1920x1200). Not much of a down-sample, but it makes a fair difference with in-game SMAA. Anything greater causes frame render times to spike and and the associated stutter is noticeable. The in-game SSAO seems to be the mitigating factor... with it toggled off, I can go much higher on the down-sample, but the scene looks too flat and cartoony without it. I'm using a single nVidia 760 and an older core i5.

Try leaving the config at default (other than the source and target resolutions) and just use the alternate render toggle in the GUI. Make sure your resolution calculations are also correct for the desired aspect ratio. Or, possibly, turn off post-processing in the config and also ditch any 3rd party GPU monitoring program you might be using. For the record, my setup works OK with RivaTunerStatisticsServer running in the background and I can also use SweetFX D3D dlls if I choose.

The only crash I've seen is trying to switch from fake fullscreen to standard fullscreen while in game... something I might do if the mouse cursor position is offset after a restart.

Thanks, but I've honestly given up. When using Beta 9 or 10 the game starts flawlessly and simply ignores Gedosato. For example I can't get the hud to work(+ on the mousepad, right?).

I've tried 2.880 x 1.620, 3.840 x 2.16 and a bunch of other resolutions. Turned off Afterburner, switched GPU scaling on/off, turned off second display and a bunch of other stuff.

Using beta 8 the game crashes with the alternative method while the normal one has the same results as above. Playing around with post processing had no effect either.

I'll try to get another compatible game to work later on.
 

BONKERS

Member
Been trying to find a "universal" method to retrieve depth buffer from any DX9 game (in order to inject SSAO/DOF etc...) but I'm hitting a major wall. I have no idea why it doesn't work for some games (and even why it does for others). I don't know if it's a RenderState issue or a perspective transformation issue. I wish I had a clue about rendering a 3D scene overall. I never learned that and it shows. You can't learn backwards like I do. Instead I find myself randomly trying things in the hope they work. So this is what I got from Deus Ex HR :

http://abload.de/img/screenshot_2014-08-02kho9p.jpg

I can't even tell what's going on here. Probably the matrices are not properly setup. Is it a vertex declaration issue ? I don't know. I think I need to accept this is far beyond my head. I have to give up for now
I can PM the source-code of course.

EDIT : ah it works for SCCT : http://abload.de/img/screenshot_2014-08-026ouct.jpg
I wonder why the AO looks so blocky/low-res. Is that because of the FOV ?

Why would a configuration tool be a problem ? Just add the latter to the whitelist.txt. It works just as fine here as the compatibility doc says. I'm not using the Steam version. Try to disable NVIDIA Inspector maybe ?
It's added to the whitelist, the problem is that the Config tool won't launch with GeDoSaTo enabled, no matter the settings. Nothing is enabled in Inspector and "BinaryDomainConfiguration.exe" isn't even on my BD profile (But also: Binary Domain is steamworks only I thought???)

FWIW
Default Injection
Alternate Injection

This is just for the configurator.

Trying to override 1600x900 to another resolution with the game executable just gives an error when trying to launch it.
 
Comparison of AO on/off on Fahrenheit/Indigo Prophecy :
http://screenshotcomparison.com/comparison/86315

Using these settings. It still looks rough to me. AO is a difficult effect to work with. Plus I'm getting artefact/aliased AO even though I'm actually linearizing my depth in the readDepth() function (at least I think so)

EDIT : might look better :
http://screenshotcomparison.com/comparison/86333

Using these settings

EDIT : doesn't look half bad with some further post-processing
http://abload.de/img/untitledhjpaf.jpg
 
Comparison of AO on/off on Fahrenheit/Indigo Prophecy :
http://screenshotcomparison.com/comparison/86315

Using these settings. It still looks rough to me. AO is a difficult effect to work with. Plus I'm getting artefact/aliased AO even though I'm actually linearizing my depth in the readDepth() function (at least I think so)

EDIT : might look better :
http://screenshotcomparison.com/comparison/86333

Using these settings

EDIT : doesn't look half bad with some further post-processing
http://abload.de/img/untitledhjpaf.jpg

Boulotaur2024, how does a layman make use of this file? The generic plugin doesn't let you use ssao, dof, etc, how does one go about enabling it?
 

BONKERS

Member
Comparison of AO on/off on Fahrenheit/Indigo Prophecy :
http://screenshotcomparison.com/comparison/86315

Using these settings. It still looks rough to me. AO is a difficult effect to work with. Plus I'm getting artefact/aliased AO even though I'm actually linearizing my depth in the readDepth() function (at least I think so)

EDIT : might look better :
http://screenshotcomparison.com/comparison/86333

Using these settings

EDIT : doesn't look half bad with some further post-processing
http://abload.de/img/untitledhjpaf.jpg

Rough is a good word. (Ex: Everything is being shaded including vertexes/verticies it looks like)

Sucks that using HBAO+ isn't possible with GeDoSaTo.

It's too bad that couldn't contact Nvidia, license HBAO+ (Have people contribute so could all help pay for it)and have one of their engineers help implement it, then could control parameters easier than with Driver HBAO+.

Oh man, sure can dream.
 
I'm having an issue in Blur (not sure if the game itself matters) where I'm mashing the full resolution screenshot key but they aren't saving. The message pops up saying they're saved, but the screenshots aren't actually being created. No idea why :(
 
Boulotaur2024, how does a layman make use of this file? The generic plugin doesn't let you use ssao, dof, etc, how does one go about enabling it?
You cannot yet. AO is only available for Dark Souls 2.

But I've been trying to make it work with other games that don't necessarily offer a depth map (the main ingredient for SSAO). I haven't been that succesful so far honestly. It seems to work in a handful of games. I think I'll commit that as a plugin just for one game. (Why not Indigo Prophecy yup)

Sucks that using HBAO+ isn't possible with GeDoSaTo.

It's too bad that couldn't contact Nvidia, license HBAO+ (Have people contribute so could all help pay for it)and have one of their engineers help implement it, then could control parameters easier than with Driver HBAO+.

Oh man, sure can dream.
Does your HBAO+ still works with regular injectors ?
If so then it would seem like Durante was right saying that the downscaling resolution was the the one thing preventing the driver to apply HBAO+

EDIT : you could still compare a level 14 log not downsampling and one downsampling to see if it spits out any information. I doubt it would show anything meaningful since it's very low level apparently. I certainly can't do that anyway since I have a AMD card
 

Alo81

Low Poly Gynecologist
I'm having an issue in Blur (not sure if the game itself matters) where I'm mashing the full resolution screenshot key but they aren't saving. The message pops up saying they're saved, but the screenshots aren't actually being created. No idea why :(

Ahhh I had a similar issue that I was able to fix but I'm not sure I remember what caused it.

I think my issue is that the folder where the images were to be saved wasn't present, so it would never actually save them.

Does your GeDoSaTo folder have a screens/*game name* folder?
 

One3rd

Member
I'm having an issue in Blur (not sure if the game itself matters) where I'm mashing the full resolution screenshot key but they aren't saving. The message pops up saying they're saved, but the screenshots aren't actually being created. No idea why :(
Yes, I have this issue as well. For me it seems to be something to do with the size of the image being saved as I see this when my framerate is in single digits. I'd always assumed it was something to do with the load I was putting on my system at those resolutions as I'd find that reducing the resolution would allow the files to be saved.

Same thing though, I see the message saying the original hudless image was saved but it sometimes does not. Do yours save if using the downsampled screenshot key? Maybe it's something to do with the size of the files?
 
Does your GeDoSaTo folder have a screens/*game name* folder?
The folder does exist. I already have plenty of screenshots from the game. If the folder doesnt exist, GeDoSaTo creates it for you when you save your first shot.

Yes, I have this issue as well. For me it seems to be something to do with the size of the image being saved as I see this when my framerate is in single digits.

This makes sense. Since it's easy to swap resolutions in photo mode, I figured I'd increase my resolution from 7680x3840 to 8640x4820. And that's when they stopped capturing. If I run the game at 3840x2160, the screenshots capture just fine. But it seems when I stress my system out too much, they drop saving even though the message says they did.
 

Ryoku

Member
Just wondering what this means.
darksoulsii2014-08-04y4url.png


I understand that in order to maintain the aspect ratio of my monitor, 3840x2160 wouldn't cut it, so does it automatically switch to 3360x2100 in order to downsample? In that case, it's not really running at 4k. I could set a proper 16x10 resolution a step higher than 3840x2160, but I'm just curious about this "2 level downsampling" and what it means.
 
All Id games aren't going to work.
Wrong : )

Quake 3 should work as well. Every game using OpenGL1 should work fine with a OpenGL->D3D convertor like GLDirect5. (It won't work with higher OpenGL versions though)

Just wondering what this means.
darksoulsii2014-08-04y4url.png


I understand that in order to maintain the aspect ratio of my monitor, 3840x2160 wouldn't cut it, so does it automatically switch to 3360x2100 in order to downsample? In that case, it's not really running at 4k. I could set a proper 16x10 resolution a step higher than 3840x2160, but I'm just curious about this "2 level downsampling" and what it means.

GeDoSaTo uses ceil(log2(RENDER_RES/TARGET_RES) downsampling stages. In other words, there's never scaling by more than a factor of 2 in each dimension in a single step.

EDIT : shouldn't this be added to the OP ?
 

Alo81

Low Poly Gynecologist
Just wondering what this means.
darksoulsii2014-08-04y4url.png


I understand that in order to maintain the aspect ratio of my monitor, 3840x2160 wouldn't cut it, so does it automatically switch to 3360x2100 in order to downsample? In that case, it's not really running at 4k. I could set a proper 16x10 resolution a step higher than 3840x2160, but I'm just curious about this "2 level downsampling" and what it means.

In the case of your monitor you'll be better off using 3360x2100. Don't use 4K just for the sake of "it's 4K!" Use what's most appropriate for your screen.
 
I'm a bit confused as to why you would use 3840x2160 when it's not even the same aspect ratio as 1680x1050. Wouldn't that cause the final image to be rendered a bit... weird?

3840x2400 is 4K @ 16:10
 

Alo81

Low Poly Gynecologist
I'm a bit confused as to why you would use 3840x2160 when its' not even the same aspect ratio as 1680x1050. Wouldn't that cause the final image to be rendered a bit... weird?

3840x2400 is 4K @ 16:10

Even so, I would probably still recommend rendering at 3360x2100 so as to avoid the first very small step of scaling.
 

BONKERS

Member
You cannot yet. AO is only available for Dark Souls 2.

But I've been trying to make it work with other games that don't necessarily offer a depth map (the main ingredient for SSAO). I haven't been that succesful so far honestly. It seems to work in a handful of games. I think I'll commit that as a plugin just for one game. (Why not Indigo Prophecy yup)


Does your HBAO+ still works with regular injectors ?
If so then it would seem like Durante was right saying that the downscaling resolution was the the one thing preventing the driver to apply HBAO+

EDIT : you could still compare a level 14 log not downsampling and one downsampling to see if it spits out any information. I doubt it would show anything meaningful since it's very low level apparently. I certainly can't do that anyway since I have a AMD card
Yeah, HBAO+ works when using SweetFX alongside driver downsampling for example
 

One3rd

Member
Found the solution.

In the Github application, right click your GeDoSaTo branch and select "Open in git shell"

Then use the commands

Code:
git fetch upstream
git merge upstream/master

This downloads the original master branch (Durantes) and the second command merges it with yours. If you have any changes you haven't synced yet it won't merge though, so make sure you commit and sync anything you haven't before doing it.
I found that the "sync" button wasn't actually syncing my local repository with the master so tried those commands above and that has worked. I have the new files but the GitHub application now says that I am ahead by 14 commits and pressing the sync button does change it. It doesn't look like my branch is being updated with those above commands its just downloading the most recent from Durantes master...how do I update my branch to sync with the latest master?
 

One3rd

Member
Try the latest dll, it might fix the screenshot issue.
This does seem to have improved the issue. I can now save screenshots 90% of the time at 7680x4320 in Condemned when before the update this was about 10%.

I did find that if I tried to do too many in quick succession, two a second, that it was only saving one of these. Could be a GPU load issue though as I'm pretty sure I'm hitting the wall at this resolution on my 560Ti. I did try 11520x6480 which renders but screenshots weren't saving and the game kept crashing. Not surprised though as I was below 1FPS.
 

Ryoku

Member
In the case of your monitor you'll be better off using 3360x2100. Don't use 4K just for the sake of "it's 4K!" Use what's most appropriate for your screen.

I'm a bit confused as to why you would use 3840x2160 when it's not even the same aspect ratio as 1680x1050. Wouldn't that cause the final image to be rendered a bit... weird?

3840x2400 is 4K @ 16:10

I did end up switching it to 3360x2100. When I tried 4k, it went from 3840x2160 --> 3360x2100 --> 1680x1050. There wasn't anything weird with the aspect ratio or any stretching/boxing. It looked fine.

Now a problem I'm having is this. I hooked up my PC to my friend's 1080p television. Now when I want to downsample from 4k, the game crashes as soon as it loads into the game, after selecting my save. It's fine at 1440p. It worked on my monitor, but why isn't it working here?

EDIT: 3200x1800 works fine, too. Seems to be when I move up to 4k for some reason.
EDIT 2: The game is Dark Souls II
EDIT 3: Works perfectly fine now. There was a driver update for Nvidia so I just updated that. Don't know if that's what was causing the problem or not.
 
Top Bottom