{"id":419,"date":"2007-07-26T04:59:17","date_gmt":"2007-07-26T04:59:17","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=419"},"modified":"2017-01-29T11:25:46","modified_gmt":"2017-01-29T02:25:46","slug":"opengl-shader-2","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=419","title":{"rendered":"OpenGL Shader &#8211; 2"},"content":{"rendered":"<p>\ub2e4\uc74c \uadf8\ub9bc\uc740 \ub9e4\uc6b0 \ub2e8\uc21c\ud654\ub41c \ud30c\uc774\ud504\ub77c\uc778 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc774\uba70 \ub370\uc774\ud130\uac00 \uc5b4\ub5a4 \uc2dd\uc73c\ub85c \ud30c\uc774\ud504 \ub77c\uc778\uc744 \ud0c0\ub294\uc9c0\ub97c \ubcf4\uc5ec\uc900\ub2e4. \ub9e4\uc6b0 \ub2e8\uc21c\ud654\uc2dc\ucf30\uc9c0\ub9cc \uc250\uc774\ub354 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \ub300\ud55c \uc911\uc694\ud55c \uac1c\ub150\uc744 \uc81c\uacf5\ud558\uace0 \uc788\ub2e4. \uc774 \ubd80\ubd84\uc5d0\uc11c\ub294 \ud30c\uc774\ud504\ub77c\uc778\uc758 \uace0\uc815 \uae30\ub2a5\uc744 \uc81c\uacf5\ud55c\ub2e4. \ud30c\uc774\ud504\ub77c\uc778\uc740 \ucd94\uc0c1\uc801\uc774\uba70 \ubaa8\ub4e0 \uac01 \ub2e8\uacc4\uc5d0\uc11c \uc5b4\ub5a4 \ud2b9\uc815\ud55c \uad6c\ud604\uacfc \ub9cc\ub0a0 \ud544\uc694\uac00 \uc5c6\ub2e4\ub294 \uc810\uc744 \uc8fc\uc758\ud558\uae30 \ubc14\ub780\ub2e4.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1000065124.jpg\" alt=\"\" width=\"504\" height=\"290\" \/><strong>Vertex Transformation<br \/>\n<\/strong><br \/>\n\uc5ec\uae30\uc5d0\uc11c \ubc84\ud14d\uc2a4\ub294 \uacf5\uac04\uc0c1\uc758 \uc704\uce58, \uc0c9\uc0c1, \ub178\ub9d0\ubca1\ud130, \ud14d\uc2a4\uccd0 \uc88c\ud45c \ub4f1\uacfc \uac19\uc740 \uc18d\uc131\ub4e4\uc758 \uc9d1\ud569\uc774\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c\uc758 \uc785\ub825\uac12\ub4e4\uc740 \ud558\ub098 \ud558\ub098\uc758 \ubc84\ud14d\uc2a4 \uc18d\uc131\ub4e4\uc774\ub2e4. \uc774 \uace0\uc815 \uae30\ub2a5\uc5d0 \uc758\ud574 \uc218\ud589\ub418\ub294 \uc5f0\uc0b0\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<ul>\n<li>\ubc84\ud14d\uc2a4\uc758 \uc704\uce58 \ubcc0\ud658<\/li>\n<li>\ubc84\ud14d\uc2a4\uc5d0 \ub300\ud55c \uad11\uc6d0 \uacc4\uc0b0<\/li>\n<li>\ud14d\uc2a4\uccd0 \uc88c\ud45c\uc758 \uc0dd\uc131 \ubc0f \ubcc0\ud658<\/li>\n<\/ul>\n<p><strong>Primitive Assembly and Rasterization<br \/>\n<\/strong><br \/>\n\uc774 \ub2e8\uacc4\uc5d0\uc11c\uc758 \uc785\ub825\uac12\uc740 \ubcc0\ud658\ub41c \ubc84\ud14d\uc2a4\uc640 \uc5f0\uacb0 \uc815\ubcf4\uc774\ub2e4. \uc5f0\uacb0\uc815\ubcf4\ub77c\ub294 \uac83\uc740 \ubc84\ud14d\uc2a4\ub4e4\uc774 Primitive(\uc0bc\uac01\ud615 \ub4f1\uacfc\uac19\uc740 \uae30\ubcf8 \uc694\uc18c)\ub97c \uc774\ub8e8\uae30 \uc704\ud574 \uc5b4\ub5bb\uac8c \uc5f0\uacb0\ub418\ub290\ub0d0\uc774\ub2e4. \uc774 \ub2e8\uacc4\uc5d0\uc11c Primitive\uac00 \uc0dd\uc131\ub41c\ub2e4. \ub610\ud55c \uc774 \ub2e8\uacc4\ub294 \ub4b7\uba74\uc81c\uac70\ub098 \ubdf0 \uc808\ub450\uccb4\uc5d0 \ub300\ud55c \ud074\ub9ac\ud551 \uc5f0\uc0b0\uc744 \ub2f4\ub2f9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\ub77c\uc2a4\ud130\ub77c\uc774\uc9d5\uc740 Fragment\ub97c \uacb0\uc815\ud558\uace0 Primitive\uc758 \ud53d\uc140 \uc704\uce58\ub97c \uacb0\uc815\ud55c\ub2e4. \uc774 \ubb38\ub9e5\uc5d0\uc11c Fragment\ub294 \ud2b9\uc815\ud55c \uc704\uce58\uc5d0\uc11c \ud504\ub808\uc784 \ubc84\ud37c\uc758 \ud53d\uc140\uc744 \ubcc0\uacbd\ud558\uae30 \uc704\ud574 \uc0ac\uc6a9\ub420 \ub370\uc774\ud130\uc758 \uc870\uac01\uc774\ub2e4. \uc27d\uac8c \ub9d0\ud558\uc790\uba74 Primitive\uac00 \ud654\uba74\uc5d0 \uc2e4\uc81c \ub80c\ub354\ub9c1\ub420\ub54c \uadf8\ub824\uc9c8 Pixel \uac12\uc774\ub2e4. Fragment\ub294 \uc0c9 \ubfd0\ub9cc\uc774 \uc544\ub2c8\ub77c \uc218\uc9c1\ubca1\ud130\uac12\uacfc \ud14d\uc2a4\uccd0 \uc88c\ud45c \ub4f1\uacfc \uac19\uc740 \uac12\ub4e4\uc778\ub370, \uc774\ub7ec\ud55c \uac12\ub4e4\uc744 \uc774\uc6a9\ud574\uc11c \uc2e4\uc81c\ub85c \ud654\uba74\uc0c1\uc5d0 \ucc0d\ud790 \ud53d\uc140\uc758 \uc0c8\ub85c\uc6b4 \uc0c9\uc0c1\uc744 \uacc4\uc0b0\ud558\ub294\ub370 \uc4f0\uc778\ub2e4.<\/p>\n<p>\uc774 \ub2e8\uacc4\uc5d0\uc11c\uc758 \ucd9c\ub825\uac12\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<ul>\n<li>\ud504\ub808\uc784\ubc84\ud37c \uc548\uc758 Fragment\ub4e4\uc758 \uc704\uce58<\/li>\n<li>\ubc84\ud14d\uc2a4 \ubcc0\ud658 \ub2e8\uacc4\uc5d0\uc11c \uacc4\uc0b0\ub41c \uc18d\uc131\uc5d0 \ub300\ud55c \uac01 Framgment\uc5d0 \ub300\ud55c \ubcf4\uac04\ub41c \uac12<\/li>\n<\/ul>\n<p>\ubc84\ud14d\uc2a4 \ubcc0\ud658 \ub2e8\uacc4\uc5d0\uc11c \uacc4\uc0b0\ub41c \uac12\uc740 \ubc84\ud14d\uc2a4 \uc5f0\uacb0\uc815\ubcf4\uc640 \ud568\uaed8 \uc870\ud569\ub418\uc5b4 Fragment\ub97c \uc704\ud55c \uc54c\ub9de\uc740 \uc18d\uc131\uc744 \uacc4\uc0b0\ud558\ub294\ub370 \uc0ac\uc6a9\ub41c\ub2e4. \uc608\ub97c\ub4e4\uc5b4\uc11c \uac01 \ubc84\ud14d\uc2a4\ub294 \ubcc0\ud658\ub41c \uc704\uce58\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4. \ubc84\ud14d\uc2a4\uac00 Primitive\ub85c \ub9cc\ub4e4\uc5b4\uc9c0\ub294\ub370 \uc0ac\uc6a9\ub420\ub54c Primitive\uc758 Fragment\uc758 \uc704\uce58\ub97c \uacc4\uc0b0\ud558\ub294\uac83\uc774 \uac00\ub2a5\ud558\ub2e4. \ub610 \ub2e4\ub978 \uc608\ub294 \uc0c9\uc0c1\uc758 \uc0ac\uc6a9\uc774\ub2e4. \ub9cc\uc57d \uc0bc\uac01\ud615\uc744 \uad6c\uc131\ud558\ub294 \uac01 \ubc84\ud14d\uc2a4\uac00 \uac01\uae30 \ub2e4\ub978 \uc0c9\uc0c1\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4\uba74, \uc0bc\uac01\ud615 \uc548\uc758 Fragment \uc0c9\uc0c1\uc740 \uac01 \ubc84\ud14d\uc2a4\uc758 \uc0c1\ub300\uc801\uc778 \uac70\ub9ac\uc5d0\uc758\ud55c \uac00\uc911\uce58\ub97c \ubc1b\uc544 \uc0c9\uc0c1\uac12\ub4e4\uc774 \ubcf4\uac04\ub418\uc5b4\uc838 \uc5bb\uc5b4\uc9c4\ub2e4.<\/p>\n<p><strong>Fragment Texturing and Coloring<\/strong><\/p>\n<p>\uc774 \ub2e8\uacc4\uc5d0\uc11c\uc758 \uc785\ub825\uac12\uc740 \ubcf4\uac04\ub418\uc5b4\uc9c4 Fragment\uc758 \uc815\ubcf4\uc774\ub2e4. \uc0c9\uc0c1\uc740 \uc774\ubbf8 \uc774\uc804 \ub2e8\uacc4\uc5d0\uc11c \ubcf4\uac04\uc744 \ud1b5\ud574 \uacc4\uc0b0\ub418\uc5b4\uc84c\uace0, \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub294 \ud14d\uc140(Texel, Texture element)\uac12 \uacb0\ud569\uacfc \uac19\uc740 \uc5f0\uc0b0\uc774 \uc218\ud589\ub41c\ub2e4. \ud14d\uc2a4\uccd0 \uc88c\ud45c\ub294 \uc774\uc804\ub2e8\uacc4\uc5d0\uc11c \ubcf4\uac74\ub418\uc5b4\uc9c4\ub2e4. \uc548\uac1c\ub3c4 \uc5ed\uc2dc \uc774 \ub2e8\uacc4\uc5d0\uc11c \uc801\uc6a9\ub41c\ub2e4. \uace0\ud1b5\uc801\uc778 \ucd5c\uc885 \ucd9c\ub825\uac12\uc740 Fragment\uc758 \uc0c9\uc0c1\uac12\uacfc \uae4a\uc774 \uac12\uc774\ub2e4.<\/p>\n<p><strong>Raster Operations<\/strong><\/p>\n<p>\uc774 \ub2e8\uacc4\uc5d0\uc11c\uc758 \uc785\ub825\uac12\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<ul>\n<li>\ud53d\uc140\uc758 \uc704\uce58<\/li>\n<li>Fragment\uc758 \uc0c9\uc0c1\uac12\uacfc \uae4a\uc774\uac12<\/li>\n<\/ul>\n<p>Fragment\uc5d0 \ub300\ud574 \uc218\ud589\ub418\ub294 \ud30c\uc774\ud504\ub77c\uc778\uc758 \ub9c8\uc9c0\ub9c9 \uc5f0\uc18d \ub2e8\uacc4\ub294 \uc8fc\ub85c \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<ul>\n<li>Scissor Test<\/li>\n<li>Alpha Test<\/li>\n<li>Stencil Test<\/li>\n<li>Depth Test<\/li>\n<\/ul>\n<p>\ub9cc\uc57d \ud14c\uc2a4\ud2b8\uac00 \uc131\uacf5\ud55c\ub2e4\uba74, Fragment \uc815\ubcf4\ub294 \ud604\uc7ac\uc758 \ube14\ub80c\ub529 \ubaa8\ub4dc\uc5d0 \ub530\ub77c \ud53d\uc140\uc758 \uac12\uc744 \ubcc0\uacbd\ud558\ub294\ub370 \uc0ac\uc6a9\ub41c\ub2e4. \u00a0\ube14\ub80c\ub529\uc740 \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub9cc \uc218\ud589\ub418\ub294\ub370, Fragment \ud14d\uc2a4\uccd0\ub9c1\uacfc \uceec\ub9c1 \ub2e8\uacc4\uc5d0\uc11c\ub294 \ud504\ub808\uc784 \ubc84\ud37c\uc5d0 \uc811\uadfc\ud558\uc9c0 \ubabb\ud558\uae30 \ub54c\ubb38\uc774\ub2e4. \ud504\ub808\uc784 \ubc84\ud37c\ub294 \uc624\uc9c1 \uc774 \ub2e8\uacc4\uc5d0\uc11c\ub9cc \uc811\uadfc\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p><strong>\uace0\uc815 \uae30\ub2a5\uc5d0 \ub300\ud55c \uac04\ub2e8\ud55c \uadf8\ub9bc \uc124\uba85<\/strong><\/p>\n<p>\ub2e4\uc74c \uadf8\ub9bc\uc740 \uc704\uc5d0\uc11c \uc124\uba85\ud55c \uac01 \ub2e8\uacc4\uc5d0 \ub300\ud55c \uc124\uba85\uc744 \uadf8\ub9bc\uc73c\ub85c \ub2e4\uc2dc \ud480\uc5b4\ub192\uc740 \uac83\uc774\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1340185318.jpg\" alt=\"\" width=\"502\" height=\"273\" \/><br \/>\n<strong>Replacing Fixed Functionality<\/strong><\/p>\n<p>\ud604\uc7ac\uc758 \uadf8\ub798\ud53d \uce74\ub4dc\ub294 \ud504\ub85c\uadf8\ub798\uba38\uac00 \uc704\uc5d0\uc11c \uae30\uc220\ub41c \ub2e8\uacc4 \uc911\uc5d0 2\uac1c\ub97c \uc0c8\ub86d\uac8c \uc815\uc758\ud560 \uc218 \uc788\uac8c \ud574\uc900\ub2e4.<\/p>\n<ul>\n<li>\ubc84\ud14d\uc2a4 \uc250\uc774\ub354\ub294 Vertex Transformation \ub2e8\uacc4\ub97c \uc791\uc131\ud558\ub294\ub370 \uc0ac\uc6a9\ub41c\ub2e4.<\/li>\n<li>\ud504\ub808\uadf8\uba3c\ud2b8(Fragment) \uc250\uc774\ub354\ub294 \ud504\ub808\uadf8\uba3c\ud2b8 \ud14d\uc2a4\uccd0\ub9c1\uacfc \uceec\ub7ec\ub9c1 \ub2e8\uacc4\uc758 \uace0\uc815 \uae30\ub2a5\uc744 \uad50\uccb4\ud558\ub294\ub370 \uc0ac\uc6a9\ub41c\ub2e4.<\/li>\n<\/ul>\n<p>\ub2e4\uc74c \uc139\uc158\uc5d0\uc11c\ub294 \ud504\ub85c\uadf8\ub798\ubc0d \uac00\ub2a5\ud55c \ub2e8\uacc4, \uc989 \ubc84\ud14d\uc2a4 \ucc98\ub9ac\uae30\uc640 \ud504\ub808\uadf8\uba3c\ud2b8 \ucc98\ub9ac\uae30\uc5d0 \ub300\ud574 \uc124\uba85\ud560 \uac83\uc774\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ub2e4\uc74c \uadf8\ub9bc\uc740 \ub9e4\uc6b0 \ub2e8\uc21c\ud654\ub41c \ud30c\uc774\ud504\ub77c\uc778 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc774\uba70 \ub370\uc774\ud130\uac00 \uc5b4\ub5a4 \uc2dd\uc73c\ub85c \ud30c\uc774\ud504 \ub77c\uc778\uc744 \ud0c0\ub294\uc9c0\ub97c \ubcf4\uc5ec\uc900\ub2e4. \ub9e4\uc6b0 \ub2e8\uc21c\ud654\uc2dc\ucf30\uc9c0\ub9cc \uc250\uc774\ub354 \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \ub300\ud55c \uc911\uc694\ud55c \uac1c\ub150\uc744 \uc81c\uacf5\ud558\uace0 \uc788\ub2e4. \uc774 \ubd80\ubd84\uc5d0\uc11c\ub294 \ud30c\uc774\ud504\ub77c\uc778\uc758 \uace0\uc815 \uae30\ub2a5\uc744 \uc81c\uacf5\ud55c\ub2e4. \ud30c\uc774\ud504\ub77c\uc778\uc740 \ucd94\uc0c1\uc801\uc774\uba70 \ubaa8\ub4e0 \uac01 \ub2e8\uacc4\uc5d0\uc11c \uc5b4\ub5a4 \ud2b9\uc815\ud55c \uad6c\ud604\uacfc \ub9cc\ub0a0 \ud544\uc694\uac00 \uc5c6\ub2e4\ub294 \uc810\uc744 \uc8fc\uc758\ud558\uae30 \ubc14\ub780\ub2e4. Vertex Transformation \uc5ec\uae30\uc5d0\uc11c \ubc84\ud14d\uc2a4\ub294 \uacf5\uac04\uc0c1\uc758 \uc704\uce58, \uc0c9\uc0c1, \ub178\ub9d0\ubca1\ud130, \ud14d\uc2a4\uccd0 \uc88c\ud45c \ub4f1\uacfc \uac19\uc740 \uc18d\uc131\ub4e4\uc758 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=419\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;OpenGL Shader &#8211; 2&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[3,25],"class_list":["post-419","post","type-post","status-publish","format-standard","hentry","category-opengl","tag-opengl","tag-shader"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/419","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=419"}],"version-history":[{"count":1,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/419\/revisions"}],"predecessor-version":[{"id":3610,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/419\/revisions\/3610"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=419"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}