add gs
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
#if defined(PIN_HQ)
|
||||
#define PIN_SURFACE
|
||||
#include "default.hlsl"
|
||||
|
||||
#define CFG_TEXTURE_TILING 1
|
||||
|
||||
#define CFG_BUMP_INTENSITY 0.5
|
||||
|
||||
#define CFG_SPECULAR 0.4
|
||||
#define CFG_GLOSS 9
|
||||
|
||||
#define CFG_NORMAL_SHADOW_SCALE 0.1
|
||||
|
||||
Surface surfaceShader(SurfaceInput IN, float fade)
|
||||
{
|
||||
float4 studs = tex2D(DiffuseMap, IN.UvStuds);
|
||||
float3 normal = nmapUnpack(tex2D(NormalMap, IN.UvStuds));
|
||||
|
||||
float3 noise = nmapUnpack(tex2D(NormalDetailMap, IN.Uv * (CFG_TEXTURE_TILING)));
|
||||
|
||||
float noiseScale = saturate0(IN.Color.a * 2 * (CFG_BUMP_INTENSITY) - 1 * (CFG_BUMP_INTENSITY));
|
||||
|
||||
#ifdef PIN_REFLECTION
|
||||
noiseScale *= saturate(1 - 2 * IN.Reflectance);
|
||||
#endif
|
||||
|
||||
normal.xy += noise.xy * noiseScale;
|
||||
|
||||
normal.xy *= fade;
|
||||
|
||||
Surface surface = (Surface)0;
|
||||
surface.albedo = IN.Color.rgb * studs.rgb * 2;
|
||||
surface.normal = normal;
|
||||
surface.specular = (CFG_SPECULAR);
|
||||
surface.gloss = (CFG_GLOSS);
|
||||
|
||||
#ifdef PIN_REFLECTION
|
||||
surface.reflectance = IN.Reflectance;
|
||||
#endif
|
||||
|
||||
return surface;
|
||||
}
|
||||
#else
|
||||
#define PIN_PLASTIC
|
||||
#include "default.hlsl"
|
||||
#endif
|
||||
Reference in New Issue
Block a user