summaryrefslogtreecommitdiffstats
path: root/2ner.cginc
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2025-02-11 16:54:10 -0800
committeryum <yum.food.vr@gmail.com>2025-02-11 16:54:10 -0800
commit20c32dcb055058b770062b7e9dd07f79d33a8caa (patch)
treea712206014334ab41a012c2cc27086c5f0591c45 /2ner.cginc
parent2dcf39113fab3aac8fe280f3b0ead9cf87fa958d (diff)
Add code
Implement basic diffuse and specular BRDF based heavily on silent's filamented shader.
Diffstat (limited to '2ner.cginc')
-rw-r--r--2ner.cginc44
1 files changed, 44 insertions, 0 deletions
diff --git a/2ner.cginc b/2ner.cginc
new file mode 100644
index 0000000..656e79f
--- /dev/null
+++ b/2ner.cginc
@@ -0,0 +1,44 @@
+#ifndef __2NER_INC
+#define __2NER_INC
+
+#include "UnityCG.cginc"
+#include "UnityLightingCommon.cginc"
+
+#include "globals.cginc"
+#include "interpolators.cginc"
+#include "poi.cginc"
+#include "yum_brdf.cginc"
+#include "yum_pbr.cginc"
+#include "yum_lighting.cginc"
+
+v2f vert (appdata v) {
+ v2f o;
+
+ o.pos = UnityObjectToClipPos(v.vertex);
+ o.uv = TRANSFORM_TEX(v.uv, _MainTex);
+ o.worldPos = mul(unity_ObjectToWorld, v.vertex);
+
+ // Calculate TBN matrix
+ o.normal = UnityObjectToWorldNormal(v.normal);
+ o.tangent = UnityObjectToWorldDir(v.tangent.xyz);
+ o.bitangent = cross(o.normal, o.tangent) * v.tangent.w;
+
+ return o;
+}
+
+float4 frag (v2f i) : SV_Target {
+ YumPbr pbr = GetYumPbr(i);
+
+ UNITY_BRANCH
+ if (_Mode == 1) {
+ clip(pbr.albedo.a - _Clip);
+ }
+
+ YumLighting l = GetYumLighting(i, pbr);
+
+ float4 lit = YumBRDF(i, l, pbr);
+
+ return lit;
+}
+
+#endif // __2NER_INC