Custom Shaders for GSdx
It's actually that, new blurry pixel over the original pixel using overlay blending with low opacity. That's basically it. The blur is faint but noticeable, could be more "spread" but that starts to look ugly and a stronger nice blur would require two passes or it gets slow really quick.

The overlay blend is in its own function so it ain't hard to change the blending. If you use photoshop you could get a source image (pcsx2 game screenshot without shaders enabled of course), apply a faint blur and try the screen or add blends. Then post it (source image, new image and parameters) here and a new shader can be made rather quickly.
[Image: nbKSK.jpg]
Reply

Sponsored links

Thanks.
Here it is:
Box blur = 13px (on 1680x1050px image)
Blend mode = Screen at 60% opacity

           
Reply
Yeah looks doable, and I think it would work really fast if there was mipmapping or something. I'll probably have something for tomorrow.
[Image: nbKSK.jpg]
Reply
Wow thanks dude, take your time.
Reply
There, give it a try. You can control the "opacity" on the line with the lerp by the end. It ain't a box blur, but the same gaussian blur of the Overlay Bloom but with a wider spread. Since there's only brightness applied, the spread uglyness ain't that noticeable.


Attached Files
.zip   Screen_Bloom.zip (Size: 1,07 KB / Downloads: 1.324)
[Image: nbKSK.jpg]
Reply
Screen looks better definitely but could you add 2 more copies in the offset (dx/y3, dx/y4) so we can increase the blurspread even more. That's what I tried with your overlay bloom but could only get it to spread diagonally not in all 8 directions like this one. It will probably affect the performance of the shader but not too much I hope. Thanks.

Here's what I did with the previous shader by adding 2 more images in the offset (increased output.c = lerp to make it more visible here) :
   
Reply
Photo 
GSdx FX Post-Processing Suite
D3D10 or higher is required(SM4.0+)

