It looks like you're new here. If you want to get involved, click one of these buttons!

ReShade is in public beta



  • Strange, for me it works in both GFWL and the Steamworks versions. Both ReShade as well as an older DSfix. And you need the GFWL version to do different AR's using Widescreen Fixer. That won't support the Steamworks version until the 15th of Februari (or so) when the beta goes public.
  • Is the performance hit from ReShade usually astronomical? Hard to imagine taking many downsampled screenshots if so.
  • It is, quite. That said, with the new GTX 970, I'm getting pretty decent resolutions. That said, I'm only turning on all effects when I've set up the shot. I can't imagine playing at 20-30 MP using ReShade with DOF, FXAA, bloom and AO active.
  • Max Payne 3 just became really crash-happy when I tried it. Saints Row IV had a meltdown at anything close to 4K even with the effects turned off. Think I'll leave this.
  • Depth of Field and SSAO can be the heavy hitters. You can leave it toggled off if you want. I had no issues taking 20MP shots by hotsampling with it.
  • My fear with things like this is that I'd spend time fiddling with knobs that should have been spent taking hard-fought shots of videogames. I have enough of an issue with the time Cheat Engine takes up.
  • I'm seeing that performance hit with ReShade in SRIV as well. Any resolution over 4k and it's a slide show with *any* ReShade shaders enabled. To use shaders I think I'll need to go back to 4k...which means it needs some post-AA.

    Even just enabling ReShade with no shaders enabled causes my framerate to plummet to 1-2FPS.
  • Must be that depthbuffer access.
  • What's the method of choice for controlling the focal range and distance of depth of field?
  • I personally like McFly's 'Magic' DOF shader, which allows you to set the focal point (instead of range) and individually lets you adjust the near and far curve (bokeh intensity) as well as the blur radius and quality, ranging from 1-20, resulting in a humongous amount of bokeh taps. If manual focus is not your poison, you can opt to fix focus depth to anywhere between the camera eye and the sky.

    If you like access to the bokeh bias and bokeh brightness, you'd do well to go with GP65J042's shader (a pox on him for naming it thusly) which uses similar controls. Both of these shaders can really wreak havoc on your GPU strain. Matso's DOF is entirely hard to control in ReShade's rendition, but you can get some off-kilter results with it. I usually leave that one be.
  • Well, Shadow Of The Colossus is basically starting at zero in terms of GPU usage, what with it being emulated. Hopefully the load balances out between CPU and GPU at high res. Bloom is going to have to be managed per-shot, though. I'll let you know how the DoF goes.
  • I wish I could be there with you. Straight face.
  • edited January 2015

    ReShade changelog:



    Added status code to log messages on hooking error
    Added some more error handling to OpenGL renderer
    Added tracelog message for return values of important hooked functions
    Added error log message if OpenGL effect runtime initialization failed
    Fixed ReShade to GLSL compiler error with matrix swizzeling
    Fixed errors and black screens with OpenGL games using shared contexts (rewrote entire OpenGL hooking)
    Fixed D3D9 renderer trying to generate mipmaps on rendertargets which don't have them
    Fixed D3D9 renderer not being able to render to textures bigger than the backbuffer dimensions
    Fixed OpenGL renderer not clearing default depthstencil before starting to render a technique
    Fixed readme talking about OpenGL 4.0 requirement when actually OpenGL 4.3 is needed
    Changed OpenGL depthstencil detection algorithm to take slightly missized candidates into account
    Removed tripple buffering from D3D9
    Removed unused DXGI hooks (D3DKMT... and all that stuff)


    Added option to change screenshot format via "#pragma reshade screenshot_format png/bmp"
    Added proper bridge between DXGI and Direct3D10/11 hooks
    Fixed D3D10/11 renderers sometimes using the hooked device and not the original one
    Fixed D3D11 renderer not restoring viewports
    Fixed D3D9 hooks crashing if device was created with "D3DDEVTYPE_NULLREF"
    Changed "ID3D11Device[Context]" hook to only hook "ID3D11Device[Context]1" interface if actually queried by the game
    Removed setup tool from non-SweetFX version (that one is for shader devlopers anyway)

    0.11.4: (HOTFIX, non-critical)

    Fixed vendor and device id not being detected correctly under OpenGL


    Fixed crash if "D3D10CreateDeviceAndSwapChain" or "D3D11CreateDeviceAndSwapChain" were called with a null pointer for the device parameter
    Fixed "IDXGISwapChain::ResizeBuffers" hook logging an incorrect swapchain description
    Fixed "wglChoosePixelFormatARB" hook logging invalid formats
    Update NanoVG


    Added warning if hooked interface reference counts do not match the original ones
    Fixed "IDirect3DDevice8::CopyRects" failing in too many cases. Fixes a good amount of texturing issues in D3D8 games.
    Fixed crashes with some D3D8 games calling "IDirect3DDevice8::GetDepthStencilView" (more of a hotfix, but works for now)


    Fixed Origin overlay compatibility
    Fixed no rendering in some OpenGL games using multiple device contexts pointing to the same window
    Fixed D3D8 adapter mode enumeration always failing


    Replaced entire D3D10/11 VTable hooking with interface hooking (might improve compatibility).
    Added compiler warning message when texture "MipLevel" property is set to "0".
    Fixed D3D8 games using "IDirect3DDevice8::ValidateDevice" producing errors.
    Fixed D3D8 error when "IDirect3DDevice8::SetVertexShader" is called with a vertex declaration only.
    Fixed D3D8 to D3D9 vertex shader conversion failing under certain circumstances.
    Fixed D3D8 wrapper causing memory failures because the "GetLevelDesc" method was returning the D3D9 and not the converted description.
    Fixed possible (but unlikely) crashes at startup due to loader lock.
    Fixed hooking manager sometimes hooking an already hooked function.
    Updated stb_image to version 2.0
    Removed support for uncommon image formats (PSD, TGA, HDR, PIC and PNM)


    First bublic beta release.

    Master Effect changelog:

    1.0.340: Added Raymarched AO, Chapman's lensflare. Fixed several code parts, fixed splitscreen not working for Magic DOF.
    1.0.321 Added magic DOF shader, a hexagonal DOF that is capable of creating insane blur amounts. Due to its nature, this method most likely produces some minor artifacts.
    1.0.315: fixed mipmap count, modified SSAO for more performance, added lensflare blur, added FXAA, fixed depth check for lighting effects
    1.0.302: initial release

    - Fixing what user matsilagi already fixed inofficially | done
    - Lensflare calculation using bloom blurring algorithm | cancelled, downsampling is enough
    - adding Chapman's lensflare

    Planned(may appear someday)
    - Alchemy SAO (right now too hard for me to understand and port)
    - My own DOF shader (fully working under ENBSeries but...it's my baby, I want to keep it for a while :blush: )
    - Updating border shader to support bigger border, currently 1 pixel wide
    - rewrite LeiFX (stupid thing, author created unnecessarily messy code so rewriting it is difficult when nobody understands HOW it is actually working, implementation was hard enough)
    - Make internally used gaussian H/V blur generic, which means freely selectable tap amount and quality, useful for low blur radii

    I figured it might be useful to keep these up to date so I'll try to maintain them when new versions are released. :)

    EDIT: Also for ReShade 0.12 you might want to check ReShade's .dll files and see if the version number is correct, initially a older build was uploaded. :)
    (It should be, if it's you have the older build.)

    0.13.1: Note that there's a quite serious bug in the D3D8 wrapper here, so try 0.13.0 on your D3D8 games, if 0.13.1 crashes =)

    Added D3D8 shader assembly dump to tracelog
    Changed swapchain creation in "D3D10[11]CreateDeviceAndSwapChain" to use DXGI1.1 instead of DXGI1.0
    Fixed swapchain not being hooked when "IDXGIFactory::CreateSwapChain" is called with the DXGI device and not the D3D10/11 one directly
    Fixed D3D8 wrapper not accepting "vs_1_0" vertex shaders
    Fixed D3D8 pixelshader assembler error when negation modifier is used on a constant (just removing it for now, could cause artifacts, but at least it works)
    Fixed another D3D8 crash related to the "IDirect3DDevice8::GetDepthStencilSurface" problem
    A previous post in the ReShade announcement thread mentioned that they had found the problem with AC: Unity so one of those DXGI changes probably means the game is now mostly compatible although I don't know if the depth buffer works. :)
    (Probably fixes other compatibility problems too although that D3D8 issue is unfortunate but it'll probably be fixed shortly.)

    EDIT: Yep the DX11 Assassins Creed games should be compatible now but no depth buffer yet.

    EDIT: 0.13.2 is out. :)

    Fixed invalid shader version reported from D3D8 "GetDeviceCaps"
    Fixed D3D8 shader assembly fix for "m3x3" instruction affecting other instructions like "texm3x3" rendering the shader invalid
    Fixed crash if "IDirect3DDevice8::GetTexture" wasn't supposed to return a texture
    Fixed OpenGL renderer trying and failing to resize to width and height zero if game is minimized
    Fixed possible crashes when games query and then use the D3D "...1", "...2" or "...Ex" interface variants via "QueryInterface"
    Fixed OpenGL context creation always creating a "core" context for version 4.3, making much ower versions not work
    Fixed D3D9 crashes after games calling "IDirect3DDevice9::GetDepthStencilSurface"
  • is there any easy guide for Manual DOF ?!!

  • 0.14.0:

    Added "RegisterClass(Ex)" hook to force "CS_OWNDC" window class style flag for OpenGL
    Added warning on single buffered OpenGL pixel format request (single buffered rendering isn't supported)
    Added error log message on OpenGL depth framebuffer object creation failure and fixed related crash
    Added new "pingpong" couner and "random" uniform source annotations
    Added thread id to log messages
    Fixed D3D8 rendertarget and depthstencil management, solving all the previous issues
    Fixed D3D8 to D3D9 vertex shader assembly error when output texture registers weren't fully filled (now zeroes them out)
    Fixed D3D8 vertex declaration translation failing after "D3DVSD_TOKEN_CONSTMEM
    Fixed nothing bein drawn under OpenGL if games use "wglSwapLayerBuffers" for presenting
    Fixed crash on exit when targeted window was already destroyed, but game still tries to render to it
    Fixed OpenGL renderer producing a black screen if shader does not return a four component vector (transcompiler now fixes that)
    Fixed OpenGL hook trying to reload and apply shaders when window is minimized
    Fixed possible OpenGL cleanup errors
    Fixed hook manager not catching modules loaded through other modules
    Changed network hooks to properly grab network packets for statistics
Sign In or Register to comment.