Same with weights where he does not use position 0. So what was the point of the array positions 0, 1 and from 6 and up? So he will get 4 loops before exit and because he uses ++i, i will be for those loops 2, 3, 4, and 5. So i is initialized to 1 and must be less than 5. Int sampleOffsetsX = So he is setting up two arrays (I would have used one array of float2's but OK) with a length of 25 Similarly you could get the DisplayName, MinValue and MaxValue from the shadercode using shader annotations and the Type from the variable type itself. most values are defined using annotations. There are very few things that are hardcoded. Uniform float frametime // time in milliseconds it took for the last frame to complete I suggest you do the same.Īn example from the SweetFX 2.0 closed beta :
#HOW TO USE SWEETFX SHADER SUITE CODE#
Here the type is a float3 and I expressly specify the range for each component, but I could also state it implicitly asĪnd it would use the -10.00 to 10.00 range for each component.įor SweetFX 2.0 the settings file is the same but Crosire and I use shader annotations to allow the shader code to communicate with the program running them. "," is a delimiter that is used when the value is a float2, float3 or float4 (or other multi component type) "to" is a keyword that the configurator understands The amount of decimal places is a hint to how big any increments to the value should be Here the value is ofcourse 0.15 but means the range is from -1.00 (minvalue) to 1.00 (maxvalue) my skype name is ceejay.dk and is associated with my gmail account.Īll SweetFX effects write the settings in a special format that can be understood both by humans but also the SweetFX configurator or other GUIs. Now with Media Player DotNet you can do multipass!! You can drastically reduce the number needed if you can do 2 passes, use mipmap samples or downsample the original image and sample from that, which would make this filter feasible - but none of these things are possible in MPC-HC as it's single pass only, doesn't enable mipmap and it clears the alpha channel when passing the image from one shader to another so I can't fake 2 passes by making two shaders and chain them (we discussed this earlier in the thread) That unfortunately requires an insane high amount of texture samples which kills performance (it's also too many texture reads for old cards that use shader model 2). exactly what sharpening does, but with a much larger radius and a lower strength. To do this you need to do a very large radius blur and subtract that from the current pixel. That type of filter is called Local Contrast Enhancement and it's not feasible with the current features available in MPC-HC. the video shader package is not affected by this because it doesn't use InjectSMAA. I also suspect that running the games that have issues in Vista compatibility mode might force the game to only use DX11 or DX11.1 calls which are supported but I don't have Win8.1 so I need someone who do to test my hypothesis.īut again. These calls are correctly handled by RadeonPro and by the EFX alpha, so if you use SweetFX with them it should work with DX11 and Win8.1.ĭirectX 9 and 10 games should not be affected.
#HOW TO USE SWEETFX SHADER SUITE HOW TO#
The problem is that Windows introduced some new DirectX calls with DX11.2 and the InjectSMAA hook I use does not know how to handle them because it was written before DX11.2 existed. These shaders run using MPC so they are not affected by the problems of the DirectX hook I use for the regular SweetFX package. These are Video Shaders based-on SweetFX, so they're not affected by the injector of SweetFX not supporting DX10/11 on Windows 8.1. Only DX10/11 games/applications are not supported by the injector for now.ĮDIT: Oh, I've forgot. SweetFX supposes to work well with DX9 games/applications on Windows 8.1.