holopy3/Assets/PlattarExporter/UnityGLTF/Shaders/TextureUtils/GLTFBumpToNormal.shader
Lena Biresch 490ef558ef CleanUp
2021-01-28 13:07:52 +01:00

59 lines
1.2 KiB
Text

Shader "GLTF/BumpToNormal" {
Properties{
_BumpMap ("Noise text", 2D) = "bump" {}
_FlipY("Flip texture Y", Int) = 0
}
SubShader {
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
#include "GLTFColorSpace.cginc"
struct vertInput {
float4 pos : POSITION;
float2 texcoord : TEXCOORD0;
};
struct vertOutput {
float4 pos : SV_POSITION;
float2 texcoord : TEXCOORD0;
};
sampler2D _MetallicGlossMap;
sampler2D _OcclusionMap;
sampler2D _BumpMap;
int _FlipY;
vertOutput vert(vertInput input) {
vertOutput o;
o.pos = UnityObjectToClipPos(input.pos);
o.texcoord.x = input.texcoord.x;
if(_FlipY == 1)
o.texcoord.y = 1.0 - input.texcoord.y;
else
o.texcoord.y = input.texcoord.y;
return o;
}
float4 frag(vertOutput output) : COLOR {
float4 final = half4(0.0, 0.0, 0.0 ,1.0);
float4 bump = srgbToLinear(tex2D(_BumpMap, output.texcoord));
bump.r = sqrt(1.0 - pow(bump.g, 2) - pow(bump.a, 2));
final.r = linearToSrgb1(bump.a);
final.g = bump.g;
final.b = bump.r;
return linearToSrgb(final);
}
ENDCG
}
}
}