Fix formatting on shaders
This commit is contained in:
@@ -1,106 +1,116 @@
|
||||
Shader "Oxysoft/Dither" {
|
||||
Properties {
|
||||
_Threshold ("Threshold", Float) = 0.45
|
||||
_Strength ("Strength", Float) = 0.45
|
||||
_Width ("Width", Int) = 0.45
|
||||
_Height ("Height", Int) = 0.45
|
||||
_Dither ("Dither", 2D) = "white" {}
|
||||
_MainTex ("", 2D) = "white" {}
|
||||
Shader "Oxysoft/Dither"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_Threshold("Threshold", Float) = 0.45
|
||||
_Strength("Strength", Float) = 0.45
|
||||
_Width("Width", Int) = 0.45
|
||||
_Height("Height", Int) = 0.45
|
||||
_Dither("Dither", 2D) = "white" {}
|
||||
_MainTex("", 2D) = "white" {}
|
||||
}
|
||||
|
||||
SubShader {
|
||||
SubShader
|
||||
{
|
||||
Lighting Off
|
||||
ZTest Always
|
||||
Cull Off
|
||||
ZWrite Off
|
||||
Fog { Mode Off }
|
||||
|
||||
Pass {
|
||||
CGPROGRAM
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
// Upgrade NOTE: excluded shader from DX11, Xbox360, OpenGL ES 2.0 because it uses unsized arrays
|
||||
#pragma exclude_renderers flash
|
||||
#pragma vertex vert_img
|
||||
#pragma fragment frag
|
||||
#pragma exclude_renderers flash
|
||||
#pragma vertex vert_img
|
||||
#pragma fragment frag
|
||||
#pragma fragmentoption ARB_precision_hint_fastest
|
||||
#include "UnityCG.cginc"
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
uniform float _Threshold;
|
||||
uniform float _Strength;
|
||||
uniform int _Width;
|
||||
uniform int _Height;
|
||||
uniform float _Threshold;
|
||||
uniform float _Strength;
|
||||
uniform int _Width;
|
||||
uniform int _Height;
|
||||
|
||||
uniform sampler2D _Dither;
|
||||
uniform sampler2D _MainTex;
|
||||
uniform sampler2D _Dither;
|
||||
uniform sampler2D _MainTex;
|
||||
|
||||
float luma(fixed3 color) {
|
||||
float luma(fixed3 color)
|
||||
{
|
||||
return dot(color, fixed3(0.299, 0.587, 0.114));
|
||||
}
|
||||
|
||||
float luma(fixed4 color) {
|
||||
float luma(fixed4 color)
|
||||
{
|
||||
return dot(color.rgb, fixed3(0.299, 0.587, 0.114));
|
||||
}
|
||||
|
||||
fixed4 ditherBayer2(fixed2 position, float brightness) {
|
||||
fixed4 ditherBayer2(fixed2 position, float brightness)
|
||||
{
|
||||
int x = fmod(position.x, 4.0);
|
||||
int y = fmod(position.y, 4.0);
|
||||
int y = fmod(position.y, 4.0);
|
||||
|
||||
int index = x + y * 4;
|
||||
float lim = 0.0;
|
||||
int index = x + y * 4;
|
||||
float lim = 0.0;
|
||||
|
||||
if (x < 8) {
|
||||
if (index == 0) lim = 0.0625;
|
||||
if (index == 1) lim = 0.5625;
|
||||
if (index == 2) lim = 0.1875;
|
||||
if (index == 3) lim = 0.6875;
|
||||
if (index == 4) lim = 0.8125;
|
||||
if (index == 5) lim = 0.3125;
|
||||
if (index == 6) lim = 0.9375;
|
||||
if (index == 7) lim = 0.4375;
|
||||
if (index == 8) lim = 0.25;
|
||||
if (index == 9) lim = 0.75;
|
||||
if (index == 10) lim = 0.125;
|
||||
if (index == 11) lim = 0.625;
|
||||
if (index == 12) lim = 1.0;
|
||||
if (index == 13) lim = 0.5;
|
||||
if (index == 14) lim = 0.875;
|
||||
if (index == 15) lim = 0.375;
|
||||
}
|
||||
if (x < 8) {
|
||||
if (index == 0) lim = 0.0625;
|
||||
if (index == 1) lim = 0.5625;
|
||||
if (index == 2) lim = 0.1875;
|
||||
if (index == 3) lim = 0.6875;
|
||||
if (index == 4) lim = 0.8125;
|
||||
if (index == 5) lim = 0.3125;
|
||||
if (index == 6) lim = 0.9375;
|
||||
if (index == 7) lim = 0.4375;
|
||||
if (index == 8) lim = 0.25;
|
||||
if (index == 9) lim = 0.75;
|
||||
if (index == 10) lim = 0.125;
|
||||
if (index == 11) lim = 0.625;
|
||||
if (index == 12) lim = 1.0;
|
||||
if (index == 13) lim = 0.5;
|
||||
if (index == 14) lim = 0.875;
|
||||
if (index == 15) lim = 0.375;
|
||||
}
|
||||
|
||||
if (brightness < lim * _Strength)
|
||||
return 0.0;
|
||||
if (brightness < lim * _Strength)
|
||||
return 0.0;
|
||||
|
||||
return 1.0;
|
||||
return 1.0;
|
||||
}
|
||||
|
||||
fixed3 ditherPattern2(fixed2 position, float brightness) {
|
||||
fixed3 ditherPattern2(fixed2 position, float brightness)
|
||||
{
|
||||
int x = fmod(position.x, _Width);
|
||||
int y = fmod(position.y, _Height);
|
||||
int y = fmod(position.y, _Height);
|
||||
|
||||
float lim = 0.0;
|
||||
|
||||
lim = tex2D(_Dither, fixed2(x, y) / _Width).r;
|
||||
lim = tex2D(_Dither, fixed2(x, y) / _Width).r;
|
||||
|
||||
if (brightness < lim * _Threshold)
|
||||
return _Strength;
|
||||
if (brightness < lim * _Threshold)
|
||||
return _Strength;
|
||||
|
||||
return 1.0;
|
||||
return 1.0;
|
||||
}
|
||||
|
||||
fixed3 ditherBayer(fixed2 position, fixed3 col) {
|
||||
fixed3 ditherBayer(fixed2 position, fixed3 col)
|
||||
{
|
||||
return col * ditherBayer2(position, luma(col));
|
||||
}
|
||||
|
||||
fixed3 ditherPattern(fixed2 position, fixed3 col) {
|
||||
return col * ditherPattern2(position, luma(col));
|
||||
}
|
||||
fixed3 ditherPattern(fixed2 position, fixed3 col)
|
||||
{
|
||||
return col * ditherPattern2(position, luma(col));
|
||||
}
|
||||
|
||||
fixed4 frag (v2f_img i) : COLOR
|
||||
{
|
||||
fixed3 col = tex2D (_MainTex, i.uv).rgb;
|
||||
fixed4 frag(v2f_img i) : COLOR
|
||||
{
|
||||
fixed3 col = tex2D(_MainTex, i.uv).rgb;
|
||||
return fixed4(ditherPattern(i.pos.xy, col), 1.0);
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
|
||||
FallBack "Diffuse"
|
||||
|
||||
Reference in New Issue
Block a user