{"id":16010,"date":"2025-05-10T08:58:53","date_gmt":"2025-05-09T23:58:53","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=16010"},"modified":"2025-05-10T16:10:48","modified_gmt":"2025-05-10T07:10:48","slug":"%ec%9d%b4%ec%9b%83-%ea%b2%a9%ec%9e%90-%eb%b0%96%ec%9c%bc%eb%a1%9c-%ec%b6%9c%eb%a0%a5%eb%90%9c-%ea%b2%b0%ea%b3%bc%ec%97%90-%eb%8c%80%ed%95%9c-%ec%9e%90%ec%97%b0%ec%8a%a4%eb%9f%ac%ec%9a%b4-%ec%b2%98","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=16010","title":{"rendered":"\uc774\uc6c3 \uaca9\uc790 \ubc16\uc73c\ub85c \ucd9c\ub825\ub41c \uacb0\uacfc\uc5d0 \ub300\ud55c \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \ucc98\ub9ac"},"content":{"rendered":"<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"glsl\">\r\n  ..\r\n  \r\n  float n = Hash21(id);\r\n  col += Star(gv - vec2(n, fract(n * 34.)) + .5, 1.);\r\n  \r\n  ..\r\n<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2025\/05\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2025-05-10-08.55.09.png\" alt=\"\" width=\"1548\" height=\"1118\" class=\"aligncenter size-full wp-image-16011\" \/><\/p>\n<p>\uc704\uc758 \uacb0\uacfc\ub97c \ubcf4\uba74 \uaca9\uc790 \ud558\ub098\uc5d0 \ub300\ud574 \uc5b4\ub5a4 \ud615\uc0c1 \ud558\ub098\uac00 \ud45c\uc2dc\ub418\uc5b4 \uc788\ub2e4. \ubb38\uc81c\ub294 \ud615\uc0c1 \ud558\ub098\uac00 \uc678\ubd80 \uaca9\uc790 \ubc16\uc5d0\uc11c\ub294 \uc9e4\ub824\ub098\uac04\ub2e4\ub294 \uac83\uc778\ub370, \uc774\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud55c \ucf54\ub4dc\uac00 \uc544\ub798\uc640 \uac19\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"glsl\">\r\n  ..\r\n  \r\n  for(int y=-1; y<=1; y++) {\r\n      for(int x=-1; x<=1; x++) {\r\n        vec2 offs = vec2(x, y);\r\n        \r\n        float n = Hash21(id + offs);\r\n        col += Star(gv - offs - vec2(n, fract(n * 34.)) + .5, 1.);\r\n      }\r\n  }\r\n  \r\n  ..\r\n<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2025\/05\/\u1109\u1173\u110f\u1173\u1105\u1175\u11ab\u1109\u1163\u11ba-2025-05-10-08.55.49.png\" alt=\"\" width=\"1548\" height=\"1118\" class=\"aligncenter size-full wp-image-16012\" \/><\/p>\n<p>\uc704\uc758 \ucf54\ub4dc\uc5d0\uc11c \uc720\uc758\ud574\uc57c\ud560 \uc810\uc740 \ud615\uc0c1 \ud558\ub098\uac00 \ubc14\ub85c \uc778\uc811\ud55c \uc774\uc6c3\uc758 \uc774\uc6c3 \ubc16\uc73c\ub85c \ub098\uac08 \uacbd\uc6b0 \ucc98\ub9ac\ub418\uc9c0 \uc54a\ub294\ub2e4. \uc774\ub7f4\ub54c\ub294 \ubc16\uc73c\ub85c \ub098\uac04 \uac83\uae4c\uc9c0 \ud3ec\ud568\ub418\ub3c4\ub85d for \ubb38\uc758 \ubc18\ubcf5 \ubc94\uc704\ub97c \ud655\uc7a5\ud574\uc57c \ud55c\ub2e4.<\/p>\n<p>\uc804\uccb4 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"glsl\">\r\nuniform vec3 uResolution;\r\nuniform float uTime;\r\nuniform vec4 uMouse;\r\n\r\nmat2 Rot(float a) {\r\n  float s = sin(a);\r\n  float c = cos(a);\r\n  return mat2(c, -s, s, c);\r\n}\r\n\r\nfloat Star(vec2 uv, float flare) {\r\n  float d = length(uv);\r\n  float m = .05 \/ d;\r\n  \r\n  float rays = max(0., 1. - abs(uv.x * uv.y * 1000.));\r\n  m += rays * flare;\r\n  uv *= Rot(3.1415 \/ 4.); \r\n  rays = max(0., 1. - abs(uv.x * uv.y * 1000.));\r\n  m += rays * .3 * flare;\r\n\r\n  m *= smoothstep(1., .0, d); \/\/ \ud615\uc0c1 \ud558\ub098\uac00 \ubc14\ub85c \uc778\uc811\ud55c \uc774\uc6c3 \ubc16\uc73c\ub85c \ub098\uac00\uc9c0 \uc54a\ub3c4\ub85d \ud574\uc8fc\ub294 \ucf54\ub4dc\r\n\r\n  return m; \r\n}\r\n\r\nfloat Hash21(vec2 p) {\r\n  p = fract(p * vec2(123.34, 456.21));\r\n  p += dot(p, p + 45.32);\r\n  return fract(p.x * p.y);\r\n}\r\n\r\nvoid main() {\r\n  vec2 uv = (gl_FragCoord.xy - .5 * uResolution.xy) \/ uResolution.y;\r\n  uv *= 3.;\r\n\r\n  vec3 col = vec3(0);\r\n\r\n  vec2 gv = fract(uv) - .5;\r\n  vec2 id = floor(uv);\r\n\r\n  for(int y=-1; y<=1; y++) {\r\n      for(int x=-1; x<=1; x++) {\r\n        vec2 offs = vec2(x, y);\r\n        \r\n        float n = Hash21(id + offs);\r\n        col += Star(gv - offs - vec2(n, fract(n * 34.)) + .5, 1.);\r\n      }\r\n  }\r\n\r\n  if(gv.x > .48 || gv.y > .48) col.r = 1.;  \r\n\r\n  gl_FragColor = vec4(col, 1.0);\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>.. float n = Hash21(id); col += Star(gv &#8211; vec2(n, fract(n * 34.)) + .5, 1.); .. \uc704\uc758 \uacb0\uacfc\ub97c \ubcf4\uba74 \uaca9\uc790 \ud558\ub098\uc5d0 \ub300\ud574 \uc5b4\ub5a4 \ud615\uc0c1 \ud558\ub098\uac00 \ud45c\uc2dc\ub418\uc5b4 \uc788\ub2e4. \ubb38\uc81c\ub294 \ud615\uc0c1 \ud558\ub098\uac00 \uc678\ubd80 \uaca9\uc790 \ubc16\uc5d0\uc11c\ub294 \uc9e4\ub824\ub098\uac04\ub2e4\ub294 \uac83\uc778\ub370, \uc774\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud55c \ucf54\ub4dc\uac00 \uc544\ub798\uc640 \uac19\ub2e4. .. for(int y=-1; y<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[153,145],"tags":[],"class_list":["post-16010","post","type-post","status-publish","format-standard","hentry","category-shader","category-three-js"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/16010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16010"}],"version-history":[{"count":6,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/16010\/revisions"}],"predecessor-version":[{"id":16018,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/16010\/revisions\/16018"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16010"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}