{"id":2094,"date":"2026-08-24T19:34:10","date_gmt":"2026-08-24T19:34:10","guid":{"rendered":"https:\/\/wayhope.kro.kr\/?p=2094"},"modified":"2026-08-31T07:32:59","modified_gmt":"2026-08-31T07:32:59","slug":"unity-shader-%ed%95%b5%ec%8b%ac-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/wayhope.kro.kr\/?p=2094","title":{"rendered":"Unity Shader \ud575\uc2ec \uc815\ub9ac"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uac8c\uc784 \uadf8\ub798\ud53d\uc744 \ub2e4\ub8e8\ub2e4 \ubcf4\uba74 \uacb0\uad6d Shader\ub97c \ub9cc\ub098\uac8c \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Material\uc758 \uc0c9\uc744 \ubc14\uafb8\ub294 \uac83\ubd80\ud130 \uc2dc\uc791\ud574\uc11c \ud22c\uba85\ub3c4, \ud14d\uc2a4\ucc98, \ubc95\uc120, \uc870\uba85, \uadf8\ub9bc\uc790, \ud6c4\ucc98\ub9ac, \ubb3c, Dissolve, Outline \uac19\uc740 \ub300\ubd80\ubd84\uc758 \uadf8\ub798\ud53d \ud6a8\uacfc\ub294 Shader\uc640 \uc5f0\uacb0\ub418\uc5b4 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\uc5d0\uc11c Shader\ub97c \uc774\ud574\ud558\ub824\uba74 \ub2e8\uc21c\ud788 \ucf54\ub4dc\ub97c \uc791\uc131\ud558\ub294 \uac83\ubcf4\ub2e4 <strong>GPU\uac00 \uc5b4\ub5a4 \ub370\uc774\ud130\ub97c \ubc1b\uc544 \uc5b4\ub5a4 \uacfc\uc815\uc744 \uac70\uccd0 \ud654\uba74\uc5d0 \ud53d\uc140\uc744 \ucd9c\ub825\ud558\ub294\uc9c0<\/strong>\ub97c \uba3c\uc800 \uc774\ud574\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unity 6\uc5d0\uc11c\ub294 \ud2b9\ud788 Built-in Render Pipeline\uc758 \uc624\ub798\ub41c Shader \ubb38\ubc95\uacfc URP\/HDRP \uae30\ubc18\uc758 Shader \uad6c\uc870\ub97c \uad6c\ubd84\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud575\uc2ec \ud750\ub984\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Mesh -&gt; Vertex Shader -&gt; Rasterization -&gt; Fragment Shader -&gt; Frame Buffer -&gt; Screen\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Unity Shader\ub294 \uc774 GPU Pipeline\uc758 \uc77c\ubd80\ub97c \ud504\ub85c\uadf8\ub798\uba38\uac00 \uc815\uc758\ud558\ub294 \ucf54\ub4dc\ub77c\uace0 \ubcf4\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shader\ub780<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shader\ub294 GPU\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \ud504\ub85c\uadf8\ub7a8\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CPU\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \uc77c\ubc18\uc801\uc778 C# \ucf54\ub4dc\uc640 \ub2ec\ub9ac Shader\ub294 GPU\uc758 \ubcd1\ub82c \ucc98\ub9ac \uad6c\uc870\ub97c \ud65c\uc6a9\ud574 \uc218\ub9ce\uc740 Vertex\uc640 Pixel\uc744 \ub3d9\uc2dc\uc5d0 \uacc4\uc0b0\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uce90\ub9ad\ud130\uc758 Mesh\uac00 10\ub9cc \uac1c\uc758 Vertex\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4\uba74 Vertex Shader\ub294 \uac01 Vertex\uc758 \uc704\uce58, UV, Normal \ub4f1\uc758 \uc815\ubcf4\ub97c \uae30\ubc18\uc73c\ub85c \ud654\uba74\uc5d0 \ud45c\uc2dc\ub420 \uc704\uce58\ub97c \uacc4\uc0b0\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ud6c4 Rasterization \uacfc\uc815\uc744 \uac70\uccd0 Fragment\uac00 \uc0dd\uc131\ub418\uace0 Fragment Shader\uc5d0\uc11c \ucd5c\uc885 \uc0c9\uc0c1\uc744 \uacc4\uc0b0\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Mesh Data -&gt; Vertex Shader -&gt; Rasterization -&gt; Fragment Shader -&gt; Final Color\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c Shader\uc758 \ud575\uc2ec \uc5ed\ud560\uc740 \ud06c\uac8c \ub450 \uac00\uc9c0\ub85c \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vertex Shader -&gt; Vertex\uc758 \uc704\uce58\uc640 \uad00\ub828 \ub370\uc774\ud130 \uacc4\uc0b0\nFragment Shader -&gt; \ud654\uba74\uc5d0 \ucd9c\ub825\ud560 \uc0c9\uc0c1 \uacc4\uc0b0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc2e4\uc81c \ub80c\ub354\ub9c1 \uacfc\uc815\uc5d0\uc11c\ub294 \uc774\ubcf4\ub2e4 \ud6e8\uc52c \ub9ce\uc740 \ub2e8\uacc4\uac00 \uc874\uc7ac\ud558\uc9c0\ub9cc Shader\ub97c \uc774\ud574\ud558\uae30 \uc704\ud55c \ud575\uc2ec\uc740 \uc774 \ub450 \ub2e8\uacc4\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">GPU Rendering Pipeline<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shader\ub97c \uc81c\ub300\ub85c \uc774\ud574\ud558\ub824\uba74 \uba3c\uc800 \ub80c\ub354\ub9c1 \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc54c\uc544\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc778 \ud750\ub984\uc744 \ub2e8\uc21c\ud654\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CPU -&gt; Draw Call -&gt; GPU -&gt; Vertex Processing -&gt; Rasterization -&gt; Fragment Processing -&gt; Frame Buffer -&gt; Display\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">CPU\ub294 GPU\uc5d0\uac8c Mesh\ub97c \ub80c\ub354\ub9c1\ud558\ub77c\ub294 \uba85\ub839\uc744 \uc804\ub2ec\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GPU\ub294 Vertex Shader\ub97c \uc2e4\ud589\ud574 Vertex\ub97c \ucc98\ub9ac\ud558\uace0, \ucc98\ub9ac\ub41c Vertex\ub97c \uae30\ubc18\uc73c\ub85c \uc0bc\uac01\ud615\uc744 \uad6c\uc131\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub2e4\uc74c Rasterization\uc744 \ud1b5\ud574 \uc0bc\uac01\ud615\uc774 \ud654\uba74\uc758 \uc5b4\ub5a4 Pixel\uc5d0 \ud574\ub2f9\ud558\ub294\uc9c0 \uacc4\uc0b0\ud558\uace0 Fragment Shader\ub97c \uc2e4\ud589\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ucd5c\uc885\uc801\uc73c\ub85c \uacc4\uc0b0\ub41c \uc0c9\uc0c1\uc774 Frame Buffer\uc5d0 \uae30\ub85d\ub41c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Vertex Shader<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vertex Shader\ub294 Mesh\uc758 Vertex \ub2e8\uc704\ub85c \uc2e4\ud589\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 \ub370\uc774\ud130\ub97c \ub2e4\ub8ec\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Position\nNormal\nTangent\nUV\nColor\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \uc5ed\ud560\uc740 Object Space\uc758 Vertex \uc704\uce58\ub97c Clip Space\ub85c \ubcc0\ud658\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ub150\uc801\uc73c\ub85c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ud750\ub984\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Object Space -&gt; World Space -&gt; View Space -&gt; Clip Space\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\uc5d0\uc11c\ub294 Transform Matrix\ub97c \ud1b5\ud574 \uc774 \ubcc0\ud658\uc774 \uc774\ub8e8\uc5b4\uc9c4\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vertex Position\n-&gt; Object To World\n-&gt; World To View\n-&gt; View To Projection\n-&gt; Clip Space\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Vertex Shader\uc5d0\uc11c\ub294 \uc704\uce58\ubfd0\ub9cc \uc544\ub2c8\ub77c Fragment Shader\uc5d0\uc11c \uc0ac\uc6a9\ud560 \ub370\uc774\ud130\ub97c \ud568\uaed8 \ub118\uae38 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 UV\ub97c \ub118\uae38 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vertex Shader\n-&gt; Position \uacc4\uc0b0\n-&gt; UV \uc804\ub2ec\n-&gt; Normal \uc804\ub2ec\n-&gt; Color \uc804\ub2ec\n-&gt; Fragment Shader\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Fragment Shader<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Fragment Shader\ub294 Rasterization \uc774\ud6c4 \uc0dd\uc131\ub41c Fragment\ub97c \ucc98\ub9ac\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc73c\ub85c \ud654\uba74\uc5d0 \ud45c\uc2dc\ub420 \uc0c9\uc0c1\uc744 \uacc4\uc0b0\ud558\ub294 \uc5ed\ud560\uc744 \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Texture\n+ Color\n+ Lighting\n+ Normal\n+ Other Parameters\n-&gt; Fragment Shader\n-&gt; Final Color\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ub2e8\uc21c\ud55c \ud14d\uc2a4\ucc98 Shader\ub77c\uba74 UV \uc88c\ud45c\ub97c \uc0ac\uc6a9\ud574 Texture\uc5d0\uc11c \uc0c9\uc0c1\uc744 \uc77d\uace0 \uadf8 \uac12\uc744 \ucd9c\ub825\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>UV -&gt; Texture Sampling -&gt; Color -&gt; Output\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc5d0 \uc870\uba85 \uacc4\uc0b0\uc774 \ucd94\uac00\ub418\uba74 \ud6e8\uc52c \ubcf5\uc7a1\ud574\uc9c4\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Texture\n+ Normal\n+ Light Direction\n+ View Direction\n+ Material Parameters\n-&gt; Lighting Calculation\n-&gt; Final Color\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Vertex\uc640 Fragment\uc758 \ucc28\uc774<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub458\uc740 \uc11c\ub85c \ub2e4\ub978 \ubaa9\uc801\uc744 \uac00\uc9c4\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\uad6c\ubd84<\/th><th>Vertex Shader<\/th><th>Fragment Shader<\/th><\/tr><\/thead><tbody><tr><td>\uc2e4\ud589 \ub2e8\uc704<\/td><td>Vertex<\/td><td>Fragment<\/td><\/tr><tr><td>\uc8fc\uc694 \uc5ed\ud560<\/td><td>\uc704\uce58 \ubc0f Vertex \ub370\uc774\ud130 \uacc4\uc0b0<\/td><td>\ucd5c\uc885 \uc0c9\uc0c1 \uacc4\uc0b0<\/td><\/tr><tr><td>\uc8fc\uc694 \uc785\ub825<\/td><td>Position, Normal, UV \ub4f1<\/td><td>Interpolated \ub370\uc774\ud130, Texture \ub4f1<\/td><\/tr><tr><td>\ub300\ud45c \uc791\uc5c5<\/td><td>Transform<\/td><td>Texture Sampling, Lighting<\/td><\/tr><tr><td>\uc2e4\ud589 \ud69f\uc218<\/td><td>Vertex \uc218\uc5d0 \ube44\ub840<\/td><td>\ud654\uba74\uc5d0 \uc601\ud5a5\uc744 \uc8fc\ub294 Fragment \uc218\uc5d0 \ube44\ub840<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub798\uc11c Fragment Shader\uc758 \ube44\uc6a9\uc740 \ud2b9\ud788 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud574\uc0c1\ub3c4\uac00 \uc99d\uac00\ud558\uba74 \ucc98\ub9ac\ud574\uc57c \ud560 Fragment\uac00 \ud06c\uac8c \uc99d\uac00\ud558\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">ShaderLab<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\uc5d0\uc11c Shader\ub97c \uc791\uc131\ud560 \ub54c \uc0ac\uc6a9\ud558\ub294 \ub300\ud45c\uc801\uc778 \ubb38\ubc95\uc774 ShaderLab\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ShaderLab \uc790\uccb4\uac00 GPU\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 Shader \uc5b8\uc5b4\ub294 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ShaderLab\uc740 <strong>Unity\uac00 Shader\ub97c \uad6c\uc131\ud558\uace0 \ub80c\ub354\ub9c1 \ud30c\uc774\ud504\ub77c\uc778\uc5d0 \uc5f0\uacb0\ud558\uae30 \uc704\ud55c \uc120\uc5b8 \ubc0f \uc124\uc815 \ubb38\ubc95<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ub150\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc774 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ShaderLab\n-&gt; Shader \uad6c\uc870 \uc815\uc758\n-&gt; Properties \uc815\uc758\n-&gt; Render State \uc124\uc815\n-&gt; Pass \uc815\uc758\n-&gt; HLSL Shader \uc5f0\uacb0\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 Shader\uc758 \uae30\ubcf8 \uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\ud0dc\ub97c \uac00\uc9c4\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Shader \"Custom\/MyShader\"\n{\n    Properties\n    {\n        _Color (\"Color\", Color) = (1, 1, 1, 1)\n    }\n\n    SubShader\n    {\n        Pass\n        {\n            \/\/ HLSL Shader Code\n        }\n    }\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c \uc911\uc694\ud55c \uac83\uc740 ShaderLab\uacfc HLSL\uc758 \uc5ed\ud560\uc774 \ub2e4\ub974\ub2e4\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ShaderLab -&gt; Unity\uc5d0\uac8c Shader\uac00 \uc5b4\ub5bb\uac8c \uad6c\uc131\ub418\ub294\uc9c0 \uc124\uba85\nHLSL -&gt; GPU\uc5d0\uc11c \uc2e4\uc81c \uacc4\uc0b0\uc744 \uc218\ud589\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Properties<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Properties<\/code>\ub294 Unity Editor\uc640 Material\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uac12\uc744 \uc120\uc5b8\ud558\ub294 \uc601\uc5ed\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc774 \uc791\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Properties\n{\n    _Color (\"Color\", Color) = (1, 1, 1, 1)\n    _MainTex (\"Texture\", 2D) = \"white\" {}\n    _Metallic (\"Metallic\", Range(0, 1)) = 0\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uac12\ub4e4\uc740 Material Inspector\uc5d0 \ub178\ucd9c\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Shader Properties -&gt; Material -&gt; Runtime \/ Inspector\uc5d0\uc11c \uac12 \ubcc0\uacbd\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc Properties\uc5d0 \uc120\uc5b8\ud588\ub2e4\uace0 \ud574\uc11c \uc790\ub3d9\uc73c\ub85c GPU \uacc4\uc0b0\uc5d0 \uc0ac\uc6a9\ub418\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shader \ucf54\ub4dc\uc5d0\uc11c \ud574\ub2f9 \uac12\uc744 \uc2e4\uc81c\ub85c \ucc38\uc870\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Material\uacfc Shader\uc758 \uad00\uacc4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shader\uc640 Material\uc744 \ud63c\ub3d9\ud558\uba74 \uc548 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shader\ub294 <strong>\uc5b4\ub5bb\uac8c \ub80c\ub354\ub9c1\ud560\uc9c0 \uc815\uc758\ud558\ub294 \ud504\ub85c\uadf8\ub7a8<\/strong>\uc774\uace0 Material\uc740 <strong>\uadf8 Shader\uc5d0 \uc0ac\uc6a9\ud560 \uac12\uc744 \uc800\uc7a5\ud558\ub294 \uac1d\uccb4<\/strong>\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Shader -&gt; Rendering Logic\nMaterial -&gt; Rendering Parameters\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ud558\ub098\uc758 Shader\uac00 \ub2e4\uc74c\uacfc \uac19\uc740 Property\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4\uace0 \ud558\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>_Color\n_MainTex\n_Metallic\n_Roughness\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Material A\ub294 \ube68\uac04\uc0c9\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uace0 Material B\ub294 \ud30c\ub780\uc0c9\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Shader\n-&gt; Material A -&gt; Red\n-&gt; Material B -&gt; Blue\n-&gt; Material C -&gt; Green\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \uac19\uc740 Shader\ub97c \uc5ec\ub7ec Material\uc774 \uacf5\uc720\ud558\uba74\uc11c \uc11c\ub85c \ub2e4\ub978 \uacb0\uacfc\ub97c \ub9cc\ub4e4\uc5b4\ub0bc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">SubShader<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shader \uc548\uc5d0\ub294 \ud558\ub098 \uc774\uc0c1\uc758 <code>SubShader<\/code>\ub97c \uc815\uc758\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SubShader\ub294 \ud2b9\uc815 \ub80c\ub354\ub9c1 \ud658\uacbd\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc2e4\uc81c \ub80c\ub354\ub9c1 \uad6c\ud604\uc744 \ub2f4\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ub150\uc801\uc73c\ub85c\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Shader\n-&gt; SubShader\n-&gt; Pass\n-&gt; HLSL\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\ub7ec SubShader\ub97c \uc815\uc758\ud560 \uacbd\uc6b0 Unity\ub294 \ud604\uc7ac \ud658\uacbd\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 SubShader\ub97c \uc120\ud0dd\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uad6c\uc870\ub294 \uc11c\ub85c \ub2e4\ub978 GPU \ub610\ub294 \ub80c\ub354\ub9c1 \ud658\uacbd\uc5d0 \ub300\uc751\ud558\uae30 \uc704\ud55c \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ub418\uc5b4 \uc654\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Pass<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Pass<\/code>\ub294 \uc2e4\uc81c \ub80c\ub354\ub9c1 \uc791\uc5c5 \ub2e8\uc704\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\ub098\uc758 Shader\uac00 \ubc18\ub4dc\uc2dc \ud558\ub098\uc758 Pass\ub9cc \uc0ac\uc6a9\ud558\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc740 \uad6c\uc131\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Shader -&gt; Pass 1 \/ Pass 2 \/ Pass 3\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac01 Pass\ub9c8\ub2e4 \uc11c\ub85c \ub2e4\ub978 \ub80c\ub354\ub9c1 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 Outline\uc744 \uad6c\ud604\ud560 \ub54c \ubcc4\ub3c4\uc758 Pass\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 Shadow \uad00\ub828 \ub80c\ub354\ub9c1\uc5d0\uc11c \ubcc4\ub3c4\uc758 Pass\uac00 \uc0ac\uc6a9\ub420 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\ub9cc Pass\uac00 \ub298\uc5b4\ub09c\ub2e4\ub294 \uac83\uc740 \ucd94\uac00\uc801\uc778 \ub80c\ub354\ub9c1 \uc791\uc5c5\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub2e4\ub294 \uc758\ubbf8\uc774\ubbc0\ub85c \uc131\ub2a5 \uce21\uba74\uc5d0\uc11c\ub3c4 \uace0\ub824\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Render State<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shader\ub294 \uc0c9\uc0c1 \uacc4\uc0b0\ubfd0\ub9cc \uc544\ub2c8\ub77c GPU\uc758 \ub80c\ub354\ub9c1 \uc0c1\ud0dc\ub3c4 \uc815\uc758\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 \ud56d\ubaa9\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Blend\nZTest\nZWrite\nCull\nStencil\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub4e4\uc740 Shader \uc790\uccb4\uc758 \uacc4\uc0b0\uc2dd\uacfc\ub294 \ub2e4\ub978 \uac1c\ub150\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HLSL -&gt; \uc0c9\uc0c1 \ubc0f \ub370\uc774\ud130 \uacc4\uc0b0\nRender State -&gt; GPU\uac00 \uacb0\uacfc\ub97c \uc5b4\ub5bb\uac8c \ucc98\ub9ac\ud560\uc9c0 \uacb0\uc815\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Cull<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cull\uc740 Backface Culling\uacfc \uad00\ub828\ub41c \uc124\uc815\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 \uc635\uc158\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Cull Back\nCull Front\nCull Off\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc778 3D Mesh\uc5d0\uc11c\ub294 \ub4b7\uba74\uc744 \ub80c\ub354\ub9c1\ud558\uc9c0 \uc54a\ub294 <code>Cull Back<\/code>\uc774 \ub9ce\uc774 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc591\uba74 \ub80c\ub354\ub9c1\uc774 \ud544\uc694\ud55c \uc78e\uc0ac\uadc0\ub098 \uc885\uc774\uc640 \uac19\uc740 Mesh\uc5d0\uc11c\ub294 <code>Cull Off<\/code>\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Cull Back -&gt; \ub4b7\uba74 \uc81c\uac70\nCull Front -&gt; \uc55e\uba74 \uc81c\uac70\nCull Off -&gt; \uc591\uba74 \ub80c\ub354\ub9c1\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc591\uba74 \ub80c\ub354\ub9c1\uc740 \ud544\uc694 \uc774\uc0c1\uc758 Fragment \ucc98\ub9ac\ub7c9\uc744 \uc99d\uac00\uc2dc\ud0ac \uc218 \uc788\uc73c\ubbc0\ub85c \ubb34\uc870\uac74 \uc0ac\uc6a9\ud558\ub294 \uac83\uc740 \uc88b\uc9c0 \uc54a\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">ZTest\uc640 ZWrite<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uae4a\uc774 \ucc98\ub9ac\ub294 3D \ub80c\ub354\ub9c1\uc5d0\uc11c \ud575\uc2ec\uc801\uc778 \ubd80\ubd84\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ZTest<\/code>\ub294 \ud604\uc7ac Fragment\uac00 \uae30\uc874 Depth \uac12\uacfc \ube44\uad50\ud588\uc744 \ub54c \ud1b5\uacfc\ud560\uc9c0 \uacb0\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ZWrite<\/code>\ub294 \ub80c\ub354\ub9c1 \uacb0\uacfc\uc758 Depth \uac12\uc744 Depth Buffer\uc5d0 \uae30\ub85d\ud560\uc9c0 \uacb0\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ZTest -&gt; Depth \ube44\uad50\nZWrite -&gt; Depth \uae30\ub85d\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubd88\ud22c\uba85 \uc624\ube0c\uc81d\ud2b8\uc5d0\uc11c\ub294 \uc77c\ubc18\uc801\uc73c\ub85c Depth\ub97c \uae30\ub85d\ud558\uace0 \uae4a\uc774 \ud14c\uc2a4\ud2b8\ub97c \uc218\ud589\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc18\uba74 \ud22c\uba85 \uc624\ube0c\uc81d\ud2b8\ub294 \ub80c\ub354\ub9c1 \uc21c\uc11c\uc640 Depth \ucc98\ub9ac \ubc29\uc2dd\uc774 \ubcf5\uc7a1\ud574\uc9c8 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Blend<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Blend\ub294 \uc0c8\ub85c \uacc4\uc0b0\ub41c \uc0c9\uc0c1\uacfc \uae30\uc874 Frame Buffer\uc758 \uc0c9\uc0c1\uc744 \uc5b4\ub5bb\uac8c \ud569\uce60\uc9c0 \uacb0\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud22c\uba85 Shader\uc5d0\uc11c \ub300\ud45c\uc801\uc73c\ub85c \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ub150\uc801\uc73c\ub85c\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Source Color + Destination Color -&gt; Blending -&gt; Final Color\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 Alpha Blending\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\ud0dc\ub85c \ub3d9\uc791\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Final Color = Source * Alpha + Destination * (1 - Alpha)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \ud22c\uba85\ub3c4\ub97c \uad6c\ud604\ud55c\ub2e4\uace0 \ud574\uc11c Fragment Shader\uc5d0\uc11c \ub2e8\uc21c\ud788 Alpha \uac12\uc744 \ubcc0\uacbd\ud558\ub294 \uac83\ub9cc\uc73c\ub85c \ub05d\ub098\ub294 \uac83\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Render Queue, ZWrite, ZTest, Blend \ub4f1\uc774 \ud568\uaed8 \uace0\ub824\ub418\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Render Queue<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\ub294 \uc624\ube0c\uc81d\ud2b8\ub97c \ud2b9\uc815 \uc21c\uc11c\uc5d0 \ub530\ub77c \ub80c\ub354\ub9c1\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc778 Render Queue\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Background\n-&gt; Geometry\n-&gt; AlphaTest\n-&gt; Transparent\n-&gt; Overlay\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc815\ud655\ud55c \uac12\uacfc \uc138\ubd80 \ub3d9\uc791\uc740 \uc0ac\uc6a9\ud558\ub294 Render Pipeline\uc5d0 \ub530\ub77c \ud655\uc778\ud574\uc57c \ud558\uc9c0\ub9cc, \uac1c\ub150\uc801\uc73c\ub85c\ub294 <strong>\uc5b4\ub5a4 \uc624\ube0c\uc81d\ud2b8\ub97c \uba3c\uc800 \ub80c\ub354\ub9c1\ud560 \uac83\uc778\uac00<\/strong>\ub97c \uacb0\uc815\ud558\ub294 \uc2dc\uc2a4\ud15c\uc774\ub77c\uace0 \ubcf4\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud22c\uba85 \uc624\ube0c\uc81d\ud2b8\uac00 \ud2b9\ud788 Render Queue\uc640 \uad00\ub828\uc774 \uae4a\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Opaque -&gt; Transparent\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc77c\ubc18\uc801\uc73c\ub85c \ubd88\ud22c\uba85 \uc624\ube0c\uc81d\ud2b8\ub97c \uba3c\uc800 \ucc98\ub9ac\ud558\uace0 \ud22c\uba85 \uc624\ube0c\uc81d\ud2b8\ub97c \uc774\ud6c4\uc5d0 \ucc98\ub9ac\ud558\ub294 \ubc29\uc2dd\uc774 \uc0ac\uc6a9\ub41c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HLSL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ud604\ub300 Unity Shader\uc5d0\uc11c \uc2e4\uc81c GPU \uc5f0\uc0b0\uc744 \uc791\uc131\ud560 \ub54c \ud575\uc2ec\uc774 \ub418\ub294 \uc5b8\uc5b4\uac00 HLSL\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">HLSL\uc740 Microsoft\uac00 \uac1c\ubc1c\ud55c High-Level Shader Language\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\uc5d0\uc11c\ub294 ShaderLab \ub0b4\ubd80\uc5d0 HLSL \uae30\ubc18 \ucf54\ub4dc\ub97c \uc791\uc131\ud558\uac70\ub098, Shader Graph\uac00 \uc0dd\uc131\ud55c Shader \ucf54\ub4dc\uc5d0\uc11c\ub3c4 HLSL \uae30\ubc18 \uad6c\ud604\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ub150\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ShaderLab -&gt; Shader \uad6c\uc870\uc640 Render State\nHLSL -&gt; GPU \uc5f0\uc0b0\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Vertex \/ Fragment Shader \uad6c\uc870<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ubcf8\uc801\uc778 HLSL Vertex\/Fragment Shader\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\ud0dc\ub85c \uad6c\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>struct Attributes\n{\n    float3 positionOS : POSITION;\n    float2 uv : TEXCOORD0;\n};\n\nstruct Varyings\n{\n    float4 positionCS : SV_POSITION;\n    float2 uv : TEXCOORD0;\n};\n\nVaryings Vert(Attributes input)\n{\n    Varyings output;\n\n    output.positionCS = TransformObjectToHClip(input.positionOS);\n    output.uv = input.uv;\n\n    return output;\n}\n\nhalf4 Frag(Varyings input) : SV_Target\n{\n    return half4(1, 1, 1, 1);\n}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud575\uc2ec \ud750\ub984\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Attributes -&gt; Vertex Shader -&gt; Varyings -&gt; Rasterization -&gt; Fragment Shader -&gt; SV_Target\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Semantic<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">HLSL\uc5d0\uc11c <code>POSITION<\/code>, <code>TEXCOORD0<\/code>, <code>NORMAL<\/code>, <code>SV_POSITION<\/code>, <code>SV_Target<\/code> \uac19\uc740 \uac83\uc744 Semantic\uc774\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GPU\uc640 Shader \uc0ac\uc774\uc5d0\uc11c \ub370\uc774\ud130\uc758 \uc758\ubbf8\ub97c \uc9c0\uc815\ud55c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>float3 positionOS : POSITION;\nfloat2 uv : TEXCOORD0;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub294 Vertex Input\uc5d0\uc11c Position\uacfc UV \ub370\uc774\ud130\ub97c \ubc1b\ub294\ub2e4\ub294 \uc758\ubbf8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc18\ub300\ub85c:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>float4 positionCS : SV_POSITION;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub294 Vertex Shader\uac00 \ucd9c\ub825\ud558\ub294 Clip Space \uc704\uce58\ub97c \uc758\ubbf8\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>POSITION -&gt; Vertex Position\nTEXCOORD0 -&gt; UV\nNORMAL -&gt; Normal\nSV_POSITION -&gt; Vertex Position for Rasterization\nSV_Target -&gt; Render Target Output\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Interpolation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Vertex Shader\uc5d0\uc11c Fragment Shader\ub85c \uc804\ub2ec\ub418\ub294 \uac12\uc740 Vertex \ub2e8\uc704 \ub370\uc774\ud130\uac00 Fragment \ub2e8\uacc4\uc5d0\uc11c \uc790\ub3d9\uc73c\ub85c \ubcf4\uac04\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uc0bc\uac01\ud615\uc758 \uc138 Vertex\uac00 \uac01\uac01 \ub2e4\ub978 \uc0c9\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4\uace0 \ud558\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vertex A -&gt; Red\nVertex B -&gt; Green\nVertex C -&gt; Blue\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Rasterization \uacfc\uc815\uc5d0\uc11c \ub0b4\ubd80 Fragment\uc758 \uc0c9\uc0c1\uc740 \uc8fc\ubcc0 Vertex \uac12\uc744 \uae30\ubc18\uc73c\ub85c \ubcf4\uac04\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Vertex Data -&gt; Rasterization -&gt; Interpolated Data -&gt; Fragment Shader\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">UV \uc5ed\uc2dc \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c \ubcf4\uac04\ub41c\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \ub54c\ubb38\uc5d0 Fragment Shader\uc5d0\uc11c\ub294 \uac01 Pixel\ub9c8\ub2e4 \ubcc4\ub3c4\uc758 UV \uacc4\uc0b0\uc744 \ud558\uc9c0 \uc54a\uc544\ub3c4 Vertex\uc5d0\uc11c \uc804\ub2ec\ud55c UV\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Texture Sampling<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Texture\ub294 Shader\uc5d0\uc11c \uac00\uc7a5 \ud754\ud558\uac8c \uc0ac\uc6a9\ub418\ub294 \ub370\uc774\ud130 \uc911 \ud558\ub098\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ubcf8\uc801\uc778 \ud750\ub984\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>UV -&gt; Texture Sampling -&gt; Texture Color -&gt; Fragment Output\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 Albedo Texture\ub97c \uc0d8\ud50c\ub9c1\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \ud615\ud0dc\uac00 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>half4 color = SAMPLE_TEXTURE2D(_BaseMap, sampler_BaseMap, input.uv);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c \uc911\uc694\ud55c \uac83\uc740 Texture \uc790\uccb4\uc640 UV \uc88c\ud45c\ub97c \uad6c\ubd84\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Texture -&gt; \uc2e4\uc81c \uc774\ubbf8\uc9c0 \ub370\uc774\ud130\nUV -&gt; Texture\uc5d0\uc11c \uc5b4\ub290 \uc704\uce58\ub97c \uc77d\uc744\uc9c0 \uc9c0\uc815\ud558\ub294 \uc88c\ud45c\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Normal<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Normal\uc740 \ud45c\uba74\uc774 \uc5b4\ub290 \ubc29\ud5a5\uc744 \ud5a5\ud558\uace0 \uc788\ub294\uc9c0\ub97c \ub098\ud0c0\ub0b4\ub294 \ubca1\ud130\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc870\uba85 \uacc4\uc0b0\uc5d0\uc11c \ud575\uc2ec\uc801\uc778 \ub370\uc774\ud130\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac00\uc7a5 \uae30\ubcf8\uc801\uc778 Diffuse Lighting\uc740 \ud45c\uba74 Normal\uacfc Light Direction\uc758 \ub0b4\uc801\uc744 \uc774\uc6a9\ud574 \uacc4\uc0b0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ub150\uc801\uc73c\ub85c\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Normal + Light Direction -&gt; Dot Product -&gt; Light Intensity\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub450 \ubca1\ud130\uac00 \uac19\uc740 \ubc29\ud5a5\uc744 \ubc14\ub77c\ubcfc\uc218\ub85d \uac12\uc774 \ucee4\uc9c0\uace0, \uc11c\ub85c \uc218\uc9c1\uc5d0 \uac00\uae4c\uc6cc\uc9c8\uc218\ub85d \uac12\uc774 \uc791\uc544\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c Normal\uc740 \ub2e8\uc21c\ud55c \ubc29\ud5a5 \ub370\uc774\ud130\uac00 \uc544\ub2c8\ub77c <strong>\ud45c\uba74\uc774 \ube5b\uc744 \uc5bc\ub9c8\ub098 \ubc1b\uc744 \uac83\uc778\uc9c0 \uacc4\uc0b0\ud558\uae30 \uc704\ud55c \ud575\uc2ec \uc785\ub825\uac12<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">PBR<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ud604\ub300 Unity\uc758 \ubb3c\ub9ac \uae30\ubc18 \ub80c\ub354\ub9c1\uc5d0\uc11c\ub294 PBR\uc774 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PBR\uc740 Physically Based Rendering\uc758 \uc57d\uc790\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c \ub2e4\uc74c\uacfc \uac19\uc740 Material Parameter\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Base Color\nMetallic\nSmoothness\nNormal\nOcclusion\nEmission\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\uc758 Render Pipeline\uc5d0 \ub530\ub77c \uc815\ud655\ud55c Property \uba85\uce6d\uacfc \uad6c\ud604 \ubc29\uc2dd\uc740 \ub2ec\ub77c\uc9c8 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\uc9c0\ub9cc \uac1c\ub150\uc801\uc778 \uad6c\uc870\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Material Parameters\n+ Surface Normal\n+ Light\n+ View Direction\n-&gt; BRDF \/ Lighting\n-&gt; Final Color\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Shader\ub97c \uacf5\ubd80\ud55c\ub2e4\ub294 \uac83\uc740 \uacb0\uad6d \uc774\ub7f0 \ub80c\ub354\ub9c1 \uacc4\uc0b0\uc744 \uc774\ud574\ud558\ub294 \uacfc\uc815\uc774\uae30\ub3c4 \ud558\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">URP Shader<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unity 6\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \ud504\ub85c\uc81d\ud2b8\ub97c \uad6c\uc131\ud55c\ub2e4\uba74 URP\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">URP\uc5d0\uc11c\ub294 \uacfc\uac70 Built-in Pipeline\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub358 Shader \uad6c\uc870\ub97c \uadf8\ub300\ub85c \uac00\uc838\uc640 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc801\uc808\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 \ub2e4\uc74c \uac1c\ub150\uc744 \uad6c\ubd84\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Built-in Render Pipeline\n-&gt; Legacy ShaderLab \/ Surface Shader\n\nURP\n-&gt; URP Shader \/ HLSL\n-&gt; Shader Graph\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Surface Shader\ub294 Built-in Render Pipeline\uc758 \ub300\ud45c\uc801\uc778 \uae30\ub2a5\uc774\uba70 URP\uc758 \ud604\ub300\uc801\uc778 Shader \uc791\uc131 \ubc29\uc2dd\uacfc \ub3d9\uc77c\ud558\uac8c \uc0dd\uac01\ud558\uba74 \uc548 \ub41c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shader Graph<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9c1\uc811 HLSL\uc744 \uc791\uc131\ud558\uc9c0 \uc54a\uace0 Shader Graph\ub97c \uc0ac\uc6a9\ud574 Shader\ub97c \ub9cc\ub4e4 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shader Graph\ub294 \ub178\ub4dc \uae30\ubc18\uc73c\ub85c Shader\uc758 \uc5f0\uc0b0\uc744 \uad6c\uc131\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Input\n-&gt; Mathematical Operation\n-&gt; Texture \/ Normal \/ Lighting\n-&gt; Output\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 Dissolve \ud6a8\uacfc\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uad6c\uc870\ub85c \ub9cc\ub4e4 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Noise Texture -&gt; Threshold -&gt; Alpha Clip -&gt; Surface Output\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Shader Graph\uc758 \uc7a5\uc810\uc740 \ubcf5\uc7a1\ud55c HLSL \ucf54\ub4dc\ub97c \uc9c1\uc811 \uc791\uc131\ud558\uc9c0 \uc54a\uace0\ub3c4 \uc2dc\uac01\uc801\uc73c\ub85c Shader \ub85c\uc9c1\uc744 \uad6c\uc131\ud560 \uc218 \uc788\ub2e4\ub294 \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc18\ub300\ub85c \ub9e4\uc6b0 \uc138\ubc00\ud55c GPU \ucd5c\uc801\ud654\ub098 Pipeline \uc218\uc900\uc758 \uc81c\uc5b4\uac00 \ud544\uc694\ud55c \uacbd\uc6b0\uc5d0\ub294 \uc9c1\uc811 HLSL\uc744 \uc791\uc131\ud574\uc57c \ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shader Keyword\uc640 Variant<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unity Shader\ub97c \ub2e4\ub8f0 \ub54c \uc131\ub2a5\uacfc \ube4c\ub4dc \ud06c\uae30\uc5d0\uc11c \uc911\uc694\ud55c \uac1c\ub150\uc774 Shader Variant\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\ub098\uc758 Shader\uac00 \uc5ec\ub7ec \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud55c\ub2e4\uace0 \ud558\uc790.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Normal Map\nShadow\nEmission\nAdditional Light\nFog\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uac01 \uae30\ub2a5\uc758 \ud65c\uc131\ud654 \uc5ec\ubd80\uc5d0 \ub530\ub77c \uc11c\ub85c \ub2e4\ub978 Shader Variant\uac00 \uc0dd\uc131\ub420 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uae30\ub2a5\uc774 5\uac1c\uc774\uace0 \uac01\uac01 ON\/OFF\ub77c\uba74 \ub2e8\uc21c\ud654\ud588\uc744 \ub54c \ucd5c\ub300 \ub2e4\uc74c\uacfc \uac19\uc740 \uc870\ud569\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2^5 = 32 Variants\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ub2a5\uc774 \uc99d\uac00\ud558\uba74 Variant \uc218\ub294 \ube60\ub974\uac8c \uc99d\uac00\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Keywords -&gt; Variant Combinations -&gt; Build Size \/ Compilation Cost \/ Runtime Selection\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c Shader \uae30\ub2a5\uc744 \ubb34\uc791\uc815 \ud558\ub098\uc758 \uac70\ub300\ud55c Shader\uc5d0 \uc9d1\uc5b4\ub123\ub294 \uac83\uc740 \uc88b\uc9c0 \uc54a\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shader\uc758 \uc131\ub2a5<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shader \uc131\ub2a5\uc744 \ubcfc \ub54c\ub294 CPU \ucf54\ub4dc\uc640 \ub2e4\ub978 \uad00\uc810\uc774 \ud544\uc694\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 Fragment Shader\ub294 \ud654\uba74 \ud574\uc0c1\ub3c4\uc640 Overdraw\uc758 \uc601\ud5a5\uc744 \ud06c\uac8c \ubc1b\ub294\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc608\ub97c \ub4e4\uc5b4 \uac19\uc740 Shader\ub77c\ub3c4 \ub2e4\uc74c \uc0c1\ud669\uc5d0\uc11c\ub294 \ucc98\ub9ac\ub7c9\uc774 \ub2ec\ub77c\uc9c4\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1920x1080 -&gt; \uc57d 207\ub9cc Pixel\n3840x2160 -&gt; \uc57d 829\ub9cc Pixel\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">4K\ub294 Full HD\ubcf4\ub2e4 Pixel \uc218\uac00 \uc57d 4\ubc30\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \ud654\uba74 \uc804\uccb4\ub97c \ucc98\ub9ac\ud558\ub294 Fullscreen Shader\uc758 \ube44\uc6a9\uc740 \ud574\uc0c1\ub3c4\uc5d0 \ubbfc\uac10\ud558\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub610\ud55c \ud22c\uba85 \uc624\ube0c\uc81d\ud2b8\uac00 \uc5ec\ub7ec \uc7a5 \uacb9\uccd0 \uc788\uc73c\uba74 \uac19\uc740 \ud654\uba74 \uc601\uc5ed\uc744 \uc5ec\ub7ec \ubc88 \ucc98\ub9ac\ud558\uac8c \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Transparent A\n-&gt; Transparent B\n-&gt; Transparent C\n-&gt; Fragment Processing \uc99d\uac00\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub97c Overdraw\ub77c\uace0 \ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">ALU\uc640 Texture Sampling<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shader \ube44\uc6a9\uc740 \ub2e8\uc21c\ud788 \ucf54\ub4dc \uc904 \uc218\ub85c \ud310\ub2e8\ud560 \uc218 \uc5c6\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c \uace0\ub824\ud574\uc57c \ud560 \uac83\uc774 ALU \uc5f0\uc0b0\uacfc Texture Sampling\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ALU -&gt; \uc218\ud559 \uc5f0\uc0b0\nTexture Sampling -&gt; Texture Memory Access\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ubcf5\uc7a1\ud55c \uc218\ud559 \uc5f0\uc0b0\uc774 \ub9ce\uac70\ub098 Texture Sampling\uc774 \uc9c0\ub098\uce58\uac8c \ub9ce\uc73c\uba74 Shader \ube44\uc6a9\uc774 \uc99d\uac00\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\uc9c0\ub9cc \uc2e4\uc81c \ube44\uc6a9\uc740 GPU \uc544\ud0a4\ud14d\ucc98, \uba54\ubaa8\ub9ac \uc811\uadfc \ud328\ud134, \ud574\uc0c1\ub3c4, \ubcd1\ubaa9 \uc704\uce58 \ub4f1\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c4\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c \ucd5c\uc801\ud654\uc5d0\uc11c\ub294 \ucd94\uce21\ubcf4\ub2e4 <strong>Profiler\uc640 GPU \ubd84\uc11d \ub3c4\uad6c\ub97c \uc774\uc6a9\ud55c \uce21\uc815<\/strong>\uc774 \uc6b0\uc120\uc774\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shader\uc640 Draw Call<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shader \uc790\uccb4\uac00 Draw Call\uc744 \ubc1c\uc0dd\uc2dc\ud0a4\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud558\uc9c0\ub9cc Material\uacfc Shader \uc124\uc815\uc740 \ub80c\ub354\ub9c1 \ubc30\uce6d\uacfc GPU \ucc98\ub9ac \ud6a8\uc728\uc5d0 \uc601\ud5a5\uc744 \uc904 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ub150\uc801\uc73c\ub85c \ub80c\ub354\ub9c1\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GameObject -&gt; Renderer -&gt; Material -&gt; Shader -&gt; GPU\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\ub7ec \uc624\ube0c\uc81d\ud2b8\uac00 \uc11c\ub85c \ub2e4\ub978 Material\uc744 \uc0ac\uc6a9\ud558\uac70\ub098 Shader \uc0c1\ud0dc\uac00 \ub2ec\ub77c\uc9c0\uba74 \ub80c\ub354\ub9c1\uc744 \ubb36\uae30 \uc5b4\ub824\uc6cc\uc9c8 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\uc758 SRP Batcher\uc640 GPU Instancing \uac19\uc740 \uc2dc\uc2a4\ud15c\uc744 \uc774\ud574\ud558\uba74 \uc774 \uad00\uacc4\uac00 \ub354 \uba85\ud655\ud574\uc9c4\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shader \ucd5c\uc801\ud654 \uae30\ubcf8 \uc6d0\uce59<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Shader \ucd5c\uc801\ud654\ub294 \ubb34\uc870\uac74 \ucf54\ub4dc\ub97c \uc9e7\uac8c \ub9cc\ub4dc\ub294 \uc791\uc5c5\uc774 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uba3c\uc800 \ubcd1\ubaa9\uc744 \ucc3e\uc544\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GPU Profiling -&gt; Bottleneck \ud655\uc778 -&gt; Shader \ubd84\uc11d -&gt; \uc218\uc815 -&gt; \uc7ac\uce21\uc815\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub300\ud45c\uc801\uc73c\ub85c \ud655\uc778\ud560 \uc218 \uc788\ub294 \ud56d\ubaa9\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Fragment Cost\nTexture Sampling\nOverdraw\nShader Variant\nPass Count\nTransparent Rendering\nFullscreen Effect\nMaterial \ubcc0\uacbd\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ud2b9\ud788 \ubaa8\ubc14\uc77c GPU\uc5d0\uc11c\ub294 Desktop GPU\uc640 \ubcd1\ubaa9 \ud2b9\uc131\uc774 \ub2e4\ub97c \uc218 \uc788\uc73c\ubbc0\ub85c \uc2e4\uc81c \ud0c0\uae43 \ub514\ubc14\uc774\uc2a4\uc5d0\uc11c \uce21\uc815\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Shader\ub97c \uc774\ud574\ud558\ub294 \ud575\uc2ec \uad6c\uc870<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unity Shader\ub97c \uacf5\ubd80\ud560 \ub54c\ub294 \uac1c\ubcc4 \ubb38\ubc95\uc744 \uc554\uae30\ud558\uae30\ubcf4\ub2e4 \uacc4\uce35\uc744 \uc7a1\ub294 \uac83\uc774 \uc911\uc694\ud558\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Unity Rendering Pipeline\n-&gt; ShaderLab\n-&gt; Pass\n-&gt; HLSL\n-&gt; Vertex Shader\n-&gt; Rasterization\n-&gt; Fragment Shader\n-&gt; Render Target\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uadf8\ub9ac\uace0 \ub370\uc774\ud130\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ud750\ub978\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Mesh -&gt; Vertex Input -&gt; Vertex Shader -&gt; Varyings -&gt; Rasterization -&gt; Fragment Shader -&gt; Render Target\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Material \ub370\uc774\ud130\ub294 \ubcc4\ub3c4\ub85c \ub4e4\uc5b4\uc628\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Material Properties -&gt; Shader Parameters -&gt; Vertex \/ Fragment Calculation\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucd5c\uc885\uc801\uc73c\ub85c\ub294 \ub2e4\uc74c \uad6c\uc870\ub85c \uc0dd\uac01\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Mesh + Material + Camera + Light -&gt; Render Pipeline -&gt; Shader -&gt; GPU -&gt; Screen\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Built-in\uacfc URP\ub97c \uad6c\ubd84\ud574\uc57c \ud558\ub294 \uc774\uc720<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unity Shader \uad00\ub828 \uc624\ub798\ub41c \uc790\ub8cc\ub97c \ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \ud0a4\uc6cc\ub4dc\ub97c \uc790\uc8fc \ubcfc \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CGPROGRAM\nSurface Shader\nCGINC\nFixed Function\nSetTexture\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0 \uc790\ub8cc\uac00 Shader\uc758 \uc5ed\uc0ac\uc640 \uac1c\ub150\uc744 \uc774\ud574\ud558\ub294 \ub370\ub294 \ub3c4\uc6c0\uc774 \ub418\uc9c0\ub9cc, Unity 6\uc5d0\uc11c \uc0c8\ub85c\uc6b4 Shader\ub97c \uc791\uc131\ud558\ub294 \uae30\uc900\uc73c\ub85c \uadf8\ub300\ub85c \ub530\ub77c\uac00\uba74 \ubb38\uc81c\uac00 \uc0dd\uae38 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud604\uc7ac\ub294 \ud504\ub85c\uc81d\ud2b8\uc758 Render Pipeline\uc744 \uba3c\uc800 \ud655\uc778\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Built-in -&gt; Built-in Shader \uad6c\uc870\nURP -&gt; URP Shader \/ HLSL \/ Shader Graph\nHDRP -&gt; HDRP Shader \uad6c\uc870 \/ Shader Graph \/ HLSL\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub530\ub77c\uc11c &#8220;Unity Shader \ubb38\ubc95&#8221; \ud558\ub098\ub9cc \uacf5\ubd80\ud558\ub294 \ubc29\uc2dd\ubcf4\ub2e4 <strong>\uc5b4\ub5a4 Render Pipeline\uc5d0\uc11c \uc5b4\ub5a4 Shader \uc2dc\uc2a4\ud15c\uc744 \uc0ac\uc6a9\ud558\ub294\uac00<\/strong>\ub97c \uba3c\uc800 \ud655\uc778\ud558\ub294 \uac83\uc774 \ub9de\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ucd5c\uc885 \uc815\ub9ac<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unity Shader\uc758 \ubcf8\uc9c8\uc740 GPU\uc5d0\uac8c <strong>\uc5b4\ub5a4 \ub370\uc774\ud130\ub97c \uc785\ub825\ud558\uace0 \uc5b4\ub5a4 \uacc4\uc0b0\uc744 \uc218\ud589\ud574 \ud654\uba74\uc5d0 \ubb34\uc5c7\uc744 \ucd9c\ub825\ud560 \uac83\uc778\uac00\ub97c \uc815\uc758\ud558\ub294 \uac83<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc804\uccb4 \uad6c\uc870\ub97c \ud558\ub098\ub85c \uc815\ub9ac\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Mesh -&gt; Vertex Shader -&gt; Rasterization -&gt; Fragment Shader -&gt; Render Target -&gt; Screen\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Unity\uc758 \uad00\uc810\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc5f0\uacb0\ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GameObject -&gt; Renderer -&gt; Material -&gt; ShaderLab -&gt; Pass -&gt; HLSL -&gt; GPU\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Shader\ub97c \uc774\ud574\ud558\uae30 \uc704\ud55c \ud575\uc2ec \uac1c\ub150\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Shader\n-&gt; ShaderLab\n-&gt; HLSL\n-&gt; Vertex Shader\n-&gt; Fragment Shader\n-&gt; Texture\n-&gt; UV\n-&gt; Normal\n-&gt; Lighting\n-&gt; Render State\n-&gt; Pass\n-&gt; Render Queue\n-&gt; Shader Variant\n-&gt; GPU Performance\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uae4c\uc9c0 \uc774\ud574\ud558\uba74 Shader \ucf54\ub4dc\ub97c \ub2e8\uc21c\ud788 &#8220;\uadf8\ub798\ud53d \ud6a8\uacfc\ub97c \ub9cc\ub4dc\ub294 \ucf54\ub4dc&#8221;\ub85c \ubcf4\ub294 \ub2e8\uacc4\uc5d0\uc11c \ubc97\uc5b4\ub0a0 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Shader\ub294 \uacb0\uad6d <strong>GPU \ub80c\ub354\ub9c1 \ud30c\uc774\ud504\ub77c\uc778\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ubc1b\uc544 \ubcc0\ud658\ud558\uace0, \ucd5c\uc885\uc801\uc73c\ub85c \ud654\uba74\uc5d0 \uae30\ub85d\ud560 \uacb0\uacfc\ub97c \uacc4\uc0b0\ud558\ub294 \ud504\ub85c\uadf8\ub7a8<\/strong>\uc774\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unity 6\uc5d0\uc11c Shader\ub97c \uc81c\ub300\ub85c \ub2e4\ub8e8\ub824\uba74 \ub2e4\uc74c \uc21c\uc11c\ub85c \uacf5\ubd80\ud558\ub294 \uac83\uc774 \ud6a8\uc728\uc801\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GPU Rendering Pipeline -&gt; ShaderLab -&gt; HLSL -&gt; Vertex\/Fragment -&gt; Texture\/Normal -&gt; Lighting\/PBR -&gt; URP -&gt; Shader Graph -&gt; Shader Optimization\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc21c\uc11c\ub97c \uc7a1\uc544\ub450\uba74 \uc774\ud6c4 Dissolve, Outline, Toon Shader, Water Shader, Post Processing \uac19\uc740 \ud6a8\uacfc\ub97c \uad6c\ud604\ud560 \ub54c\ub3c4 \uac01\uac01\uc758 \ucf54\ub4dc\uac00 \ubb34\uc5c7\uc744 \ud558\uace0 \uc788\ub294\uc9c0 \uad6c\uc870\uc801\uc73c\ub85c \uc774\ud574\ud560 \uc218 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uac8c\uc784 \uadf8\ub798\ud53d\uc744 \ub2e4\ub8e8\ub2e4 \ubcf4\uba74 \uacb0\uad6d Shader\ub97c \ub9cc\ub098\uac8c \ub41c\ub2e4. Material\uc758 \uc0c9\uc744 \ubc14\uafb8\ub294 \uac83\ubd80\ud130 \uc2dc\uc791\ud574\uc11c \ud22c\uba85\ub3c4, \ud14d\uc2a4\ucc98, \ubc95\uc120, \uc870\uba85, \uadf8\ub9bc\uc790, \ud6c4\ucc98\ub9ac, \ubb3c, Dissolve, Outline \uac19\uc740 \ub300\ubd80\ubd84\uc758 \uadf8\ub798\ud53d \ud6a8\uacfc\ub294 Shader\uc640 \uc5f0\uacb0\ub418\uc5b4 \uc788\ub2e4. Unity\uc5d0\uc11c Shader\ub97c \uc774\ud574\ud558\ub824\uba74 \ub2e8\uc21c\ud788 \ucf54\ub4dc\ub97c \uc791\uc131\ud558\ub294 \uac83\ubcf4\ub2e4 GPU\uac00 \uc5b4\ub5a4 \ub370\uc774\ud130\ub97c \ubc1b\uc544 \uc5b4\ub5a4 \uacfc\uc815\uc744 \uac70\uccd0 \ud654\uba74\uc5d0 \ud53d\uc140\uc744 \ucd9c\ub825\ud558\ub294\uc9c0\ub97c \uba3c\uc800 \uc774\ud574\ud574\uc57c \ud55c\ub2e4. Unity 6\uc5d0\uc11c\ub294 \ud2b9\ud788 Built-in Render Pipeline\uc758 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53],"tags":[],"class_list":["post-2094","post","type-post","status-publish","format-standard","hentry","category-game"],"_links":{"self":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2094","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2094"}],"version-history":[{"count":1,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2094\/revisions"}],"predecessor-version":[{"id":2095,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=\/wp\/v2\/posts\/2094\/revisions\/2095"}],"wp:attachment":[{"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wayhope.kro.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}