Graphic mod ENBSeries / patch ENBoost 0.217
Added support of shader parameters precision via "UIStep" annotation. Added support of shader techniques names via "UIName" annotations to allow users select shaders. Ask preset makers to adopt their code to new features.
What actually you can do with this? UIStep is not very useful thing, but i did it by request, here is an example of shader parameter with annotations, which is visible in editor:
Code: Select all
float EParameter
<
string UIName="Parameter name";
string UIWidget="Spinner";
float UIMin=0.0;
float UIMax=100.0;
float UIStep=1.0;
> = {0.0};
UIStep only supported for float variables and ignored for others.
"UIStep" and "uistep" are the same.
Changes to techniques are much more useful for players and for preset makers, because it allow to add many different shaders without recompiling of the shader code (manually editing). For example default "Draw" technique of enbsunsprite.fx shader can be expanded to other, any kind, like this:
Code: Select all
//default technique
technique Draw
{
//some passes and shaders
}
//extra technique
technique Anamorph <string UIName="Anamorphic";>
{
//some extra passes and shaders
}
Multipass shaders also supported, you can use "PostProcess", "PostProcess2", "PostProcess3", etc together with declared technique like "PostBlur", "PostBlur2", "PostBlur3", etc and digits of the pass will be added automatically to selected technique.
Maximal number of techniques are 256, but this limitation is only for declared techniques, so "PostProcess" and "PostBlur" use only two techniques, not including "PostProcess2", "PostBlur2", etc.
"BloomPostPass" is default technique for bloom.
"PostProcess" is default technique for enbeffectprepass.fx and effect.txt (why nobody did yet cell shading or anything like that in enbeffectprepass? it's not for dof only).
"Draw" is default technique in enbsunsprite.fx
"Shader_D6EC7DD1" is default technique in enbeffect.fx
Well, i hope this will give much more space for effects. Now thinking how better to remove lenz reflections from bloom (as they use blurred image from bloom) and may be to change standart of multipass shaders by adding new texture, which is source from first pass (at cost of vram of course).