It goes beyond the scope of similar tools as, with a bit more effort, it can be tuned to apply only where you really want it to, without affecting HUD or UI elements. While its main purpose is still high-quality downsampling, the current version of GeDoSaTo can also be used as an alternative to SweetFX for the injection of post-processing effects. In addition to targeted postprocessing, we can now also use the “takeHUDlessScreenshot” keybinding in Mass Effect 3. We can then use the built-in editor of GeDoSaToTool to edit it and add the hash code, like so:Īs you can see, only the 3D rendered parts of the game are affected, while the HUD elements still retain their color. This means creating a subdirectory in the “config” path of the GeDoSaTo installation named after the game executable-that is, as we figured out for the whitelist entry in the beginning, “MassEffect3”-and putting a “GeDoSaTo.ini” file into it. In order to use our newly gained hash code, all that remains is creating a game profile for Mass Effect 3. A more solid guideline for (1) in such cases would be “find the last point in the frame dump where no HUD elements are visible”, but a bit of experimentation might be required even so. This can happen in many games if a framebuffer used in a previous frame is not cleared. One complication you might notice is that the HUD is already displayed in “dump111”.
How to use sweetfx with blackhawk down code#
Continue on downwards to the first call of “SetPixelShader.” The second parameter to this call is the hash code we are looking for.Use text search to find the corresponding line in the log file.In our case, this happens when going from “dump113” to “dump114”. Find the point in the image dump where the first HUD elements appear.It is then usually a rather straightforward task to find a suitable hash code by following these steps: This way, only the actual game content-rendered before the UI-will be affected by our processing. What this means is that we can find, for example, the shader used when drawing the first UI element-say a health bar-and instruct GeDoSaTo to perform its processing at the point where the game first uses this specific shader. Optionally, the processing can also be delayed until after the following draw call by setting injectDelayAfterDraw. The injectPSHash parameter then specifies that the processing should take place when a pixel shader with the given identifier is used. GeDoSaTo assigns a unique identifier (its Hash) to each shader. During rendering, the game configures the GPU to use various pixel shaders (indicated by green lines), and draws geometry with them (red lines). Conversely, the lower row shows what happens in a targeted scenario with GeDoSaTo. Only once a complete frame is rendered does the injection happen, so obviously it applies to both the main rendered 3D scene and any existing HUD elements. SweetFX-and GeDoSaTo without special configuration-is illustrated. In the upper row, the usual injection process employed by e.g.