injectSMAA v1.2
Description
- adds "Subpixel Morphological Antialiasing" to an application
- is based on "injectFXAA" (written by "some dude")
- is supposed to work only with directx 9, directx 10, directx 11, x86 applications
- may be incompatible with any other form of antialiasing
- may be incompatible with overlays (Steam Overlay, MSI Afterburner, Fraps, ...)
http://www.iryoku.com/smaa/
Changelog
v1.2
- Add: Configuration file
- Change: Internal modularisation
- Change: (d3d9) Improved state handling
- Fix: (d3d10) Possible memory leak
- Fix: (d3d9) Steam overlay via "weird_steam_hack"
- Fix: (d3d9) GTA4 AlphaTest issue
- Fix: (d3d9) GTA4 DepthStencil issue
- Add: SMAA 1x
Older Versions
injectSMAA v1.1
injectSMAA v1.0
Screenshots (left: no antialiasing, right: smaa)
GTA4
Halo 1
Portal 1
Unigine Heaven (DX9)
Unigine Heaven (DX10)
Unigine Heaven (DX11)
Section 8: Prejudice has menu graphical errors:
AntwortenLöschenhttp://i.imgur.com/hJfHT.png
http://i.imgur.com/nfEwf.png
Donno if this is with all UE3 games, need some testing.
Tested it on TESV:Skyrim.
AntwortenLöschenPerformace and image quality is really good.
Runs at least as good as FXAA, and looks much better.
Any ideas why this d3d9.dll file makes my Skyrim look like this? :p
AntwortenLöschenhttp://img443.imageshack.us/img443/965/tesv2011113017113938.jpg
activate "weird_steam_hack" in confic file ;)
LöschenNot sure man.
AntwortenLöschenMay be faulty drivers, or maybe you are forcing another things that are not compatible with SMAA in your control panel.
I don't even know what if you got amd or nvidia.
I'm using GTX 460 on driver 285.38. Not forcing any settings through nvidia cpanel. Using some mods and edited ini files slightly though but I've seen another guy having the same issue so I'm not alone. But yea I'm thinking it's either driver related, some setting or mod that causes a conflict, just wish I knew what exactly it is as this AA method seems to be the best out there atm.
AntwortenLöschenDieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenDidn't unfortunately fix it for me. I also tested it with other games and it worked fine. So at least the driver should be ok.
AntwortenLöschenAlso tested disabling all mods and deleted the skyrim ini config files for it to revert to default settings and tried modifying some settings in MSAA.fx without luck.
AntwortenLöschennot work to BF3
AntwortenLöschenNot working with my Skyrim, just get a "Skyrim has stopped working" whenever I try to start it, can't even get to the main menu. Administrator or not, can't get it to work... Also disabled all Control Panel forced settings like AA etc.
AntwortenLöschenNice work. Any plans on implementing T2X?
AntwortenLöschenAwesome work... tried it on Saints Row 3 and it crashes the game. Here is the log file:
AntwortenLöschenredirecting CreateDXGIFactory
redirecting D3D11CreateDeviceAndSwapChain
redirecting IDXGIFactory->CreateSwapChain
Doesn't work quite right with Sonic Generations, it runs but looks like this:
AntwortenLöschenhttp://shadowdane.com/public/SonicGenerations_DX9_SMAA_Bug.jpg
Just confirmed, it doesn't work on BF3 here either. Here is the log:
AntwortenLöschenredirecting CreateDXGIFactory1
redirecting D3D11CreateDeviceAndSwapChain
redirecting IDXGIFactory1->CreateSwapChain
redirecting CreateDXGIFactory
redirecting IDXGIFactory->CreateSwapChain
redirecting IDXGIFactory1->CreateSwapChain
redirecting D3D11CreateDeviceAndSwapChain
redirecting CreateDXGIFactory1
redirecting IDXGIFactory->CreateSwapChain
redirecting IDXGIFactory1->CreateSwapChain
Found out the issues I was having, this doesn't work at all with any overlays. I had to turn off the Steam Overlay, MSI Afterburner and Fraps. Once those were turned off it worked fine.
AntwortenLöschenConfirmed Shadowdane's comment. The injector does not seem to play nicely with other overlays.
AntwortenLöschenI was trying to use it with Skyrim. I use EVGA Precision to monitor framerate. Having that running with the injector caused the game to crash immediately on startup.
I shut that down and while the game ran, it was significantly washed out like the screenshot RPGWiZaRD posted. Turns out that is the result of the Steam overlay. If you disable that (Right click on Skyrim in Steam Library -> Properties -> disable "Steam Community In Game") it will look as shown.
I think FRAPs by itself works ok judging by some other people's shots, but I haven't had a chance to try myself.
Sweetz I love you! It was the Steam overlay for me, FRAPS works fine here though. Sweet! ;P
AntwortenLöschenYup I also got around to downloading FRAPS and found it works fine even though other types of overlays don't.
AntwortenLöschenI kind of miss the Steam overlay though, hopefully the developer can find a way around that problem.
In any case this algorithm seems awesome. AA quality matches or exceeds FXAA with significantly less pronounced full screen blurring, and yet it still performs exceptionally well.
Here some shots of Skyrim comparing normal 4x MSAA to SMAA. The framerate is more or less meaningless, I'm completely CPU bound here and the framerate fluctuates between 42-45 even with no AA applied.
AntwortenLöschenBarely any discernible difference in sharpness (check out the inn sign closely if you want to see it), yet AA quality is pretty much exactly the same and SMAA covers edges that MSAA can't because of lighting methods (check out the sword edge). Plus, as with other post-process AA methods, you basically get transparency AA for "free"; check out the leaves/needles on the tree in the right side foreground.
I am incredibly impressed - if they can fix the incompatibility with certain overlays, I'd be willing to accept this as a perfect replacement for MSAA in everything.
4xMSAA: http://img39.imageshack.us/img39/1756/skyrim4xmsaa.jpg
SMAA: http://img72.imageshack.us/img72/6568/skyrimsmaa.jpg
Yea it's great cuz it only affects edges as it should. FXAA is like putting a blur-filter over the entire screen and MSAA provides a little too much GPU performance overhead especially at 4-8x, 2x is not very useful. I do admit AA8x looks great but it does have quite some FPS hit in most games. This has at least MSAA4x quality IMO but with less FPS hit.
AntwortenLöschenDoes this work with nvidia cards?
AntwortenLöschenAhmad Saleem : yes, it works both for NVIDIA and ATI/AMD cards.
AntwortenLöschenCan someone upload to another server host, cant dowload from Google docs, thx
AntwortenLöschencant download from google docs
AntwortenLöschenreupload please
Nice work. :) It would be nice to see a version with T2x as Swartz already said. ;)
AntwortenLöschenIch hab grad gsehen das du aus Deutschand kommst? :)
Wow super nice work dude!!!, is there any chance to add others post process effects like in the FXAA hook?, there will be awesome to add the sharpen, blur and ETC post process effects like they do there http://www.assembla.com/spaces/fxaa-pp-inject/documents with the FXAA injector :D
AntwortenLöschenAnd also in the future A UI for an easy customization will be really awesome ^^
Cheers!
@RPGWiZaRD that whiteout/high gamma bug your getting seems to be from the steam overly or any overly for that matter minus fraps I have the same problem but not all the time
AntwortenLöscheninjectSMAA 1.1
World of Tanks = Good
Deus Ex: Human Revolution = Good
Super Meat Boy = Good
Borderlands = bugged menu and hud
GRAW = Good
GRAW2 = Good
Enemy Territory: Quake Wars = Good
Limbo = Black Screen
Risen = Good
Company of Heroes DX10 = Good but needs some blur
Trackmania United Forever = Good but needs stronger AA and with steam overly you get black skybox and/or land
@id: thank you, nice report.
AntwortenLöschen"Limbo = Black Screen" (funny, because this is the usual case with the game).
If "Black Screen" is no pun but a bug report, I wasn't able to reproduce it. On my machine inectSMAA works but reports no visual aliasing.
"Borderlands = bugged menu and hud" I will investigate it. Maybe this is the same issue as with "Section 8: Prejudice"(SauS).
Also on my investigation list are "Saints Row 3", "Serious Sam HD", "Need For Speed Hot Pursuit".
@id: With ET:QW, do you mean that SMAA actually works with OpenGL engines? I was under the impression that it works only for DirectX games.
AntwortenLöschenCheers,
7
thanks dude, this SMAA shit works fine for me. Its way better than FXAA. I love it :)
AntwortenLöschenholy crap how did I do that I tested Frontlines: Fuel of War but typed Enemy Territory: Quake Wars sorry about that
AntwortenLöschenSo....
Frontlines: Fuel of War = Good
Enemy Territory: Quake Wars = Face palm
I tested in Dx9 games and this SMAA really do an awesome job compared to MSAA (better performance with almost same quality) and FXAA (better quality with almost same performance) but unfortunately in Dx11 games like Battlefield 3, alpha textures are more blurred compared to FXAA and theres no gain in performance.
AntwortenLöschenI noticed an issue in Crysis 2 in Dx9, where some textures and corners are flickering when using SMAA.
Im pretty sure that if you fix those issues people are having, SMAA will be the best AA solution on the market.
Thank you guys.
thanks a lot! it works very nice with assassin's creed brotherhood!
AntwortenLöschenAndrej, wäre es möglich, das Verfahren auf OpenGL zu portieren? Ich brauche es vor allem für Doom 3, Quake 4 und The Dark Mod. Mit Bildverbesserungen wie Sikkmod oder JCDentons Mod wird das interne AA irgendwie zerschossen, und bei SMAA sollten diese Probleme nicht auftauchen. Danke im Voraus!
AntwortenLöschenHi Andrej, is it possible to port your incjector to OpenGL (mainly for Doom 3, Quake 4 and The Dark Mod). Regular AA doesn't seem to work with mods like Sikkmod and JCDeonton's mod (on ATI cards).
To add to the game list:
AntwortenLöschenIt works very well with STALKER: Call of Pripyat.
:)
To add to the game list[2]:
AntwortenLöschenIt works with Grand Theft Auto Episodes From Liberty City ( EFLC ) the change is visible but the saturation, brightness and contrast change dramatically and now the game is ugly.
* http://imgur.com/DddQM,WM6a5,yKfFv#0
- First and Second images, change to see the diference.
* http://i.imgur.com/yKfFv.gif
- Third image, the image with zoom.
I hope that this can be fixed
:)
My #1 priority is game compatibility. Unfortunately I don't have "Borderlands" (and can't get it anytime soon). However I was tweaking the injector and figured one possible cause for image corruption.
AntwortenLöschenHere is a temporary beta for you guys to test on "Borderlands" (and maybe "Section 8: Prejudice" or "EFLC"). Report whether it works or not.
https://docs.google.com/open?id=0B-Ne94cwHPx_MzQ4Mzk5MGMtNjc0Ny00ZjViLWJkOWQtYTUxOGY2OTM2OGYx
With EFLC didn't change :(
AntwortenLöschenAndrej Dudenhefner : please write me an email to spajdr@centrum.cz, i can offer you a way to test Borderlands. Make sure you have STEAM installed :-).
AntwortenLöschenAmazing work on the injector!
AntwortenLöschenAny news on SMAA T2x ??
Andrej : i just tested Borderlands and didnt find any problems
AntwortenLöschenBut one small problem that was ok with version 1.1
Im playing Rift and no intro video is seen or loading screen with loading bar graph when moving from zone to zone, it just blackscreen, otherwise game works fine. Its not really important.
José: I wasn't able to reproduce the image corruption in EFLC (seems to work here). Also tried to max everything out and adjust brightness/contrast everything worked fine.
AntwortenLöschenMake sure not to have any mods, overlays curstom driver settings activated.
spajdr: Blackscreen regression will be fixed in the next stable release. Don't use the beta.
Andrej: Yes, yes. Everything is fine now. Thanks.
AntwortenLöschenI'm experiencing some crashes in saints row the third when trying to use SMAA.
AntwortenLöschenI made it work once, but the performance was terrible.
It actually made my driver crash.
Hi there, it is possible for the next releases to make an easy way to change the presets low/medium/high/ultra, or at least make different releases for each profile?.
AntwortenLöschenAlright, I got SMAA to work with saint's row the third.
AntwortenLöschenAll I did was use the dx11 version and run the game in DX11.
Works like a charm now.
Any chance for 2xSMAA mode?
AntwortenLöschenwow, this is the best AA solution, works great in Mass Effect and Halo PC, testing with other games, great work, also if you make a guide for SMAA.h tweaking or a little app, it was amazing, hope still developing this AA
AntwortenLöschenI would really love to see the T2x version, whitepaper shows that it is the best version of SMAA. Hope You will bring this for us soon.
AntwortenLöschenI tried this with Battlefield 1942 (XP, DX9) and couldn't get it to work
AntwortenLöschenShame, as that game really needs better AA!
Just took a look into the dll a little while ago and found that that the preset being used is SMAA_PRESET_ULTRA.
AntwortenLöschenFor those wanting to edit the functions of the SMAA, go into SMAA.h with notepad or whatever and find SMAA_PRESET_ULTRA near the top of the file. Just change the values defined under it to experiment with it.
I heard T2x isn't possible to implement into an Injector. 2x mode maybe for games that doesn't support regular AA modes.
AntwortenLöschenWhat problems does it have with the Steam overlay? I've been injecting SMAA into Just Cause 2 with the Steam overlay turned on and it ran just fine.
AntwortenLöschenThomas Schoof> Disable Steam overlay interface. Go to steam and check properties for the game, should appear on the first page there.
AntwortenLöschenDieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenHas anyone been able to get InjectSMAA working with Battlefield 3? I've tried all versions including the new v1.2. I extract the contents of the d3d10 folder to Origin Games\Battlefield 3, but when I'm in the game and press pause to activate/deactivate, there's no difference.
AntwortenLöschenJust to be sure here..
AntwortenLöschenIs this compatible with any method of Anti aliasing?
Noticed it uses Shader Model 3 and that the SMAA.h file appears to support up to HLSL 4.1. Is there any advantage to having the injector use Shader Model 4.0 or 4.1?
AntwortenLöschenTried this in Battlefield 3. Despite the log.log getting created, I see no difference between on and off (pause button)
AntwortenLöschenTried it on a ATI 4850 Mobility (512mb version). Overclocked GPU with Afterburner to the desktop version (625/990 Mhz), which is perfectly stable. System is a late 2009 iMac.
AntwortenLöschenResolution: 2560x1440 32bit color.
Scene: Outdorr near Whiterun.
Tweaks: uGrids=7, more grass
Skyrim FRAPS Results:
NOAA 35FPS (stable 30+ FPS in most areas)
4xAA 23FPS (iMultiSample=4)
FXAA 31FPS (FXAA provided by SkyrimLauncher)
Injector results:
SMAA_PRESET_HIGH 23FPS
SMAA_PRESET_LOW 27FPS
Dang :(
I made sure 4xAA or FXAA were disabled while testing SMAA.
Maybe it's better optimized for NVidia?
Graphically speaking SMAA is a lot better than FXAA! I would totally play with it enabled if it was about the same performance or faster. FXAA makes everything blurry, and especially the grass and distant trees seen on the horizon look really crap. SMAA gives much better results.
Hope this helps.
So i asked Steam Support if its Save to use with Vac ...
AntwortenLöschenand they Responded to me this ( Short )
Its on our own risk to use and vac makes no false positives and detect only cheats they dont look over Third party tools and we need to ask the Dev of that tool if its Compatible with VAC
.... so is it ? is it compatibel with vac ?
Thanks for creating this! Been using it with Shogun 2, BF3 plus bunch of other new stuff and works great. Plus looks good without the FXAA blurr.
AntwortenLöschenI too have gotten a bit of a performance hit with using Ultra preset from version 1.2 compared to 1.1 but im still better off then using MSAA.
Havent been banned from pb or vac but i believe with pb u get a driver warning kick before banned. Maybe VAC does same.
@injected
AntwortenLöschenHow did you get that working in BF3?
HD6950 here, copied the DX10 contents to the games install dir, but when I press "pause" nothing changes - looks the same.
The other FXAA Injector which lets to tweak colors does work nicely (yes i removed that before I added this one. :) )
Here is what i did:
AntwortenLöschen-Put DX10 SMAA 1.2 files into dir with the BF3 executable
-Turned off Origin overlay
-using newest beta drivers(nvidia gtx 460)
-set preset to Ultra in injector ini.
-turned off MSI Afterburner
And so far its worked with every new release. Havent had any problems with steam overlay yet either.
Hope that helps.
@injected
AntwortenLöschenThanks!
Seems to me that with my AMD 6950 it is always enabled.
"pause/break" button will not disable/enable it.
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenSo i asked Steam Support if its Save to use with Vac ...
AntwortenLöschenand they Responded to me this ( Short )
Its on our own risk to use and vac makes no false positives and detect only cheats they dont look over Third party tools and we need to ask the Dev of that tool if its Compatible with VAC
.... so is it ? is it compatibel with vac ?
answer pls from the dev ?
The readme contains the line "Do not use this tool while playing on anti cheat enabled servers (may be detected as a cheating measure)."
AntwortenLöschenThe injector is not supposed to be used for any kind of cheating but it is definitely powerful enough to be abused.
Andrej, is it possible to port your incjector to OpenGL (mainly for Doom 3, Quake 4 and The Dark Mod). Regular AA doesn't seem to really work with mods like Sikkmod and JCDeonton's mod (on ATI cards).
AntwortenLöschen@Andrej Dudenhefner
AntwortenLöschenThanks for your work!!!
Only problem I have in BF3 now is that I can either use SMAA Injector or the FXAA Injector which also lets me tweak saturation, bloom, etc. any chance to support their shaders? http://forums.electronicarts.co.uk/battlefield-3-pc/1454675-better-sharper-custom-fxaa-injector.html
Working GREAT on BF3!
AntwortenLöschenHi,
AntwortenLöschenThank you very much for your work.
Could you possibly add another empty technique (say technique custompostprocess) for the next version so we could do additional custom post processing please? This would be too kind.
Thank you in advance
Regards
DoofDilla
For the next version, I'm working on an abstraction, so one can completely define the used buffers and techniques in the config file. I did not want to introduce one fixed technique, but a more general solution.
AntwortenLöschen@Andrej
AntwortenLöschenSounds very promising. The fixed technique was only an example but your way sounds much better and sophisticated. Thank you again for all your efforts. I'm looking forward to the next version then.
regards
DoofDilla
Tried this with Total War: Shogun 2 via steam. The log.log file generated this.
AntwortenLöschen"full path: d:\program files (x86)\steam\steamapps\common\total war shogun 2\
redirecting CreateDXGIFactory1
redirecting D3D11CreateDeviceAndSwapChain
redirecting CreateDXGIFactory1
redirecting CreateDXGIFactory1
redirecting IDXGIFactory1->CreateSwapChain
initialising shader environment
Device->CreateDeferredContext failed"
I assume it didn't work?
AMD 5850
Drivers 11.11a
SMAA Injector 1.2 dx10
For anyone having problems using the pause button to toggle SMAA on and off in Battlefield 3, I discovered you need to disable the Origin overlay. In Origin, click the gear icon and go to settings > in game and uncheck "enable Origin in game".
AntwortenLöschenhello everybody!! I'm very escited about the SMAA project.. I tryed it out with unigine heaven DX11 and it's really amazing.. I'm wishing to try it on crysis 2 retail DX11; so i disabled ANY AA via autoexec.cfg and copied dx10folder files to bin 32 directory inside game folder. I have a crash to desktop on startup.. any clues? i tried to change location for shader files but i had no luck.. ANY clues?
AntwortenLöschenAnyone knows how to get Batman Arkham City to work with this? Nothing happens when I put the files in the .exe file directory.
AntwortenLöschenNot working with Star Wars: The Old Republic. Crashes on launch or stucks on black screen. Unfortunately I did delete the log but if needed I can try once more and post (leaving the client running to avoid long queues or I would have done so already:P). (If I remember right it fails with Device->CreateDeferredContext failed)
AntwortenLöschenRegarding VAC: After further research, it is perfectly safe to use under Steam's VAC as VAC doesn't check the DX libraries (eg d3d9.dll ) for injection. VAC checks for known applications and modified game files via MD5 hashes. In the case of modified game files they are sent to Valve for inspection. I am running it on VAC enabled titles as we speak. :)
I would also like to suggest the renaming of the injector log for 2 reasons. One is to avoid possible future conflict (cases where games call their PE game.exe or client.exe and sorting out driver profiles comes to mind). Second is to be easily discernible. Something in the lines of smaa_i.log would make sense.
AntwortenLöschenI read that SMAA T2x is not possible to implement in an injector, is that true? :(
AntwortenLöschenThanks for your great work, Andrej!
AntwortenLöschenBut 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?
for some reason bf3 gets dxgi.dll error at 1.2 version, but 1.1 works fine for me.
AntwortenLöschenI love this antialiasing, but I'd really like to use it with D3D Overrider, unfortunately it's not compatible for now ... I hope you'll fix it soon !
AntwortenLöschenthanks dude, but i can hardly find any difference with the low preset when i set it to ultra.what is the difference between them?
AntwortenLöschenI have the same problem, D3DOverrider (triple buffering) does not work with InjectSMAA - it DOES work with the some dude tool (inject FXAA). Please see if you can fix this!
AntwortenLöschenits unfortunate that the uploaded binaries are only 32bit
AntwortenLöschenAre you still working on this project or have you abandoned it?
AntwortenLöschenStill working (to partially support S2x) but it seems incompatible with my previous approach. So the code has again to be seriously redesigned.
AntwortenLöschenThe original crysis simply crashed when I open it if I try and use this (copied dx10 version to folder containing executable)
AntwortenLöschenHello Andrej, any news on next release? when we can expect it? :-)
AntwortenLöscheni now have tried both injectFXAA beta 10 and injectSMAA 1.2 in need for speed hot pursuit. i do notice the added AA throughout the game. but the AA quality is still noticeably pixelated at the car selection screens--even with injectSMAA set to ultra quality. any better solutions?
AntwortenLöschenbtw: i'm running the game at 1920x1200 resolution.
Der Kommentar wurde von einem Blog-Administrator entfernt.
AntwortenLöschenThis is the log output for Star Wars: The Old Republic
AntwortenLöschenfull path: X:\Games\Star Wars-The Old Republic\swtor\RetailClient\
redirecting CreateDevice
initialising shader environment
redirecting device->Reset
initialising shader environment
D3DXCreateEffectFromFile failed
try to use "X:\Games\Star Wars-The Old Republic\swtor\RetailClient" for shader files
If it is relative, the there is a subdirectory named shaders with a shader file inside..perhaps it can't find the game's shader file?
@Nodens: The "shader files" are "SMAA.fx" and "SMAA.h" which should be put into the suggested directory "X:\Games\Star Wars-The Old Republic\swtor\RetailClient".
AntwortenLöschenAndrej :
AntwortenLöschenI also have these files in folder as Nodens and i got exactly same error in log.log file.
Any suggestions what to do next?
The injector's shader files are all in the suggested directory. I was just taking a wild guess on why it's not working as I am unsure of the mechanism involved..
AntwortenLöschenHi there. It works great with League of Legends and Heroes 6, these games do not support any kind of AA from the start, so using this makes them look a lot better. Thanks a lot again.
AntwortenLöschenThis doesn't work for the game Stalker: Call of Pripyat in DX10/11 mode.
AntwortenLöschenThe log has the following:
full path: C:\Program Files (x86)\bitComposer Games\S.T.A.L.K.E.R. - Call of Pripyat\bin\
redirecting CreateDevice
initialising shader environment
D3DXCreateEffectFromFile failed
SMAA.h(237,27): warning X1519: 'SMAA_THRESHOLD' : macro redefinition
SMAA.h(238,33): warning X1519: 'SMAA_MAX_SEARCH_STEPS' : macro redefinition
SMAA.h(239,37): warning X1519: 'SMAA_MAX_SEARCH_STEPS_DIAG' : macro redefinition
SMAA.h(240,32): warning X1519: 'SMAA_CORNER_ROUNDING' : macro redefinition
SMAA.h(447,32): warning X1519: 'SMAATexture2D' : macro redefinition
SMAA.h(448,81): warning X1519: 'SMAASampleLevelZero' : macro redefinition
SMAA.h(449,85): warning X1519: 'SMAASampleLevelZeroPoint' : macro redefinition
SMAA.h(450,63): warning X1519: 'SMAASample' : macro redefinition
SMAA.h(451,73): warning X1519: 'SMAASamplePoint' : macro redefinition
SMAA.h(452,103): warning X1519: 'SMAASampleLevelZeroOffset' : macro redefinition
SMAA.h(453,91): warning X1519: 'SMAASampleOffset' : macro redefinition
ID3DXEffectCompiler: There were no techniques
ID3DXEffectCompiler: Compilation failed
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenIt seems I got InjectSMAA/FXAA tools to work with SWTOR.
AntwortenLöschenSeems that disabling the Large_Address_Aware Flag for executabe swtor.exe will enable SMAA.
I can only guess that InjectSMAA tool has to explicitly pass the specific flag in order to work on such games that require higher memory addressing.
Interesting find. So we have to limit the game to 2GB address space. I'll take a wild guess and say that the injector can't handle pointers >2gb..and that could probably get fixed?
LöschenThanks Marctraider, that indeed worked! finally working SMAA in SWTOR.
AntwortenLöschenCause disabling the LAA flag is not a good idea, it is there for a reason. The game will probably crash once the 2GB limit is reached.
AntwortenLöschenYeh it can get fixed, i guess it just needs a recompile with passing the LAA flag. I havent found any crashes for now so I'm happy with it for now. But you never know :/
AntwortenLöschenI got crash today when both of swtor.exe together had around 2.1GB RAM, so it could be related to disabled LAA.
AntwortenLöschenDieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenEasiest way to do it:
AntwortenLöschenhttp://www.techpowerup.com/forums/showthread.php?t=112556
Doesn't seem to be working correctly with Dead Space 2, menu looked really weird, as if the glow got multiplied ten fold, and the game stopped responding when trying to close it. So still no proper Antialiasing for Dead Space. :(
AntwortenLöschenI noticed SMAA v2.7 with SMAA S2x & 4x was just released! Will the injector be updated to work with this?
AntwortenLöschenSweet, I hope it gets updated with those.
AntwortenLöschenAndrej, do you have any plans on making your project open source? The reason I ask is because all of the injectors so far, including the FXAA ones, have been closed source.
It seems to me like the more people who have access to the code, the more that could be contributed by people. The more people looking through the code the quicker various problems could be solved.
Would you please consider this?
@Shadowdane: It is due to the incompatibility of the previously designed injector (v1.3) and the S2x mode, that the new version is not out yet. However it is planned to support S2x (with DX10/11 games which already have support for MSAA2x, which is required).
AntwortenLöschenBasically it was planned to abstract from fixed shader injection and make it possible to do more.
@Swartz: If I knew of the S2x injecting incompatibility with my idea (not incompatibility in general) before, I'd have published the sources earlier. Right now it is an noncompiling mess which I have no time to fix due to other projects in real life. I can't say for sure when the next stable version (maybe along with the source) will be released. But it won't be soon.
Hey Andrej do you know why the SMAA injector only works when with SWTOR when we disable the LAA (Large Address Aware) flag?
AntwortenLöschenI have a feeling it only requires a quick fix and hope you will look into it :) Good job with the injector so far :)
Is there a chance you can update the 1.2 release to use the new SMAA 2.7 textures/sources that got posted yesterday? Exchanging the SMAA.fx is unfortunately not enough, since the area/search textures have been changed.
AntwortenLöschenThis should be a trivial upgrade - if you still have the sources for 1.2.
Because of the texture upgrade, I believe there is a fair chance that the image quality of the 1x mode is improved.
http://www.iryoku.com/smaa/
https://github.com/iryoku/smaa/
About SWTOR, I can confirm that at least I, didn't need to disable the Large Adress Aware.
AntwortenLöschenI simply put the (DX9)SMAA-files in C:\Program Files\Electronic Arts\BioWare\Star Wars-The Old Republic\swtor\retailclient.
Worked perfectly.
You must be running a 32bit operating system. Otherwise please check and report that swtor.exe in retailclient directory has the LAA PE flag enabled and report please. If you are running indeed a 32bit OS. Could you help to isolate the bug to the LAA flag by trying to run the client with 3GB user space enabled and report if it continues to run properly with the option on? Directions for toggling it on/off here: http://dwf.blogs.com/beyond_the_paper/2009/04/enabling-3gb-switch-on-windows-vista.html. Directions for Vista apply for Windows 7 as well. (To clarify: LAA flag does absolutely nothing on 32bit OS unless the user memory space is extended to 3GB. By trying to run the client with that enabled it will actually verify the bug is the LAA flag :))
LöschenYup like Nodens said, you are probably running a 32-bit Windows. Not sure if Swtor installation sets this flag depending on system specs/windows though.
Löschen@BlueSteel: Great idea! Let's hope that Andrej has time to do it.
AntwortenLöschenI was able to use the 2.7 SMAA.h file with the SMAA.fx from 2.7's DX9 Demo folder with the injector. This produced a fairly blurry picture (in Mirror's Edge), so I edited lines 480 and 481 to match the previous SMAA.h:
AntwortenLöschenfrom:
#define SMAA_AREATEX_PIXEL_SIZE (1.0 / float2(160.0, 560.0))
#define SMAA_AREATEX_SUBTEX_SIZE (1.0 / 7.0)
to:
#define SMAA_AREATEX_PIXEL_SIZE (1.0 / float2(160.0, 240.0))
#define SMAA_AREATEX_SUBTEX_SIZE (1.0 / 3.0)
Now it works very well, though I can't really tell if it's better or worse than the previous version. And I'm not even really sure if this sloppy copy/paste porting is even using the code from 2.7. Others are free to try!
As far as i know the .h file is only the header, and you're still using the old one :p
LöschenYea, I couldn't really find any differences between the two .h files other than those two lines, so I figured the big changes must be in some other code. Oh well, it was worth a try!
LöschenDoesn't work for me when I use SMAA.fx and SMAA.h from 2.7.
AntwortenLöschenFrom Jorge Jimenez.:
AntwortenLöschenIt's unlikely the S2x and 4x modes will work with an injector, unfortunately :( There are some chances of getting S2x working through. There are several games that are going to ship with SMAA fully integrated; I think for having S2x and 4x modes on games, the best thing is to make noise and ask for them for actual integration in game dev forums.
Cheers!
Jorge
I prefer that he fix the problems and improve the compatibility with games for now than to implement new methods of AA. Just my opinion!
AntwortenLöschenDieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenAlso, your saying the source is so messy it would be pointless releasing it for help, it would still maybe give someone else a chance to make the T2x version or something, and they could give credit to you of course for designing the original.
AntwortenLöschenFirst Comment that was deleted by me i think -_-: Is T2x mode compatible with dx9, since the injector will need to support the many many games with dx9, (or dx8 too with wc3???). this or s2x is really needed for bf3 and total war shogun 2, but on those dx11 games msaa KILLS performance for them, and smaa 1x does nothing for them.
AntwortenLöschenLet me guess: smaa developers took an arrow in the knees, and can't assist in injectsmaa development )
AntwortenLöschenI cant download smaa . maybe link broken?
AntwortenLöschenThe link is working for me, as of this moment. Try it again.
AntwortenLöschenWhat key is used for shader reload ?
AntwortenLöschenIs there anyway you could include the .dll for x64 games? I was using the injector with Warcraft, now blizzard has updated the client to x64 and the injector no longer works.
AntwortenLöschenIf you could include the x64 dll's for the injector it would be greatly, greatly appreciated ;)
Fantastic! Aliasing is virtually gone in Skyrim without any FPS loss and without texture and HUD blurriness/darkening of FXAA!
AntwortenLöschenPlaying at 1920x1080, with SSAO in performance mode and ultra shadows, and this also allows me to keep over 30 FPS even with tree and land shadows. HW is a GTX 560 on a i5-750 with 4 GB RAM. Note to Skyrim players: install the injector version for Directx 9, not the DX10/11 version, which won't work because Skyrim doesn't use the new APIs.
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenConfirmed, replacing SMAA.h and SMAA.fx for 2.7 versions actually disables SMAA, because the code is compiled into the DLL. I wonder if we could get the source code?
AntwortenLöschenHere are some screenshots of Skyrim comparing the same scene without AA, with MSAA x4, MSAA x8, FXAA and SMAA: http://skyrimnobolso.wordpress.com/2012/02/23/anti-aliasing/
Hm, I tried 1.1 and 1.2 on GTA4, also I tried some dudes FXAA Injection, but I have a wierd problem I'm unable to solve. Whenever FXAA or SMAA are switched on, the game starts to stutter very wierdly, like in a non-linear fashion. It's kind of a strong stutter every half second.. so I get like 1/10th second fluent then 1/2 second stutter, 1/10th second fluent etc.
AntwortenLöschenStrangely, it works fine in windowed mode, just not in fullscreen. I tried a lot of CLI parameter tuning for GTA4, and also playing with many options in my nVidia CPL (using two GTX480 in SLI, running on WinXP Pro x64 Edition, GeForce 285.58 WHQL), all to no avail.
I'm out of ideas. In many other games like AvP, F.3.A.R., Dead Space 2 etc. it works just fine with minimal performance degradation.
I hope you read all of these comments... Xfire causes GTA:SA to crash along side this DLL. I've had it work fine with other d3d9.dll, so it might be the way it's attaching. Please look and see if you could fix this, as I use Xfire for video recording and uploading.
AntwortenLöschenI wish the injector would allow the shader programmer to insert passes before and after SMAA, as currently it's hard to combine it with other post processing effects like sharpening or bloom.
AntwortenLöschenWould you be willing to make this change in a future injector Andrej?
I've tried to get this to run with Skyrim (Steam version) without success. I used the DX10 files and put them in the common/Skyrim folder, after that i tried Steam directory, both ways didn't work. Can someone please explain how the handling with Steam apps is, i figure that Steam itself would be the wrong place because you can't know if some game will use DX9 or DX10/11, am i right? But when starting Steam games, they automatically start Steam with it, and in case of skyrim it always will start the launcher with it (which shouldn't be a problem because both are in the same directory), so i'm totally lost here...
AntwortenLöschenSkyrim is DX9 not DX10, so that's the problem right there - you used the wrong files.
Löschenhow can i use smaa with a nvidia optimus laptop? i cant use nvidia graphic card, only intel one and fps are horrible :(
AntwortenLöschenIgnacio nvidia is best graphic card i think its only for pc not for laptop.
AntwortenLöschenGift Card printing
Scratch Cards
Plastic Business Cards
I use a small compact keyboard that doesn't have a pause key.
AntwortenLöschenIs there I way I can change the key in the files or if theres a program that lets me map the pause key to a keyboard shortcut? (autohotkey might be able to do this but I don't really get how to use it)
The dx10 version does not work on champions online, the screen turns black only the mouse cursor stays visible. The dx9 version works fine in the dx9 mode.
AntwortenLöschenWorks GREAT with Battlefield 3!
AntwortenLöschenBut it's not working with Modern Warfare 3.
Steam overlay is Disabled.
I put the DX9 files in "C:\Program Files\Steam\steamapps\common\call of duty modern warfare 3"
(I'm using v1.2)
I can't seem to get this to work in Source-based games. Where are you placing the files for a game like Portal 2? I've tried where the executable is located as well as the bin folders, but no luck.
AntwortenLöschenThis is absolutely fabulous. Thank you so much for harnessing the power of the SMAA algorithm. The video provided by the developers (http://vimeo.com/31247769) showcases 4 SMAA levels: 1x, S2x, T2x, and 4x. I see in the injector.ini file that there are 4 quality presets. Which one corresponds to which level shown in the movie? I think T2x would be the preferred level because it had very high quality results with performance much better than S2x and 4x.
AntwortenLöschenThanks a lot!
Thank you for this neat tool, i'm using it a lot especially on dx10+ games, however i've also become addicted to lumasharpen and i seriously wish i could use them in the same time. Any chance of implementing a proxy dll function (a la enb)? That would help for dx9 games (which is good) but i have no idea if the shader (ps_3 if i'm not wrong) would work on dx10/11 without lots of rewriting.
AntwortenLöschenI could try doing most of the work myself if i get some kind of direction first. Any suggestion?
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenGTX680 (driver 301.42)
LöschenAVP3 works fine,
Crysis 2 dx11 doesn't start
After some tweaking I was able to run Crysis 2 with SMAA.. but I need to say, it misses way too much lines, trees and vegetation for example, so it looks like without AA (the same shimmering). FXAA in Nv control panel brings the best resutls for me so far.
Löschenany chance for upcoming version
AntwortenLöschenfor those who tried to make it work with
STALKER COP Dx10/11
its working guys..
i did the trick..it also works with CRYSIS
put everything in the file except the dll put it in bin file
Worked beautifully with Dead Space 2 and Max Payne 3 Dx11 (IQ is uncomparably better than the Very High FXAA included with Max Payne 3). I was speechless the first time I pressed the pause button, for I had found a "jaggies remover" button for Dead Space 2, texture quality untouched! And it didn't hurt my 7950 at all at 1080p. Thank you dude!
AntwortenLöschenDieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenGo get RadiT 0.4 http://www.forum-3dcenter.org/vbulletin/showthread.php?t=489180
AntwortenLöschenThis worked for me like a charm in L.A. Noire
InjectSMAA works too but the game looks stil like crap with it.
Hi,
AntwortenLöschenFor some reason I am unable to get it to work in Ghost Recon: Future Soldier. It does work only when the game isn't running with the Global Illumination option set to high, apparently.
What gives?
Thanks in advance!
Further testing as given the conclusion that is the Shadows setting, when set to high, to cancel the effect of the injector. But I can't figure how... help?
AntwortenLöschenDoes this work with XNA-based game?
AntwortenLöschenI created an xna game (of course directx 9), and put all files of this tools there but no luck.
good Free GTA Games,Grand Theft Full Version, GTA Free Download
AntwortenLöschengood news need for speed game dedicated to Need For Speed
AntwortenLöschenDownload,PC Racing
Games, New Full
Version Games Download
This is how you make smaa injector work with Msi Afterburner:
AntwortenLöschenRTSS-> Add Profile (big + sign)-> bf3.exe->Setup (wrench)-> check Enable compatibility with modified Direct3D runtime libraries
This will fix the overlay so that you can run smaa injector with Msi afterburner. Thanks for this, looks amazing with skyrim!
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenI made a mod to InjectSMAA - I call it InjectSMAAmod.
AntwortenLöschenYou can download it here:
https://dl.dropbox.com/u/9942986/injectSMAAmod_1.2-1.7z
It allows people to use their own SMAA settings.
Just edit the included SMAA_settings.h file to change the settings.
I have updated InjectSMAAmod to version 0.3 :
AntwortenLöschenhttps://dl.dropbox.com/u/9942986/injectSMAAmod.7z
InjectSMAAmod adds the ability to tweak the SMAA settings and to use Color edge detection.
It also simplifies the installation, by making d3d9.dll and dxgi.dll load different .fx files so they can coexist in the same directory.
You no longer need to find out what DirectX version you need to use, just copy the all files and the game will load the correct one.
Dieser Kommentar wurde vom Autor entfernt.
LöschenAck, I accidentally deleted my long comment :( I hope it sent you an email copy!
LöschenBasically:
Löschen- I love InjectSMAA
- Thank you CeeJay.dk for streamlining it and making it easier to use, you are awesome :)
- Which preset do the values in SMAA_settings.h use? (LOW/MEDIUM/HIGH/ULTRA, assuming that is what those presets actually control)
- Do you have the skills to update InjectSMAA to use SMAA 2.7, released in January?
Thank you for your time!
Hi Kristoff.
LöschenSadly, I did not recieve an email with your long comment.
I was asked about the meaning of the SMAA values about 2 weeks ago on the Guru3d forums and I wrote a long post explaining them and listing the values that the SMAA presets use:
http://forums.guru3d.com/showpost.php?p=4378263&postcount=740
I think I have the skills to update InjectSMAA (I may have to dust off some of my C knowledge, as I haven't used it for many years) , but I do not have the source code to InjectSMAA which I would need, because to update SMAA from 2.6 to 2.7 you can't just update SMAA.h - you also need to update the included textures to the versions that 2.7 needs.
However mrhaandi choose to include the SMAA textures built into the dll and not as external dds files, which is why I need the source code to change them.
That said, the only changes from SMAA 2.6 to 2.7 according to the SMAA changelog and the diffs on github is the added support for SMAA S2x and 4x.
These are irrelevant to the injector because to implement the S2X and 4x modes, you need application/game support for them - they can't be added by an injector.
BTW if you like InjectSMAAmod , you're going to love my SweetFX Shader Suite, which is InjectSMAAmod + LumaSharpen (my sharpening shader) + the effects from FXAATool combined into one übershader that can give you all the effects at once.
It's currently out in a working beta for DX9 and I'm working on adding DX10 support.
You can find it in the Guru3D thread I post my shader mods to: http://forums.guru3d.com/showthread.php?t=348097&page=31
That injector causes my Optimus-based laptop to run GTA IV with the integrated intel card instead of the discret Nvidia GPU.
AntwortenLöschenThe injector works pretty well for the Anti-Aliasing part (it's very cool to be able to switch it on and off with a key stroke!) but the game becomes unplayable due to the poor performance of the integrated chipset.
The game is set to run on the Nvidia GPU in the Nvidia control panel at all times (with or without the Injector) and run perfectly at medium or high settings when I remove the injector files from the game directory.
I have an Acer 5742G with an i5-480M, an Intel Graphics HD integrated and a Nvidia Geforce GT540M 2GB (driver version 296.10 - I can't upgrade them since the new 301.42 drivers induce a performance loss).
I doubt that any of you know a fix for that problem, but at least the dev will be aware of it now.
I don't have an Optimus-based laptop myself, but I've read that other Optimus games have been able to force their game to use the faster Nvidia card by using these steps:
Löschen1. Download and install the latest Nvidia Driver. The lastest is currently the 306.02 betas and they say specifically in the release notes that they run faster than 301.42 on 400M, 500M and 600M based laptops. I hope they work well for you.
Here is a Win7/64bit link : http://www.nvidia.com/object/notebook-win8-win7-winvista-64bit-306.02-beta-driver.html
2. Go to Control Panel -> NVIDIA Control Panel
3. Under 3D Settings -> Manage 3D Settings -> Select a Program to Customize -> Find your game .exe
4. Set the Preferred Graphics Processor to "HIGH Performance NVIDIA Processor"
Hopefully this works for you.
It's working great with Borderlands :)
AntwortenLöschenIs there any chance for a full source code release including the source for the hooking DLLs? I'd really like to toy around with this somewhat.
AntwortenLöschenHey Andrej, can u update injectSMAA to build 2.7 of SMAA??
AntwortenLöschenIt adds much better edge reduction by comparison
do i have to turn off FXAA or MSAA when using this SMAA injector ?
AntwortenLöschenThank you! Downloaded, not I'll try it WOT & Shogun2
AntwortenLöschenDoesn't work for me on Mirror's Edge Steam version, the game stucked in black screen if I add the 4 files. Is there any additional settings to make?
AntwortenLöschenFound the problem! I was enable the Ati Tray Tools onscreen display, disabled it and the injector works. Thanks!!
LöschenYou can disable LOG.LOG. When writing to the log I game freezes for a second. But the injector is working fine.
AntwortenLöschenWhen using this with Skyrim on an m17x-r4, the game will switch from using the video card to the integrated intel hd 4000 and won't let me select my video card until I remove the files from the directory. How do I get this to run with my video card?
AntwortenLöschenIf you like InjectSMAA , then you should also try my SweetFX Shader Suite which is the same InjectSMAA injector, but with many more effects added to it than just SMAA.
AntwortenLöschenIt's here :
http://forums.guru3d.com/showthread.php?t=368880
LöschenIs there a way to create similar injector for DX8 games? Some of them definitely would be revived with SweetFX and SMAA.
AntwortenLöschenAnd for x64 executables, of course.
AntwortenLöschenHey...I like your post so much.Visit my link as well.
AntwortenLöschenPHP 5 developer
piss off spambot
LöschenJust wanted to add that I'm also on an Optimus based laptop and it's the same for me. When I add the injector files to the Skyrim directory the game will only find the integrated GPU instead of the Nvidia one. I haven't tried installing the drivers from Nvidia's site, but I doubt that will fix it. I have already set the game to use the "High Performance Nvidia GPU" in the Nvidia Control panel (and I also set the standard GPU to be the Nvidia one) but still it won't work.
AntwortenLöschenIt's a shame because when I run it with the Intel GPU I can definitely see the improvement, especially compared to FXAA. But I can only play on low graphics settings with that GPU and even then it's not exactly smooth all the time.
I don't think this is necessarily an issue with SMAAInjector, but probably something with Nvidia's drivers. Still I thought I should mention it here because it seems to only happen when I use the SMAA Injector, so perhaps something can be done.
Dieser Kommentar wurde vom Autor entfernt.
Löschenits weird, i have nvidia optimus and when playing deus ex:hr, guild wars2 and left for dead2 with this filter all works fine, but in skyrim or dead space 1 it forces to use the integrated card, in the other games use the nvidia card :/
AntwortenLöschenim using a gt540m and all game except gw2 are steam games
Great work. It's odd that the frame rate actually increases with SMAA enabled! How can this be?
AntwortenLöschenI don't even know what if you got amd or nvidia.
AntwortenLöschenwww.plasticcardmonster.com
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenBorderlands 2 just crashes if I use your injector...
AntwortenLöschenyou need to enable the weird overlay hack for steam games.
LöschenAny idea on getting this working with optimus laptops? Whenever i use this on a game it uses my intel card and not the nvidia one..
AntwortenLöschenAwesome strategy!
AntwortenLöschenGold Medal Squared
graphics and image quality is awesome.
AntwortenLöschenhttp://ezeeprinting.com/
Can you make this work with this game : Jurassic Park Operation Genesis please ? (yes i know the game is in directx 8 ...)
AntwortenLöschenHi :) Can you make this work with this game : Jurassic Park : Operation Genesis please ? (yes i know the game is in directx 8 ...)
AntwortenLöschenIt's a nice blog to provide a good information. Hope more people reaching your blog because you are sharing a good information.
AntwortenLöschenI bookmarked this blog further more useful information.Thanks for sharing this."cheap web design"