← back

yum-archive/Tooner

A toon shader for Unity's BIRP.

git clone https://git.yummers.dev/yum-archive/Tooner

yumUpdate READMEafc2e44

master
3 folders43 files
languages

files

Editor/
Textures/
Third_Party/
.gitignore16 B
LICENSE1.0 KiB
MochieStandardBRDF.cginc6.9 KiB
MochieStandardSSR.cginc5.9 KiB
MochieStandardSSS.cginc3.2 KiB
README.md2.3 KiB
atrix256.cginc1.6 KiB
audiolink.cginc356 B
aurora.cginc1.4 KiB
clones.cginc3.8 KiB
cnlohr.cginc4.0 KiB
disinfo.cginc2.6 KiB
downstairs_02.cginc30.0 KiB
eyes.cginc7.7 KiB
feature_macros.cginc15.5 KiB
filament_math.cginc13.0 KiB
fog.cginc19.8 KiB
gerstner.cginc6.0 KiB
globals.cginc33.3 KiB
halos.cginc3.4 KiB
interpolators.cginc2.7 KiB
iq_sdf.cginc4.8 KiB
ltcgi.cginc863 B
macros.cginc271 B
math.cginc7.8 KiB
mochie_shadow_caster.cginc5.2 KiB
motion.cginc1.7 KiB
noise.cginc1.8 KiB
oklab.cginc3.7 KiB
pbr.cginc14.1 KiB
pbr_overlay.cginc16.3 KiB
pema99.cginc1.3 KiB
poi.cginc5.0 KiB
shear_math.cginc1.8 KiB
texture_macros.cginc6.0 KiB
tone.cginc1.8 KiB
tone_iq.cginc1.6 KiB
tooner.shader72.7 KiB
tooner_lighting.cginc87.9 KiB
tooner_outline_pass.cginc12.9 KiB
tooner_scroll.cginc1004 B
trochoid_math.cginc7.1 KiB
zwrite_abomination.cginc12.3 KiB

Tooner

My toon shader for VRChat. I use this on my personal and commercial models. It's semi optimized and a little scuffed.

Bistro demo

NOTE: this repo is archived. Development has moved to 2ner.

Features (maybe out of date):

Disclaimers:

  1. This is a WIP.
  2. I am not a graphics expert.
  3. Stability is a non-goal. Keywords are likely to change in the interest of performance and simplicity.
  4. This is not a supported product. Support is only provided when used in conjunction with one of my commercially available products.

To use it, import the git repo into your project's Assets folder then select the shader yum_food/tooner_inlined. To generate a new inlined shader from sources, select Tools/yum_food/Shader Inliner and point it at your Tooner.shader.

Strawman FAQ

  1. Why create another toon shader?

To deepen my understanding of lighting and to have a "simple" foundation on top of which to create bespoke shader effects. lilToon and Poiyomi are both way too fucking huge and complicated to fit my needs.

  1. Does it work?

Yes.

  1. Is it optimized?

Somewhat.

I use static keywords on every feature, so you don't pay for anything you don't use. I use branchless programming wherever appropriate. I do make extensive use of dynamic branching where I know it won't induce thread divergence.

The goal is to strike a balance between performance and readability. Golfing away nanoseconds is not something I want to spend my limited time on Earth doing.

  1. Demos?

TODO. See the screenshot at the top of the page for now.