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.

Kommentare:

  1. This is so freakin' awesome.
    Version 1.1 works perfectly with Crysis, now trying v1.2, ultra preset.
    One question: the .ini file goes in the same directory as dxgi.dll?
    Thanks.

    AntwortenLöschen
  2. Quazswed: I'd say the .ini goes into the same directory as the .dll (printed in the logfile under "full path"). To be sure you also can change the toggle key mapping and try it out.

    AntwortenLöschen
  3. There is a simple tweaking solution. Here the link: http://forums.guru3d.com/showpost.php?p=4187065&postcount=74

    S2x in dx10/11 mode is better than nothing, more and more games are coming with dx10/11 support.

    AntwortenLöschen
  4. Would it be possible to integrate tonemap, sharpening, and other tweaking options similar to injFXAA in a future release?

    AntwortenLöschen
  5. any chance to implement a function to force v-sync and triple buffering? as it is this method conflicts with D3Doverrider. or maybe you could see whats causing the conflict? it really hurts when you have to choose one over the other.

    AntwortenLöschen
  6. Tested v1.2, with Batman Arkham City (works perfectly, very cheap, looks better than fxaa high), Crysis, Crysis 2, Starcraft 2 (Finally cheap and great looking AA in this game)

    Also, it seems d3Dovverider (utility that forces triple buffering to dx applications) doesn't recognize the game if injectSMAA is present.
    Alt-tabbing or cycling fullscreen/windowed (alt+enter) is what I use as a workaround, so that triple buffering is enabled.
    This works in Crysis, I still have to find a way to force it in Starcraft 2 with SMAA, if it is possible.

    AntwortenLöschen
  7. wow, a great tip Quazswed, let me see if that works here

    AntwortenLöschen
  8. i tried alt tabbing in few games but didnt work.

    AntwortenLöschen
  9. Dieser Kommentar wurde vom Autor entfernt.

    AntwortenLöschen
  10. Any chance to see SMAA Injection in old DX8 titles? Deus Ex IW, Thief DS, UT 2004.....

    AntwortenLöschen
  11. Thanks for your great work, Andrej!

    But Triple Buffering/D3DOverrider does not work anymore when injectSMAA is used. Is there some way to fix that? Or could you maybe add an option to force Triple Buffering to injectSMAA yourself, so that D3DOverrider is not needed anymore?

    AntwortenLöschen
  12. Use a program called RadeonPro to force Triple Buffering, Tom B.

    I assume you're not an nVIDIA user because nVIDIA, iirc, has the option to force triple buffering in its own driver settings.

    AntwortenLöschen
  13. Dieser Kommentar wurde vom Autor entfernt.

    AntwortenLöschen
  14. Anyway, I can indeed verify to everyone that RadeonPro is able to force triple buffering along with this modded SMAA .dll installed.

    At least in Skyrim, on DX9. Success may vary with other games and DX10, can't say for sure until I've played other games (Arkham City and BF3 are next).

    AntwortenLöschen
  15. @ninotoreS:

    I have a NVIDIA card (GTX560Ti). The Triple Buffering setting in the drivers is for OpenGL games only. D3D games are not affected by it.

    AntwortenLöschen
  16. SMAA injector doesn't work with STALKER CS and CoP (the last 2 chapters).
    The games simply crash loading a valid saved game.

    AntwortenLöschen
  17. Hello Andrej, i'm from University of Modena, i really need to speak with you! Can you add me on g+ or fb so we can talk a bit? :D

    AntwortenLöschen
  18. Thanks for this... I'm using it in BF3 now. For some reason the original injFX crashed my game but this one doesn't. Can't really tell how to modify things like contrast, saturation, etc which would be a nice addition, but thanks for providing the AA.

    AntwortenLöschen
  19. Took me a while to figure out how to add a comment (Took German a while back, haven't remembered much). Wanted to talk to you about why renaming your SMAA .dll from d3d9.dll (your DX 9 version), to d3fx.dll makes your SMAA Injector stop working?

    Reason being is with Skyrim, on a laptop that has Nvidia OPTIMUS, you cannot use an injector (Wether it is FXAA or SMAA), because Nvidia (even if you force the higher end GPU in Nvidia settings), Nvidia will force the lower end GPU on the laptop with Optimus. I found a fix online that if you use a Hex Editor on TESV.exe (the main EXE for Skyrim), and look for d3d9.dll and change it to something like d3fx.dll, then rename the d3d9.dll file from an injector (being your SMAA one), it would load the high end Nvidia gpu instead of the lower end, and load the injector. Problem is when I do this, your injecter stops working but Nvidia does load the game with the higher end GPU. When I completly removed the changed file d3fx.dll (your SMAA injector originally called d3d9.dll), TESV.exe says that the .exe cannot run without d3fx.dll. So it does depend, and need the d3fx.dll to load, but I'm not sure why your injector stops working. If you need more info, please add me on Google Plus. Would love to see a working fix to this Optimus mayhem.

    P.S. I love your injector, absolutly amazing work. I now use it on every application I can because of how good it is. Not only the quality, but the sheer amount of effeciency it runs with on GPU's. Crazy good work. Keep it up! =D

    AntwortenLöschen
  20. Amazing eye-candy tool, can't even tell if there is performance loss :)

    I use this 99% of my games its so good!!

    AntwortenLöschen
  21. how can we contact you, Andrej?

    AntwortenLöschen
  22. I have a 580M, and this smaa, in Skyrim, whether it's high or ultra preset, still eats like 10 fps. can you tell me why?

    AntwortenLöschen
  23. New goes to towards ray ban sunglasses sale get-togethers disclosed some sort of inquiring mixture that is certainly partioned estimated at in several camps. There was clearly this self employed, ray ban outlet blog writers, this self- in addition to not-quite-employed, intended for with whom draping because of the pool area using a Exclusive evening hasn't been of which strange. ray ban sunglasses outlet Near to these individuals were being this blessed people exactly who receive summer months Fridays down, cheap ray bans and may even definitely not hang on until finally morning for getting the gathering started off. Then there was clearly these taking part in hooky on the company. ray ban sunglasses cheap They may be viewed clutching the BlackBerrys in addition to i-phones, surreptitiously verifying the e-mail. In the event there seemed to be one common place, cheap ray ban sunglasses almost all men and women, the item looked like, expected they some sort of summer months write about to visit to, or maybe at the very least a party invitation at a pal, that while gathering marketers typically publicise the presentation for anti-Hamptons occasion. “We’d get away from metropolis in the event we could, ”cheap ray ban wayfarer claimed John Kostas, 31, the right teacher exactly who day-to-day lives with Greenpoint, ray ban wayfarer sale Brooklyn, in addition to seemed to be poolside for the Thompson. His or her pal Giancarlo Ciammaichella, ray ban wayfarer sunglasses 34, chimed with: “If I did some sort of beachfront household, I’d head over to of which. ”So rather then coming to some sort of wood-shingled bachelor's pad from the Hamptons, cheap ray ban aviators Microsof company. Wasilewicz located she is sinking the woman digits into your Thompson pool area having the woman pal Serie Yoon, 26, exactly who is effective within the promotion corporation. ray ban aviators sale Each were being having tipsy with icy Wodka Palmers, some sort of slushy mix of vodka, iced herbal tea in addition to lemonade. ray ban aviator sunglasses This cocktails price tag $14 just about every, in addition to nevertheless both equally women of all ages received options with the morning, ray ban glasses we were looking at definitely not moderating the daily allowance.
    http://www.celebraybanoutlet.org/.

    AntwortenLöschen
  24. レイバン RB3026を何年間使ってきて、最近あんまり流行ってない気がして、他のモデルでも使ってみたいと思う。レイバン アビエイター全体がイマイチ、流行から遠回ったのではないかと。なので、ただ今ブレイク中のレイバン wayfarerに行ってみたいと思う。

    AntwortenLöschen
  25. Hey there, I was linked here in some forums saying this module is better than MSAA and FXAA. I installed it correctly I'm sure. I used dx9 to the Skyrim installation folder, but it seems nothing changed..? I mean I pressed the Pause/Break button but nothing changes even at the subtle level. How's this? Should I install this along the Fxaa injector?

    AntwortenLöschen
  26. No source code? The API hooking code from the Nexe DirectX (note: nexe not nehe) tutorials has been down and even the archive.org is down. It would be nice if you could share. :D

    AntwortenLöschen
  27. Hey I am trying to get it to run with far cry 3 but after I put it in the game folder all of my .dll started having entry point errors ??

    AntwortenLöschen
  28. Thank you very much Sir. It works perfect.
    Today 02/march/2016 I updated intel HD graphics (i7 4790) driver and it no longer support CMAA (don't know why the heck they did that).
    Since many games (like gta iv) don't have any "switch" to AA, and others built-in like RE5 are horrible inefficient, InjectSMAA is the perfect solution.

    AntwortenLöschen
  29. Couldnt get this one to work, but the newest release of sweetFX does in everything but DOOM 2016 and starcraft 2. I dont expect it to work with doom as ill be running it in vulkan which by injector standards is rather new, but I would really like starcraft 2 to work and its direct x 9.

    AntwortenLöschen
  30. I cant read very much german, but you should consider a donation link. I would very much be interested in getting this working, not just for me, but for other people who would profit from using really the best form of anti aliasing stacked with downsampling.

    AntwortenLöschen
  31. Figured it out. See thread in battle.net forum I created on the topic.

    AntwortenLöschen