Sonntag, 11. Dezember 2011

injectSMAA v1.2

Just two words: Paradigm shift. I modularised the C code into C++classes and am fully prepaired for any regressions to fix that you throw at me. It helped to find tiny memory leaks and improve (at least theoretical) compatibility.
I added some configuration possibilities with an ini file. Now you can map the keycodes freely and change the SMAA preset.

It is time comment on some feature requests. Jorge and I seriously doubt that the T2x mode will be injectable with the current method. The S2x mode maybe will be possible in the future but not with d3d9.
Also I seriously doubt that the injector can be compatible with overlays as they really have their own mysterious ways and often use the same injecting methods, which are partially mutually exclusive.
Nevertheless I looked into the Steam overlay issue with Skyrim (bright picture) and after hours have randomly discovered a possible fix. The good news is - it seems to work on my machine. The bad news is - I have no idea why it works. Just take a look the the hack itself:

//weird steam overlay hack
DWORD newSrgbWriteEnable=0;
if (Device->GetRenderState(D3DRS_SRGBWRITEENABLE,&newSrgbWriteEnable) == D3D_OK )   
    Device->SetRenderState(D3DRS_SRGBWRITEENABLE,newSrgbWriteEnable);
DWORD newSrgbTextureSamplerState;
if ( Device->GetSamplerState(0,D3DSAMP_SRGBTEXTURE,&newSrgbTextureSamplerState) == D3D_OK)
    Device->SetSamplerState(0,D3DSAMP_SRGBTEXTURE,newSrgbTextureSamplerState);
Yes, it reads and writes the srgb state without any change. Feel free to tell me why it is helpful to steam.
For more information visit the "injectSMAA" page.

Mittwoch, 30. November 2011

injectSMAA v1.1

There is still much work ahead. "some dude" already warned me about GTA4's unforgiving rendering pipeline and still I wasn't able to get it right from the start.
injectSMAA v1.1 focuses on d3d9 and especially GTA4. It seems to work on my system (see screenshots).
Some people report problems with Skyrim (the screenshots look like confused RGB<->sRGB). I could not reproduce the bug on my (GeForce GTX 560 Ti) system. Maybe some modifications to SMAA.fx can help those people (like changing "SRGBTexture = true;" <-> "SRGBTexture = false;" or "SRGBWriteEnable = true;" <-> "SRGBWriteEnable = false;") but is not recommended.
For more information visit the "injectSMAA" page.

Dienstag, 29. November 2011

injectSMAA v1.0

You maybe have heard of "some dude" who created "injectFXAA" to inject antialiasing into games.
I was wondering whether it is possible to inject SMAA (subpixel morphological antialiasing) in the same way. Apparently - it is.
To be honest, the hardest part was to find "some dude" and get his source code. Some parts had to be changed and it seems to work quite well with SMAA. I even managed to get rid of "pDevice->CreateDeferredContext failed" in Unigine Heaven 2.5.
Maybe the changes introduced incompatibilities with "injectFXAA"-compatible games.
Lets see how this little project evolves.
For more information visit the "injectSMAA" page.