본문 바로가기

Unity/UnityShader

(11)
[UnityShader]MainLight ShadowMap Sampling 메인 라이트 실시간 섀도우 맵 샘플링 코드 Keyword//메인라이트 섀도우#pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN//Lighting.hlsl 인클루드#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" GetMainLight()//FragmentShader//ShadowCoord 생성float4 shadowCoord = TransformWorldToShadowCoord(positionWS);//메인 라이트 할당Light mainLight = GetMainLight(sha..
[UnityShader/HLSL] Simple Sub Surface Scattering Shader "Custom/SSS_Forward_MainLight"{ Properties { _BaseColor("BaseColor", Color) = (1,1,1,1) _Thickness("Subsurface Thickness", Range(0, 1)) = 0.5 _ScatteringFactor("ScatteringFactor", Range(1,4)) = 2 [HDR]_SSSColor("Subsurface Color", Color) = (1, 0.4, 0.3, 1) } SubShader { Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" ..
[HLSL]Henyey-Greenstein Phase Function https://www.oceanopticsbook.info/view/scattering/level-2/the-henyey-greenstein-phase-function The Henyey-Greenstein Phase Function :: Ocean Optics Web Book www.oceanopticsbook.info 개념 빛이 매질을 통과할 때 어느 방향으로 산란되는지 결정하는 확률 분포 함수.- 앞 쪽으로 잘 퍼지는 빛 - Forward Scattering- 모든 방향으로 잘 퍼지는 빛 - Isotropic- 뒤 쪽으로 잘 퍼지는 빛 - Back Scattering   HLSL 코드 float PhaseFunction(float cosTheta, float g){ //cosTheta : 카메라와 ..
[CustomEditor]프로퍼티 #1 보호되어 있는 글입니다.
[HLSL]Tessellation + Displacement ///////////////////////////////////////////////////////////////////////////////////////////////// //Shader Reference: https://catlikecoding.com/unity/tutorials/advanced-rendering/tessellation/ ///////////////////////////////////////////////////////////////////////////////////////////////// Shader "Example/Tessellation" { Properties{ _TessellationUniform("TessellationUniform", Range(1,64)) = 1 _T..
[HLSL] Diffuse Wrap + Shadow Ramp RampTexture의 Wrap Mode 는 Clamp 로 설정. Shader "Example/DiffuseWrap" { Properties { _TintColor("TintColor", Color) = (1,1,1,1) _RampTexture("RampTexture", 2D) = "white"{} _RampThreshold("RampThreshold", Range(0,1)) = 0.5 } SubShader { Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } Pass { HLSLPROGRAM #pragma vertex vert #pragma fragment frag #include "Packages/com.unity.rend..
[HLSL]2 Pass Outline Shader "Example/Outline"{ Properties { _TintColor("TintColor", Color) = (1,1,1,1) _LineColor("LineColor", Color) = (0,0,0,0) _LineWidth("LineWidth", Range(0,1)) = 0.5 } SubShader { Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } Pass { Name "Main" Tags {"LightMode" = "UniversalForward"} ..
[HLSL]Triplanar Shader "Example/Triplanar" { Properties { _BaseTex("BaseTex", 2D) = "white"{} _Sharpen("Sharpen", Range(1,64)) = 1 } SubShader { Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" } Pass { HLSLPROGRAM #pragma vertex vert #pragma fragment frag #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" struct Attributes { float4 positionOS : POSITION; float..