diff options
| author | yum <yum.food.vr@gmail.com> | 2025-05-04 13:36:34 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2025-05-04 13:36:34 -0700 |
| commit | 390160e9e1ff5e672918fae0107c786039a3457d (patch) | |
| tree | 3adff5771b63e16652a0c7f220f56e089efff1ff /2ner.cginc | |
| parent | 4066ad88b311a99345e168ad9f31ce9ce86684e9 (diff) | |
Begin work on unigram letter grid
Basic idea is to use a sentencepiece unigram tokenizer to compress text
over the wire. GPU decodes tokens with a LUT.
Diffstat (limited to '2ner.cginc')
| -rw-r--r-- | 2ner.cginc | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -18,6 +18,7 @@ #include "shatter_wave.cginc"
#include "ssfd.cginc"
#include "tessellation.cginc"
+#include "unigram_letter_grid.cginc"
#include "vertex_domain_warping.cginc"
#include "yum_brdf.cginc"
#include "yum_pbr.cginc"
@@ -247,6 +248,16 @@ float4 frag(v2f i, uint facing : SV_IsFrontFace pbr.roughness = lerp(pbr.roughness, letter_grid_output.roughness, letter_grid_output.albedo.a);
#endif
+#if defined(_UNIGRAM_LETTER_GRID)
+ UnigramLetterGridOutput unigram_letter_grid_output = UnigramLetterGrid(i);
+ pbr.albedo.rgb = lerp(pbr.albedo.rgb, unigram_letter_grid_output.albedo,
+ unigram_letter_grid_output.albedo.a);
+ pbr.metallic = lerp(pbr.metallic, unigram_letter_grid_output.metallic,
+ unigram_letter_grid_output.albedo.a);
+ pbr.roughness = lerp(pbr.roughness, unigram_letter_grid_output.roughness,
+ unigram_letter_grid_output.albedo.a);
+#endif
+
[branch]
if (_Mode == 1) {
clip(pbr.albedo.a - _Clip);
@@ -296,6 +307,9 @@ float4 frag(v2f i, uint facing : SV_IsFrontFace #if defined(_LETTER_GRID)
lit.rgb += letter_grid_output.emission * letter_grid_output.albedo.a;
#endif
+#if defined(_UNIGRAM_LETTER_GRID)
+ lit.rgb += unigram_letter_grid_output.emission * unigram_letter_grid_output.albedo.a;
+#endif
UNITY_EXTRACT_FOG_FROM_EYE_VEC(i);
UNITY_APPLY_FOG(_unity_fogCoord, lit.rgb);
|
