summaryrefslogtreecommitdiffstats
path: root/yum_pbr.cginc
diff options
context:
space:
mode:
Diffstat (limited to 'yum_pbr.cginc')
-rw-r--r--yum_pbr.cginc16
1 files changed, 13 insertions, 3 deletions
diff --git a/yum_pbr.cginc b/yum_pbr.cginc
index 8b4d8e3..93c615d 100644
--- a/yum_pbr.cginc
+++ b/yum_pbr.cginc
@@ -1,8 +1,10 @@
#ifndef __YUM_PBR
#define __YUM_PBR
+#include "features.cginc"
#include "filamented.cginc"
#include "globals.cginc"
+#include "texture_utils.cginc"
struct YumPbr {
float4 albedo;
@@ -19,12 +21,16 @@ YumPbr GetYumPbr(v2f i) {
#if defined(OUTLINE_PASS)
result.albedo = _Outline_Color;
- result.albedo.a *= tex2D(_MainTex, i.uv01).a;
+ result.albedo.a *= tex2D(_MainTex,
+ UV_SCOFF(i, _MainTex_ST, /*which_channel=*/0)).a;
#else
- result.albedo = tex2D(_MainTex, i.uv01) * _Color;
+ result.albedo = tex2D(_MainTex,
+ UV_SCOFF(i, _MainTex_ST, /*which_channel=*/0)) * _Color;
#endif
- float3 normal_raw = UnpackScaleNormal(tex2D(_BumpMap, i.uv01), _BumpScale);
+ float3 normal_raw = UnpackScaleNormal(
+ tex2D(_BumpMap, UV_SCOFF(i, _BumpMap_ST, /*which_channel=*/0)),
+ _BumpScale);
float3x3 tangentToWorld = float3x3(i.tangent, i.binormal, i.normal);
result.normal = normalize(mul(normal_raw, tangentToWorld));
@@ -35,7 +41,11 @@ YumPbr GetYumPbr(v2f i) {
result.metallic = _Metallic;
+#if defined(_AMBIENT_OCCLUSION)
result.ao = lerp(1, tex2D(_OcclusionMap, i.uv01), _OcclusionStrength);
+#else
+ result.ao = 1;
+#endif
return result;
}