SweetFX Shader Suite release and discussion thread

Discussion in 'Games, Gaming & Game-demos' started by CeeJay.dk, Sep 23, 2012.

Thread Status:
Not open for further replies.
  1. -=WolverinE=-

    -=WolverinE=- Guest

    Messages:
    76
    Likes Received:
    0
    GPU:
    Asus GTX560Ti DirectCu II
    Really nice work! Thank you for sharing the settings. Could you provide a comparison between the default settings and yours? I can't test it myself.

    @smashly A GUI would be greatly appreciated! I can't really be of help with the coding, but if you decide to release your work I'll definitely use it. :)
     
    Last edited: Oct 10, 2012
  2. CeeJay.dk

    CeeJay.dk Guest

    Messages:
    691
    Likes Received:
    14
    GPU:
    Radeon 6870
    I can't help you with that. You could ask the ENB developer though - he made the dx8 to dx9 wrapper.

    I don't know of other dx8 to dx9 wrappers, and a google search didn't turn up anything useful.

    ENB also has a dx8 native version that runs ENB effects but cannot be used to run SweetFX. I found it here http://www.vietcong.info/portal/downloads.php?cat_id=3

    If you're crazy enough you could also run a dx8 to opengl wrapper and then run a opengl to dx9 wrapper and then inject shaders on top of that but with so many steps where stuff might go wrong I doubt it would work.

    I believe WineD3D can be used on native Windows to wrap dx8 to OpenGL , and then you could run Qindie-gl - but like I said it's very doubtful that it would work.
     
  3. CeeJay.dk

    CeeJay.dk Guest

    Messages:
    691
    Likes Received:
    14
    GPU:
    Radeon 6870
    A GUI would be great.
    Let me give some thought to how I best structure the settings and get back to you.
     
  4. PirateNeilsouth

    PirateNeilsouth Ancient Guru

    Messages:
    1,773
    Likes Received:
    0
    GPU:
    980 OC
    Nice!! thaaaaaaaaaaaanks:thumbup::thumbup::thumbup::thumbup:
     

  5. ochentay4

    ochentay4 Member

    Messages:
    15
    Likes Received:
    0
    GPU:
    Sapphire R9 285 Dual-X OC
    Hi, I cant make SweetFX 1.2 to work on Syndicate. It crashes. I tried moving and copying the files to mutliple locations but it still crashes. Any help?
     
  6. smashly

    smashly Master Guru

    Messages:
    988
    Likes Received:
    0
    GPU:
    2x GTX 560ti / GTX 670
    Thank you for taking the time to even consider my request.
    That alone is much appreciated.
    I'll keep my eye on your thread and future updates to the settings layout before I continue any further with my dynamic generated GUI code.
    My main goal of the GUI being dynamic is it won't need to be re-written from scratch with future changes to SweetFX that add more settings, options, values and descriptions.
     
    Last edited: Oct 11, 2012
  7. WhiteLightning

    WhiteLightning Don Illuminati Staff Member

    Messages:
    30,789
    Likes Received:
    3,961
    GPU:
    Inno3d RTX4070
    Put d3d9.dll and injector.ini in [Syndicate\System\Win32_x86_Release\]

    [​IMG]

    then put all other files in [Syndicate\]

    [​IMG]

    it should work then.
     
  8. WhiteLightning

    WhiteLightning Don Illuminati Staff Member

    Messages:
    30,789
    Likes Received:
    3,961
    GPU:
    Inno3d RTX4070
    Guys how do i remove yellow with tonemap ?

    #define FogColor float3(0.00, 0.00, 2.55) //what color to remove - default is blue
     
  9. smashly

    smashly Master Guru

    Messages:
    988
    Likes Received:
    0
    GPU:
    2x GTX 560ti / GTX 670
    Red + Green = Yellow
    FogColor float3(2.55, 2.55, 0.00)

    Have no idea if it'll remove yellow though.
     
    Last edited: Oct 11, 2012
  10. OrdinaryOregano

    OrdinaryOregano Guest

    Messages:
    433
    Likes Received:
    6
    GPU:
    MSI 1080 Gaming X
    I tried doing one of Assassin's Creed Brotherhood(first timer), some LOD problems in the screenshots but that is unrelated to the mod:
    [​IMG]

    [​IMG]

    I can't seem to find the right balance for AA, so for the timebeing I disabled SMAA and used the game's own AA.



    Here is the config:
    Code:
       /*-----------------------------------------------------------.
      /                      Choose effects                         /
      '-----------------------------------------------------------*/
    
    // Set to 1 for ON or 0 for OFF
    #define USE_SMAA_ANTIALIASING 0
    #define USE_LUMASHARPEN 0 //Also sharpens the antialiased edges which makes them less smooth - I'm working on fixing that.
    #define USE_BLOOM 0       // Bloom makes bright lights bleed their light into their surroundings (relatively high performance cost)
    #define USE_HDR 1        // Not actual HDR - It just tries to mimic an HDR look (relatively high performance cost)
    #define USE_TECHNICOLOR 0 // Attempts to mimic the look of an old movie using the Technicolor three-strip color process (Techicolor Process 4)
    #define USE_TONEMAP 0
    #define USE_VIBRANCE 1    //Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
    #define USE_SEPIA 0
    #define USE_VIGNETTE 0    //Darkens the edges of the image to make it more look like it was shot with a camera lens. May cause banding artifacts.
    #define USE_DITHER 0      //Applies dithering to simulate more colors than your monitor can display. This lessens banding artifacts (mostly caused by vignette)
    
    #define USE_DPX 0         //Unfinished - Should make the image look like it's been converted to DXP Cineon - basically it's another movie-like look similar to technicolor
                              //I think the shader itself works, but the default settings need a lot of work. Maybe you can find some good settings?
    
       /*-----------------------------------------------------------.
      /                  SMAA Anti-aliasing settings                /
      '-----------------------------------------------------------*/
    
    #define SMAA_THRESHOLD 0.12           // (0.08-0.20) Edge detection threshold
    #define SMAA_MAX_SEARCH_STEPS 16      // [0-98] Determines the radius SMAA will search for aliased edges
    #define SMAA_MAX_SEARCH_STEPS_DIAG 8  // [0-16] Determines the radius SMAA will search for diagonal aliased edges
    #define SMAA_CORNER_ROUNDING 10        // [0-100] Determines the percent of antialiasing to apply to corners.
    
    // -- Advanced SMAA settings --
    #define COLOR_EDGE_DETECTION 1        // 1 Enables color edge detection (slower but more acurate) - 0 uses luma edge detection (faster)
    #define SMAA_DIRECTX9_LINEAR_BLEND 0  // Using DX9 HARDWARE? (software version doesn't matter) if so this needs to be 1 - If not, leave it at 0.
    
    
       /*-----------------------------------------------------------.
      /                       LumaSharpen settings                  /
      '-----------------------------------------------------------*/
    // -- Sharpening --
    #define sharp_strength 0.6 // (0.2-2.0)Strength of the sharpening
    #define sharp_clamp 0.035  // [0.0-1.0]Limits maximum amount of sharpening a pixel recieves - Default is 0.035
    
    // -- Advanced sharpening settings --
    #define pattern 2          // Choose a sample pattern [ 1, 2, 3 or 4 ] - 1 = Fast, 2 = Normal, 3 = Wider, 4 = Pyramid shaped.
    #define offset_bias 1.0    // [0.0-6.0](1.0) Offset bias adjusts the radius of the sampling pattern.
                               // I designed the pattern for offset_bias 1.0, but feel free to experiment.
                               
    // -- Debug settings --
    #define splitscreen 0      // Enables the before-and-after splitscreen comparison mode. Left side is before.
    #define show_sharpen 0     // Visualize the strength of the sharpen (multiplied by 4 to see it better)
    
    
       /*-----------------------------------------------------------.
      /                       Bloom settings                        /
      '-----------------------------------------------------------*/
    #define BloomThreshold 20.25
    #define BloomPower 1.446
    #define BloomWidth 0.0142
    
       /*-----------------------------------------------------------.
      /                        HDR settings                         /
      '-----------------------------------------------------------*/
    #define HDRPower 1.50  //Strangely lowering this makes the image brighter
    #define radius2 0.86   //Raising this seems to make the effect stronger and also brighter
    
    
       /*-----------------------------------------------------------.
      /                      TECHNICOLOR settings                   /
      '-----------------------------------------------------------*/
    #define TechniAmount 0.11
    #define TechniPower 2.8
    #define redNegativeAmount 0.88
    #define greenNegativeAmount 0.88
    #define blueNegativeAmount 0.88
    
    
       /*-----------------------------------------------------------.
      /                        Tonemap settings                     /
      '-----------------------------------------------------------*/
    #define Gamma 1.0
    
    #define Exposure 0.0
    
    #define Saturation 0.0
    
    #define Bleach 0.0
    
    #define Defog 0.010  //How much of the color tint to remove
    #define FogColor float3(0.00, 0.00, 2.55) //what color to remove - default is blue
    
    
       /*-----------------------------------------------------------.
      /                       Vibrance settings                     /
      '-----------------------------------------------------------*/
    #define Vibrance 0.4  //Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
    
    
       /*-----------------------------------------------------------.
      /                         Sepia settings                      /
      '-----------------------------------------------------------*/
    #define ColorTone float3(1.40, 1.10, 0.90)
    #define SepiaPower 0.58
    #define GreyPower 0.11  
    
       /*-----------------------------------------------------------.
      /                       Vignette settings                     /
      '-----------------------------------------------------------*/
    #define VignetteRadius 1.00  // lower values = stronger radial effect from center
    #define VignetteAmount -1.00 // Strength of black. -2.00 = Max Black, 1.00 = Max White.
    #define VignetteSlope 8      // How far away from the center the change should start to really grow strong (odd numbers cause a larger fps drop than even numbers)
    #define VignetteCenter float2(0.500, 0.500) // Center of effect.
    
    
       /*-----------------------------------------------------------.
      /                        Dither settings                      /
      '-----------------------------------------------------------*/
    //No settings yet, beyond switching it on or off in the top section.
    
    //Note that checkerboard pattern used by Dither, makes an image harder to compress.
    //This can make your screenshots and videos take up more space.
    
    
    /////////////////////////////////////////////////////////////////
    ///////////////////////// Work in Progress //////////////////////
    /////////////////////////////////////////////////////////////////
    
       /*-----------------------------------------------------------.
      /                      Cineon DPX settings                    /
      '-----------------------------------------------------------*/
    //I have yet to find good default settings for this .. maybe you can?
    float Red = 8.0;   //[1.0 - 15.0]
    float Green = 8.0; //[1.0 - 15.0]
    float Blue = 8.0;  //[1.0 - 15.0]
    
    float ColorGamma = 2.5f;    //[0.1 - 2.5]
    float DPXSaturation = 2.0f; //[0.0 - 8.0]
    
    float RedC = 0.4f;     //[0.6 - 0.2]
    float GreenC  = 0.36f; //[0.6 - 0.2]
    float BlueC = 0.35f;   //[0.6 - 0.2]
    
    float Blend = 0.7f; //[1.0 - 0.0] How strong the effect should be
     
    Last edited: Oct 12, 2012

  11. blaidd

    blaidd Guest

    Messages:
    8
    Likes Received:
    0
    GPU:
    Sapphire HD 7970 OC DualX
    Yeah, that'll work. Used it to remove the golden tint in Deus Ex - HR (not the same values exactly, though)

    Nice =) Yeah, Assassin's Creed 2-Games have a nasty LOD. But since you're using an AMD-Card you could help it a little bit. Using RadeonPro you can force a better texture-LOD ('advanced' tab). Won't help to much with blurry faraway textures, but those closer by will look much better. It's most recognizable with the ground textures and alpha textures like dirt and straw... Don't crank it up to far, though, you'd get flickering textures then. (You have to use negative values to increase quality of course... so don't turn it to far down, is what I mean :rolleyes:)
     
    Last edited: Oct 11, 2012
  12. WhiteLightning

    WhiteLightning Don Illuminati Staff Member

    Messages:
    30,789
    Likes Received:
    3,961
    GPU:
    Inno3d RTX4070
    thanks

    would you mind sharing those settings please ?
     
  13. PandaSushi

    PandaSushi Guest

    Messages:
    39
    Likes Received:
    0
    GPU:
    GTX 780
    Adjust "#define Defog 0.010" will reduce yellow,just use small steps when adjusting (higher values less yellow).
     
  14. blaidd

    blaidd Guest

    Messages:
    8
    Likes Received:
    0
    GPU:
    Sapphire HD 7970 OC DualX
    Sure, they're not perfect though... I'm still tweaking.

    I'm using something like this:

    Code:
    #define Defog 0.056  
    #define FogColor float3(2.04, 1.86, 0.36)
    
    That gets rid of most of the tint, you'll have to find some place with neutral light to see it, which is quite some task, because there are a LOT of colored lights in Deus Ex.

    You can also use DPX-Shader to get rid of the tint, I'm still trying to figure out, what works best. Try setting all the color values to the same like this:

    Code:
    float Red = 11.0;   //[1.0 - 15.0]
    float Green = 11.0; //[1.0 - 15.0]
    float Blue = 11.0;  //[1.0 - 15.0]
    
    then, use the values of the RGB-Contrasts (I assume that's what the C stands for) to get rid of the tint. Try using something like this:

    Code:
    float RedC = 0.43f;     //[0.6 - 0.2]
    float GreenC  = 0.41f; //[0.6 - 0.2]
    float BlueC = 0.32f;   //[0.6 - 0.2]
    
    These work the other way round, so if you want to decrease yellow, you have to increase the values of green and red (or decrease blue) which is just a little bit confusing. Same goes for the strength of the effect (where it says 'Blend'; I assume the lower the value, the less the effect blends with the actual picture, thus increasing strenght)

    You can also use both of course, maybe you can figure out something good, I have trouble finding the right values.

    There's also some nasty side-effects: Loading screens and prerendered movies will look awful, also there's some heavy bluish lighting in some buildings (LIMB-Clinic f.e.), probably used by the developers to counteract their own golden tint and make the image look more white with it enabled...

    Well have fun tweaking...

    Cheers,
    blaidd

    Here's some Pictures of Hard Reset, btw. I used DPX to get rid of the light bluish tint. Tweaked some other values as well, of course. =)

    Before:
    [​IMG]

    After:
    [​IMG]

    Before:
    [​IMG]

    After:
    [​IMG]

    Settings:
    Code:
       /*-----------------------------------------------------------.
      /                      Choose effects                         /
      '-----------------------------------------------------------*/
    // Set to 1 for ON or 0 for OFF
    #define USE_SMAA_ANTIALIASING 0
    #define USE_LUMASHARPEN 1 //Also sharpens the antialiased edges which makes them less smooth - I'm working on fixing that.
    #define USE_BLOOM 1       // Bloom makes bright lights bleed their light into their surroundings (relatively high performance cost)
    #define USE_HDR 0         // Not actual HDR - It just tries to mimic an HDR look (relatively high performance cost)
    #define USE_TECHNICOLOR 1 // Attempts to mimic the look of an old movie using the Technicolor three-strip color process (Techicolor Process 4)
    #define USE_TONEMAP 1
    #define USE_VIBRANCE 1    //Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
    #define USE_SEPIA 0
    #define USE_VIGNETTE 0    //Darkens the edges of the image to make it more look like it was shot with a camera lens. May cause banding artifacts.
    #define USE_DITHER 1      //Applies dithering to simulate more colors than your monitor can display. This lessens banding artifacts (mostly caused by vignette)
    
    #define USE_DPX 1         //Unfinished - Should make the image look like it's been converted to DXP Cineon - basically it's another movie-like look similar to technicolor
                              //I think the shader itself works, but the default settings need a lot of work. Maybe you can find some good settings?
    
       /*-----------------------------------------------------------.
      /                  SMAA Anti-aliasing settings                /
      '-----------------------------------------------------------*/
    
    #define SMAA_THRESHOLD 0.08           // (0.08-0.20) Edge detection threshold
    #define SMAA_MAX_SEARCH_STEPS 98      // [0-98] Determines the radius SMAA will search for aliased edges
    #define SMAA_MAX_SEARCH_STEPS_DIAG 16  // [0-16] Determines the radius SMAA will search for diagonal aliased edges
    #define SMAA_CORNER_ROUNDING 100        // [0-100] Determines the percent of antialiasing to apply to corners.
    
    // -- Advanced SMAA settings --
    #define COLOR_EDGE_DETECTION 1        // 1 Enables color edge detection (slower but more acurate) - 0 uses luma edge detection (faster)
    #define SMAA_DIRECTX9_LINEAR_BLEND 0  // Using DX9 HARDWARE? (software version doesn't matter) if so this needs to be 1 - If not, leave it at 0.
    
    
       /*-----------------------------------------------------------.
      /                       LumaSharpen settings                  /
      '-----------------------------------------------------------*/
    // -- Sharpening --
    #define sharp_strength 0.25 // (0.2-2.0)Strength of the sharpening
    #define sharp_clamp 0.030  // [0.0-1.0]Limits maximum amount of sharpening a pixel recieves - Default is 0.035
    
    // -- Advanced sharpening settings --
    #define pattern 4          // Choose a sample pattern [ 1, 2, 3 or 4 ] - 1 = Fast, 2 = Normal, 3 = Wider, 4 = Pyramid shaped.
    #define offset_bias 1.0    // [0.0-6.0](1.0) Offset bias adjusts the radius of the sampling pattern.
                               // I designed the pattern for offset_bias 1.0, but feel free to experiment.
                               
    // -- Debug settings --
    #define splitscreen 0      // Enables the before-and-after splitscreen comparison mode. Left side is before.
    #define show_sharpen 0     // Visualize the strength of the sharpen (multiplied by 4 to see it better)
    
    
       /*-----------------------------------------------------------.
      /                       Bloom settings                        /
      '-----------------------------------------------------------*/
    #define BloomThreshold 11.12
    #define BloomPower 1.563
    #define BloomWidth 0.268
    
       /*-----------------------------------------------------------.
      /                        HDR settings                         /
      '-----------------------------------------------------------*/
    #define HDRPower 1.10  //Strangely lowering this makes the image brighter
    #define radius2 1.00   //Raising this seems to make the effect stronger and also brighter
    
    
       /*-----------------------------------------------------------.
      /                      TECHNICOLOR settings                   /
      '-----------------------------------------------------------*/
    #define TechniAmount 0.117
    #define TechniPower 3.22
    #define redNegativeAmount 0.88
    #define greenNegativeAmount 0.88
    #define blueNegativeAmount 0.88
    
    
       /*-----------------------------------------------------------.
      /                        Tonemap settings                     /
      '-----------------------------------------------------------*/
    #define Gamma 1.08
    
    #define Exposure -0.17
    
    #define Saturation -0.51
    
    #define Bleach 0.035
    
    #define Defog 0.00  //How much of the color tint to remove
    #define FogColor float3(0.00, 0.00, 2.55) //what color to remove - default is blue
    
    
       /*-----------------------------------------------------------.
      /                       Vibrance settings                     /
      '-----------------------------------------------------------*/
    #define Vibrance 0.419  //Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.
    
    
       /*-----------------------------------------------------------.
      /                         Sepia settings                      /
      '-----------------------------------------------------------*/
    #define ColorTone float3(1.45, 1.35, 1.35)
    #define SepiaPower 3.18
    #define GreyPower 0.81  
    
       /*-----------------------------------------------------------.
      /                       Vignette settings                     /
      '-----------------------------------------------------------*/
    #define VignetteRadius 1.00  // lower values = stronger radial effect from center
    #define VignetteAmount -1.00 // Strength of black. -2.00 = Max Black, 1.00 = Max White.
    #define VignetteSlope 8      // How far away from the center the change should start to really grow strong (odd numbers cause a larger fps drop than even numbers)
    #define VignetteCenter float2(0.500, 0.500) // Center of effect.
    
    
       /*-----------------------------------------------------------.
      /                        Dither settings                      /
      '-----------------------------------------------------------*/
    //No settings yet, beyond switching it on or off in the top section.
    
    //Note that checkerboard pattern used by Dither, makes an image harder to compress.
    //This can make your screenshots and videos take up more space.
    
    
    /////////////////////////////////////////////////////////////////
    ///////////////////////// Work in Progress //////////////////////
    /////////////////////////////////////////////////////////////////
    
       /*-----------------------------------------------------------.
      /                      Cineon DPX settings                    /
      '-----------------------------------------------------------*/
    //I have yet to find good default settings for this .. maybe you can?
    float Red = 10.0;   //[1.0 - 15.0]
    float Green = 10.0; //[1.0 - 15.0]
    float Blue = 10.0;  //[1.0 - 15.0]
    
    float ColorGamma = 0.9f;    //[0.1 - 2.5]
    float DPXSaturation = 1.2f; //[0.0 - 8.0]
    
    float RedC = 0.33f;     //[0.6 - 0.2]
    float GreenC  = 0.37f; //[0.6 - 0.2]
    float BlueC = 0.38f;   //[0.6 - 0.2]
    
    float Blend = 0.397f; //[1.0 - 0.0] How strong the effect should be
    
     
    Last edited: Oct 11, 2012
  15. vejn

    vejn Maha Guru

    Messages:
    1,002
    Likes Received:
    0
    GPU:
    MSI 7870 TF3
    ^
    Not sure but everything is set to 0 in definition. How can be visible changes then?
     

  16. blaidd

    blaidd Guest

    Messages:
    8
    Likes Received:
    0
    GPU:
    Sapphire HD 7970 OC DualX
    You're right^^ that would do nothing besides eating your fps... used it for testing the framerate (losing about 20% with SweetFX enabled, regardless which shaders are used or any at all)
    Forgot to set the values back again, thanks. Fixed.
     
  17. OrdinaryOregano

    OrdinaryOregano Guest

    Messages:
    433
    Likes Received:
    6
    GPU:
    MSI 1080 Gaming X
    Well I tried RadeonPro, doesn't seem to work, and the global settings keep resetting whenever I change anything which results in grainy filter on the games, have to reset it to default all the time and the LOD slider doesn't seem to work, neither does the OCD so I'm guessing it's not detecting the game at all.

    EDIT- Same happening with Ati tray tools...weird.
     
    Last edited: Oct 11, 2012
  18. ochentay4

    ochentay4 Member

    Messages:
    15
    Likes Received:
    0
    GPU:
    Sapphire R9 285 Dual-X OC
    Hi, I did EXACTLY as you showed, and it still crashes. Tried SweetFX 1.1.1 and 1.2 and still crashes. The game runs fine without it, so its got to be something fixable. Any other ideas?
    EDIT1: The only different thing is that I also have a "Content_Spa" folder as I play the game in Spanish.
    EDIT2: I made it work disabling the damn ORIGIN overlay! I'm happy now! Thanks for the help!
     
    Last edited: Oct 11, 2012
  19. CeeJay.dk

    CeeJay.dk Guest

    Messages:
    691
    Likes Received:
    14
    GPU:
    Radeon 6870
    That is an excellent goal and just how I would done it if I had the time to make a GUI myself.

    Doing it this way also means never having to update the program for every SweetFX release I make, and it even allows you to use the same GUI for other shader based programs.
    It would work just as well for ENB if you took the ENB settings out of the effect.txt and put them into a separate settings file.

    Now I've giving it some though and I think that changing most of the shader variable names to match the pattern you mentioned earlier would break the user presets that are based on earlier version and it would make it more work to port settings from FXAAtool to SweetFX.

    So I suggest an alternative:
    Code:
       /*-----------------------------------------------------------.
      /                  SMAA Anti-aliasing settings                /
      '-----------------------------------------------------------*/
    // ( Enabled by setting USE_SMAA_ANTIALIASING to 1 )
    
    #define SMAA_THRESHOLD 0.12           // [0.05-0.25](0.08-0.20) Edge detection threshold
    #define SMAA_MAX_SEARCH_STEPS 16      // [0-98] Determines the radius SMAA will search for aliased edges
    #define SMAA_MAX_SEARCH_STEPS_DIAG 6  // [0-16] Determines the radius SMAA will search for diagonal aliased edges
    #define SMAA_CORNER_ROUNDING 0        // [0-100] Determines the percent of antialiasing to apply to corners.
    
    // -- Advanced SMAA settings --
    #define COLOR_EDGE_DETECTION 1        //[0 or 1] 1 Enables color edge detection (slower but more acurate) - 0 uses luma edge detection (faster)
    #define SMAA_DIRECTX9_LINEAR_BLEND 0  //[0 or 1] Using DX9 HARDWARE? (software version doesn't matter) if so this needs to be 1 - If not, leave it at 0.
    So to identify the toggle for that setting the GUI would search for
    "// ( Enabled by setting "
    What follows is the name of the setting that enables that section.
    The " to 1 )" part is ignored.

    The [] and () ranges I use I defined like this:

    [hard ranges] that tell you what range the value must stay within.
    This mean either values outside of this range are impossible or they yield terrible results that few would ever want to try.

    (soft ranges) are suggested ranges to stay within.
    You can go outside these ranges if you want but you would probably get better results if you didn't.

    For the GUI I suggest ignoring soft ranges to start with and once it worked, then you could implement support for soft ranges as perhaps color coding part of the scale / slider for that setting or some other kind of visualization.

    I think you should also give people to the option to type in the actual value they want as well. Maybe they want finer control than a slider will give them or maybe they DO want to go outside the hard ranges.

    I imagine something like this ascii-art:
    Code:
    (---------||-----------------------------) [0.25]
    Slider to the left - text field to the right.
    The value in the text field changes as you move the slider.
    Maybe it changes color based on the suggested ranges.

    Boolean settings I write as [0 or 1]
    Cases I write as [1, 2, 3 or 4]

    The delimiters are therefore "," and "or" within the "[" and the "]"

    I suggest basing the step size on how many digits precision the ranges have.

    [0.0-1.0] in steps of 0.1
    [0.00-1.00] in steps of 0.01
    [0.000-1.000] in steps of 0.001

    If you feel up for it you could even make a color picker for the color values
    For example :
    #define FogColor float3(0.00, 0.00, 2.55)

    Note that I think i'll change the color inputs to use a more normal 0 - 255 range in the next version rather than the 0.00 to 2.55 range in this.


    I don't have a settings file with the ranges defined for everything yet. I suggest using placeholders until I/we come up with some good ranges to stay within.

    @Everyone : what would be good minimum and maximum for the various settings?

    BTW: If anyone feel I should change the default values for some of the settings let me know.
     
    Last edited: Oct 12, 2012
  20. smashly

    smashly Master Guru

    Messages:
    988
    Likes Received:
    0
    GPU:
    2x GTX 560ti / GTX 670
    Excellent we are almost on the same page in the layout department.

    Precision stepping for controls is great logic. all good.
    Color Picker I call win api for that, but atm I more aiming at getting the basic uniform layout first.
    For Hard range values I think every setting needs them as a Min/Max value that can be used.
    For Soft range values you use the Description to tell the best setting range.
    So basically every setting needs //[] Description here.

    I still really need the settings names to match USE_XXXX for all settings.
    Like you said maybe just a start and end to a block of settings will do:
    Code:
    //START_USE_SMAA_ANTIALIASING
    #define SMAA_THRESHOLD 0.12           // [0.08~0.20] Edge detection threshold
    #define SMAA_MAX_SEARCH_STEPS 16      // [0~98] Determines the radius SMAA will search for aliased edges
    #define SMAA_MAX_SEARCH_STEPS_DIAG 6  // [0~16] Determines the radius SMAA will search for diagonal aliased edges
    #define SMAA_CORNER_ROUNDING 0        // [0~100] Determines the percent of antialiasing to apply to corners.
    
    // -- Advanced SMAA settings --
    #define COLOR_EDGE_DETECTION 1        // [0~1] 1 Enables color edge detection (slower but more acurate) - 0 uses luma edge detection (faster)
    #define SMAA_DIRECTX9_LINEAR_BLEND 0  // [0~1]Using DX9 HARDWARE? (software version doesn't matter) if so this needs to be 1 - If not, leave it at 0.
    //END_USE_SMAA_ANTIALIASING
    Choose Effects (USE_XXXX_) the controls will always be a checkbox, Off unchecked, On checked.

    For Effect Settings ...
    Some changes that would make it a little easier for me to pick strings out for min/max values:
    instead of [xx-xx], maybe use [xx~xx]
    This way I can distinguish between negative min/max values between [] without writing long string checks.
    eg:
    //[-1.000~1.000] Your description here
    Doesn't have to be tilde, but something to represent "to" that is different to "-" when between []

    When using a "," between [] then I'm assuming your using a multi param setting so I make more controls.
    //[0~255, 0~255, 0~255] Your description here.
    I generate 3x Controls with choice of 0 to 255 in each.

    When using values that can be 0 or 1 then use
    //[0~1] Your description here
    I generate 1 control with a choice of 0 or 1

    When using values that can be 1or2or3or4 then use
    //[1~4] Your description here
    I generate 1 control with a choice of 1 to 4

    When using values that can only be 1 or 6 or 92 or 221
    //[1|6|92|221] Your description here
    I create 1 control with a choice of 1 or 6 or 92 or 221

    When using multi param values that can only be 2 or 9 or 64, 6 or 33 or 112, 59 or 61 or 82
    //[2|9|64, 6|33|112, 59|61|82] Your description here.
    I create 3 controls 1st control can select 2 or 9 or 64, 2nd control can select 6 or 33 or 112, 3rd control can .... etc

    As you can see from above things between []:
    "-" = Negative
    "~" = To
    "|" = Or
    "," = Delimiter for multi param settings that require more controls.

    The operator/delimiters you want to use between [] is up to you as long as it's uniform and unique to each situation.
     
    Last edited: Oct 12, 2012
Thread Status:
Not open for further replies.

Share This Page