{"id":418,"date":"2007-07-24T13:06:55","date_gmt":"2007-07-24T13:06:55","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=418"},"modified":"2017-01-29T11:26:00","modified_gmt":"2017-01-29T02:26:00","slug":"opengl-shader-1","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=418","title":{"rendered":"OpenGL Shader &#8211; 1"},"content":{"rendered":"<p>GLSL\uc744 \uc0ac\uc6a9\ud558\ub294 \uc250\uc774\ub354 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc54c\uc544\ubcf4\uc790. \uc250\uc774\ub354\ub294 \ucd5c\uc2e0 \uae30\uc220\uc774\uba70 3D \uac8c\uc784\uc5d0\uc11c \uacbd\uc774\ub85c\uc6b4 \ud6a8\uacfc\ub97c \ub0b4\ub294\ub370 \uc0ac\uc6a9\ub41c\ub2e4. \uc774 \uae00\uc744 \ud1b5\ud574 \uc250\uc774\ub354\uc758 \uc138\uacc4\uc5d0 \ubc1c\uc744 \ub4e4\uc5ec\ub193\uc790.<\/p>\n<p>\uc774 \uae00\uacfc \uc55e\uc73c\ub85c \uc9c4\ud589\ub420 \ub0b4\uc6a9\uc744 \uc774\ud574\ud558\uae30 \uc704\ud574\uc11c\ub294 OpenGL \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \uc775\uc219\ud574\uc57c \ud55c\ub2e4. \ub610\ud55c \uc250\uc774\ub354\ub97c \uc704\ud55c \uc2a4\ud399\uc5d0 \ub300\ud574 \uc54c\uace0 \uc2f6\ub2e4\uba74, OpenGL 2.0\uacfc GLSL\uc5d0 \ub300\ud55c \uacf5\uc2dd\ubb38\uc11c\ub97c \ubc18\ub4dc\uc2dc \uc77d\uc5b4\ubcf4\uae38 \ubc14\ub780\ub2e4.<\/p>\n<p>GLSL\uc740 OpenGL \uc250\uc774\ub529 \uc5b8\uc5b4\ub97c \uc758\ubbf8\ud558\uba70 \uc885\uc885 &#8220;glslang&#8221;\uc73c\ub85c \ubd88\ub9ac\uba70 ARB(Architectural Review Board) OpenGL\uc5d0 \uc758\ud574 \uc815\uc758\ub41c\ub2e4.<\/p>\n<p>OpenGL\uacfc \uacbd\uc7c1\ud558\ub294 Cg, \uc989 Nvidia\uac00 \ub098\ub984\ub300\ub85c \ub9cc\ub4e0 \ub610 \ub2e4\ub978 \uc250\uc774\ub354 \uc5b8\uc5b4\uc640 GLSL\uc744 \ube44\uad50\ud558\uac70\ub098 \ub204\uac00 \ub354 \uc6b0\uc218\ud55c\uc9c0 \ub530\uc9c0\uc9c0\ub294 \uc54a\uaca0\ub2e4. \uadf8 \uc774\uc720\ub294 \uc9c0\uae08 \uc5ec\uae30\uc11c\ub294 Cg\uac00 \uc544\ub2cc GLSL\uc5d0 \ub300\ud574\uc11c\ub9cc \uc0b4\ud3b4\ubcfc \uac83\uc774\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n<p>\uc5b4\ub5a4 \uc5b8\uc5b4\ub85c\ub4e0 \uc250\uc774\ub354\ub97c \uc791\uc131\ud558\uae30 \uc804\uc5d0, \uadf8\ub798\ud53d \ud30c\uc774\ud504\ub77c\uc778\uc5d0 \ub300\ud55c \uae30\ubcf8\uc744 \uc774\ud574\ud558\ub294 \uac83\uc774 \ub9e4\uc6b0 \uc911\uc694\ud558\ub2e4. \uadf8\ub798\ud53d \ud30c\uc774\ud504\ub77c\uc778\uc740 \uc250\uc774\ub354\uac00 \ubb34\uc5c7\uc744 \ud558\ub294\uc9c0, \uc250\uc774\ub354\uc758 \uc885\ub958\uc5d0\ub294 \ubb50\uac00 \uc788\ub294\uc9c0\uc640 \uac19\uc740 \uc250\uc774\ub354\uc758 \ud575\uc2ec\uc744 \uc81c\uacf5\ud55c\ub2e4. \ub610\ud55c \uc250\uc774\ub354\ub85c \ud560 \uc218 \uc5c6\ub294\uac83\uc774 \ubb34\uc5c7\uc778\uc9c0\uc5d0 \ub300\ud55c \ud78c\ud2b8\ub3c4 \uc81c\uacf5\ud55c\ub2e4.<\/p>\n<p>\ud30c\uc774\ud504\ub77c\uc778\uc5d0 \ub300\ud55c \uc18c\uac1c \ub2e4\uc74c\uc5d0 GLSL\uc744 \uc704\ud55c OpenGL\uc758 \uc124\uc815\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\ubcf4\uaca0\ub2e4. OpenGL \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc250\uc774\ub354\ub97c \uc0ac\uc6a9\ud558\ub370 \ud544\uc694\ud55c \ub2e8\uacc4\uc5d0 \ub300\ud574 \uc790\uc138\ud558\uac8c \uc0b4\ud3b4\ubcfc \uac83\uc774\ub2e4. \ucd5c\uc885\uc801\uc73c\ub85c OpenGL \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ub9e4\uc6b0 \uc720\uc5f0\ud558\uace0 \uac15\ub825\ud55c \ud6a8\uacfc\ub97c \ub0bc \uc218 \uc788\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcfc \uac83\uc774\ub2e4.<\/p>\n<p>\uba87\uac00\uc9c0 \uae30\ubcf8\uc801\uc778 \uac1c\ub150\uc73c\ub85c \ub370\uc774\ud130 \ud0c0\uc785(data types), \ubcc0\uc218(variables), \ubb38\uc7a5(statements), \ud568\uc218(function)\uc758 \uc815\uc758\uc5d0 \ub300\ud574\uc11c \uc54c\uc544\ubcf8\ub2e4.<\/p>\n<p>\uc774 \uae00\uc740 ARB \ud655\uc7a5\uacfc OpenGL 2.0 \ubc84\uc804\uc5d0 \ub300\ud574 \ub2e4\ub8ec\ub2e4. \ud6c4\uc790\ub294 \uc774\ubbf8 \ud45c\uc900\uc774\uc9c0\ub9cc \uc804\uc790\ub294 \ud5a5\ud6c4 \ud45c\uc900\uc73c\ub85c \uc790\ub9ac\uc7a1\uc744 \uac00\ub2a5\uc131\uc774 \uc788\ub294 \uac83\uc774\ub2e4. \ucc28\uc774\ub294 \uc791\uc9c0\ub9cc \ud568\uc218\uc758 \uc774\ub984\uc774\ub098 \uc0c1\uc218 \uc774\ub984\uc5d0 \uc57d\uac04\uc758 \ucc28\uc774\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4. \uc774\uac83\ub4e4\uc744 \uad6c\ubd84\uc744 \ub3d5\uae30\uc704\ud574 \ucf54\ub4dc\uc5d0 \uc0c9\uc0c1\uc744 \ub123\uc5c8\ub2e4. ARB\ub294 <span style=\"color: #202020; background-color: #e4e4e4; padding: 3px 1px 0px 1px;\"><span style=\"color: #202020; background-color: #e4e4e4; padding: 3px 1px 0px 1px;\"><span style=\"color: #202020; background-color: #e4e4e4; padding: 3px 1px 0px 1px;\">\ud68c\uc0c9<\/span><\/span><\/span>\uc73c\ub85c OpenGL 2.0\uc740 <span style=\"color: #ff9900;\">\uc624\ub80c\uc9c0 \uc0c9<\/span>\uc73c\ub85c \ub9d0\uc774\ub2e4.<\/p>\n<p>\uc774 \uc801\uc6a9\ubc94\uc704\ub294 \uc2e4\uc218\ud558\uae30 \uc27d\ub2e4. \uadf8\ub7ec\ub2c8 \ud639\uc2dc \uc774\ub7f0 \ud45c\uae30\uc5d0 \ubb38\uc81c\uac00 \uc788\ub2e4\uba74 \uc5b8\uc81c\ub4e0\uc9c0 \ub0b4\uac8c \uc54c\ub824\uc8fc\uae38 \ubc14\ub780\ub2e4.<\/p>\n<p>\uc774 \uae00\uc740 \uc810\uc9c4\uc801\uc73c\ub85c \uc791\uc131\ub420 \uac83\uc774\ubbc0\ub85c \uae00\uacfc \ub370\ubaa8 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \ubb38\uc81c\uac00 \uc788\uc744 \uc218 \uc788\ub294\ub370, \uc774\uac83\uc5d0 \ub300\ud574\uc11c \uc880 \ucc38\uc544\uc8fc\uae38 \ubc14\ub780\ub2e4. \ube44\ub85d \uc0ac\uc18c\ud560\uc9c0\ub77c\ub3c4 \ubb38\uc81c\ub97c \ubc1c\uacac\ud558\uba74 \uc54c\ub824\uc8fc\uae38 \ubc14\ub780\ub2e4. \ub610\ud55c \ub9ce\uc740 \uc81c\uc548\uc744 \ud574\uc8fc\uae38 \ubc14\ub780\ub2e4. \ubd80\ub514 \uc774 \uae00\uc744 \uc990\uac81\uac8c \uc77d\uc5b4\uc8fc\uae38 \ud76c\ub9dd\ud558\uba70 \uccab\ubc88\uc9f8 GLSL, OpenGL Shader\uc758 \uccab\uae00\uc744 \ub9c8\uce58\ub3c4\ub85d \ud558\uaca0\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GLSL\uc744 \uc0ac\uc6a9\ud558\ub294 \uc250\uc774\ub354 \ud504\ub85c\uadf8\ub798\ubc0d\uc744 \uc54c\uc544\ubcf4\uc790. \uc250\uc774\ub354\ub294 \ucd5c\uc2e0 \uae30\uc220\uc774\uba70 3D \uac8c\uc784\uc5d0\uc11c \uacbd\uc774\ub85c\uc6b4 \ud6a8\uacfc\ub97c \ub0b4\ub294\ub370 \uc0ac\uc6a9\ub41c\ub2e4. \uc774 \uae00\uc744 \ud1b5\ud574 \uc250\uc774\ub354\uc758 \uc138\uacc4\uc5d0 \ubc1c\uc744 \ub4e4\uc5ec\ub193\uc790. \uc774 \uae00\uacfc \uc55e\uc73c\ub85c \uc9c4\ud589\ub420 \ub0b4\uc6a9\uc744 \uc774\ud574\ud558\uae30 \uc704\ud574\uc11c\ub294 OpenGL \ud504\ub85c\uadf8\ub798\ubc0d\uc5d0 \uc775\uc219\ud574\uc57c \ud55c\ub2e4. \ub610\ud55c \uc250\uc774\ub354\ub97c \uc704\ud55c \uc2a4\ud399\uc5d0 \ub300\ud574 \uc54c\uace0 \uc2f6\ub2e4\uba74, OpenGL 2.0\uacfc GLSL\uc5d0 \ub300\ud55c \uacf5\uc2dd\ubb38\uc11c\ub97c \ubc18\ub4dc\uc2dc \uc77d\uc5b4\ubcf4\uae38 \ubc14\ub780\ub2e4. GLSL\uc740 OpenGL \uc250\uc774\ub529 \uc5b8\uc5b4\ub97c \uc758\ubbf8\ud558\uba70 \uc885\uc885 &#8220;glslang&#8221;\uc73c\ub85c \ubd88\ub9ac\uba70 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=418\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;OpenGL Shader &#8211; 1&#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-418","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\/418","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=418"}],"version-history":[{"count":1,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/418\/revisions"}],"predecessor-version":[{"id":3611,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/418\/revisions\/3611"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=418"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}