Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Uniforms.hlsl"
- #include "Samplers.hlsl"
- #include "Transform.hlsl"
- #include "ScreenPos.hlsl"
- #ifdef COMPILEPS
- uniform vec4 cOutlineColor;
- uniform vec2 cOutlineBlurredMaskHInvSize;
- #endif
- // Default LitSolid Vertex Shader impl:
- void VS(float4 iPos : POSITION,
- out float2 vTexCoord : TEXCOORD0,
- out float2 vScreenPos : TEXCOORD1,
- out float4 oPos : OUTPOSITION)
- {
- float3 worldPos = GetWorldPos(iModelMatrix);
- oPos = GetClipPos(worldPos);
- vTexCoord = GetQuadTexCoord(oPos);
- vScreenPos = GetScreenPosPreDiv(oPos);
- }
- void PS(
- float2 iTexCoord : TEXCOORD0,
- float2 iScreenPos : TEXCOORD1,
- float4 iPos : POSITION,
- out float4 oColor : OUTCOLOR0)
- {
- #ifdef MASK
- oColor = vec4(cOutlineColor.rgb, 1.0);
- #endif
- #ifdef BLURH
- float4 rgba = Sample2D(DiffMap, vTexCoord + vec2(0.0, 0.0) * cOutlineBlurredMaskHInvSize)
- + Sample2D(DiffMap, vTexCoord + vec2(-1.0, 0.0) * cOutlineBlurredMaskHInvSize)
- + Sample2D(DiffMap, vTexCoord + vec2(1.0, 0.0) * cOutlineBlurredMaskHInvSize)
- + Sample2D(DiffMap, vTexCoord + vec2(-2.0, 0.0) * cOutlineBlurredMaskHInvSize)
- + Sample2D(DiffMap, vTexCoord + vec2(2.0, 0.0) * cOutlineBlurredMaskHInvSize);
- oColor = rgba * 0.2;
- #endif
- #ifdef BLURV
- float4 rgba = Sample2D(DiffMap, vTexCoord + vec2(0.0, 0.0) * cOutlineBlurredMaskHInvSize)
- + Sample2D(DiffMap, vTexCoord + vec2(0.0, -1.0) * cOutlineBlurredMaskHInvSize)
- + Sample2D(DiffMap, vTexCoord + vec2(0.0, 1.0) * cOutlineBlurredMaskHInvSize)
- + Sample2D(DiffMap, vTexCoord + vec2(0.0, -2.0) * cOutlineBlurredMaskHInvSize)
- + Sample2D(DiffMap, vTexCoord + vec2(0.0, 2.0) * cOutlineBlurredMaskHInvSize);
- oColor = rgba * 0.2;
- #endif
- #ifdef OUTPUT
- float4 blurredMask = texture2D(DiffMap, vTexCoord);
- float4 mask = texture2D(NormalMap, vTexCoord);
- float4 viewport = texture2D(SpecMap, vTexCoord);
- blurredMask = clamp(blurredMask - mask.a, 0.0, 1.0);
- blurredMask *= 3.0;
- oColor = viewport * (1.0 - blurredMask.a) + blurredMask;
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement