#elif defined(_COLORADDSUBDIFF_ON)
#define fragColorMode(i) \
albedo.rgb = albedo.rgb + i.color.rgb * _ColorAddSubDiff.x; \
albedo.rgb = lerp(albedo.rgb, abs(albedo.rgb), _ColorAddSubDiff.y); \
albedo.a *= i.color.a;
add모드일때
material.SetVector("_ColorAddSubDiff", new Vector4(1.0f, 0.0f, 0.0f, 0.0f));
Subtractive 모드일때
material.SetVector("_ColorAddSubDiff", new Vector4(-1.0f, 0.0f, 0.0f, 0.0f));
Difference 모드일때
material.SetVector("_ColorAddSubDiff", new Vector4(-1.0f, 1.0f, 0.0f, 0.0f));
이므로
add 모드일때
albedo.rgb = albedo.rgb + i.color.rgb * 1; \
albedo.rgb = lerp(albedo.rgb, abs(albedo.rgb), 0); \
albedo.a *= i.color.a;
Subtractive 모드일때
albedo.rgb = albedo.rgb + i.color.rgb * -1; \
albedo.rgb = lerp(albedo.rgb, abs(albedo.rgb), 0); \
albedo.a *= i.color.a;
Difference 모드일때
albedo.rgb = albedo.rgb + i.color.rgb * -1; \
albedo.rgb = lerp(albedo.rgb, abs(albedo.rgb), 1); \
albedo.a *= i.color.a;
'Shader ' 카테고리의 다른 글
텍스쳐 회전시키기 (0) | 2019.01.11 |
---|---|
Unity 2018 built-in particle shaders 유니티 2018 내장 파티클 쉐이더_4 (0) | 2018.09.24 |
Unity 2018 built-in particle shaders 유니티 2018 내장 파티클 쉐이더_3 (0) | 2018.09.23 |
Unity 2018 built-in particle shaders 유니티 2018 내장 파티클 쉐이더_2 (0) | 2018.09.23 |
Unity 2018 built-in particle shaders 유니티 2018 내장 파티클 쉐이더_1 (0) | 2018.09.22 |
댓글