Current effects include:
  • HQ FXAA
    -
  • Bilinear Texture Filtering
  • Bicubic Texture Filtering
  • Gaussian Texture Filtering
  • Bicubic Scaling
  • Lanzcos Scaling
    -
  • Blended Bloom
  • Scene Tonemapping
  • Gamma Correction
  • Texture Unsharp Mask
  • Pixel Vibrance
  • Local Contrast Enhancement
  • Colour Grading
  • PX Cel Shading
    -
  • Scanline Emulation
  • Vignette
  • Subpixel Dithering
  • Px Border (MSAA Workaround)

    -----------------------------------------
    You can enable, or disable each effect, from inside the shader settings file. Everything is customizable. Settings are clearly sectioned, and labeled. Use the documentation comments for instructions on each option.
    The default setup is enhancement settings (compliment/enhance the original game's image, without changing it's overall tone & feel) I keep the defaults pretty neutral, so people who don't want to play with the settings can just turn it on and use it. To get the most out of it, customize the many effect settings for yourselves.

    To Install:
    EDIT: I've changed the post-processing directory on the latest dev builds. It's no longer installed to the root, but to a 'shaders' directory. This comes with new builds. I recommend using those, instead of getting here.
    Extract the contents of PCSX2Fx.zip to your PCSX2 root folder(the same folder that the pcsx2.exe binary is in). You can enable the FX shader from inside the GSdx options dialog. You can toggle the shader on and off, by using the HOME key.

    To edit options:
    Open GSdx_FX_Settings.ini in a text editor. I recommend Notepad++, but you can use whatever you like. You can enable, disable, and customize various options, for each effect.

    Notice: This post-processing suite is now shipped with development builds of PCSX2. I recommend you go download the latest version.
    Link:
    .zip   PCSX2Fx.zip (Size: 15,69 KB / Downloads: 33.486)
    Enjoy.

    You can also find my PS1 version: PsxFx here (Hasn't been updated in quite a while, though)

    Some screens below: Update: These screens are ridiculously old. From version 1.1 or something. I'll update them when I get around to it

    [Image: 3df2b0263949249.jpg] [Image: 565d8e263949289.jpg] [Image: 4f6791263949270.jpg]

    Code:
    Version History
    --------------------
    Updated to 2.20

    Too many changes to list :p
    Basically rewrote most of the effect logic, added new effects, and optimizations.

    --------------------
    Updated to 2.00

    -Added CRT emulation effect
    -Added Pseudo Light Attenuation, which now works with default builds of GSdx
    -Added Vignette Effect
    -Updated Gamma Correction, Color Correction, and Sharpening
    -Overall small coding optimisations, should increase speed with multiple/all effects enabled.

    --------------------
    Updated to 1.50

    -Shader settings are now stored in a separate file from the shader code. Keeps things simple for people. Open up PCSX2Fx_Settings.txt to configure any of the options.
    -I was unhappy with the old bloom code, so it has been removed, and replaced with a nice new bloom, adapted from KrossX's screen bloom (Thanks KrossX).
    -FXAA has been updated for improved pixel/luma accuracy, quality, and performance.
    -I've added 4 quality presets to the FXAA settings, to make it easier to change the overall quality. Low, Medium, High, and Ultra.
    -Improvements made to the tone mapping and color correction for more accurate corrected color reproduction, and tone mapping of a scene.
    -Added two tonemapping types to choose from. Scene, and Local tonemapping.
    -Added RGB Alpha checking, for improved luminance reproduction of light sources.
    -Improved Gamma correction, with post inverse correction of sRGB 2.2.
    -Various efficiency coding improvements, ~20% improved performance with all effects enabled, versus 1.20.
    --------------------
    Updated to 1.20

    -Completed the RGB Color Correction.
    -Improved contrast clamping, to prevent over-darkening in some games.
    -Completed in-shader documentation of effects & options.
    -Improved effect options
    -Slightly improved FXAA implementation
    -Improved the Highpass Bloom a bit. It's the best I can do for now, with a single pass.
    -Slightly improved Gamma Correction function
    -Added a color buffer, and improved the global registering a bit
    -Overall code clean up, & improvement
    --------------------
    Updated to 1.15

    - More code improvements.
    - Furthered the Color Correction again
    - HDR Pass, is now Gamma Correction (bloom, gamma correction, & color correction used together, is the HDR).
    - Added Subpixel Dithering
    - Improvements to the FXAA code & implementation
    - Improvements made to the luma sharpen code section
    - Improvements/changes made to the config options. and labelling
    --------------------
    Updated to 1.11

    - More code improvements.
    - Furthered the Color Correction.
    - Color Correction now has Intelligent Scene Tone Mapping (Takes samples of dark pixels, separately from light pixels, and adjusts them accordingly)
    --------------------
    Updated to 1.1

    - Various code improvements.
    - Some improvements to the FXAA.
    - Added a new FXAA setting, for a subtle, or more aggressive FXAA.
    - Merged the tonemapping, and color correction, for some optimisation.
    - Amended the pseudo pass order of the main, for better merging of the effects.
    - improved the optional bloom glow(in settings) also.
Reply
Nice work Asmodean but that SweetFX's bloom doesn't deserve that title Tongue doesn't bleed light, just burns everything up (like levels/contrast adj). Sry for acting like a bloom hoe Laugh but everything else looks/works great.
I'm already using Sweet for pcsx2, works great but will be watching to see what you can do with your shaders. Maybe find someone to make a gui later on an implement it in the next official release.
It's becoming a big thing this - being able to customize the games visuals to better suit your personal vision of perfection. Happy
Reply
NattyDread: That's not spread, those would be offsets, and adding that would increase the number of texture fetches per pixel more than three times. That would be slow and ugly code, I don't like that. Sorry, can't do no more for your request.

@Asmodean: You can use _rcpFrame (1/x, 1/y, 0, 0) to get the texture resolution. Though y seems to be half the value for some reason.
[Image: nbKSK.jpg]
Reply
Just when I thought I found a good shader, PCSX2FXv1 decreased my fps by 10.
It looks good, but the fps drop isn't worth it. :/
Reply




Users browsing this thread: 6 Guest(s)