{"id":442,"date":"2007-08-18T16:02:00","date_gmt":"2007-08-18T16:02:00","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=442"},"modified":"2017-01-29T11:22:03","modified_gmt":"2017-01-29T02:22:03","slug":"opengl-shader-8","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=442","title":{"rendered":"OpenGL Shader &#8211; 8"},"content":{"rendered":"<p><strong>GLSL\uc744 \uc704\ud55c OpenGL \uc124\uc815 &#8211; \uc608\uc81c<\/strong><br \/>\n\uc6d0\ubcf8 : <a href=\"http:\/\/www.lighthouse3d.com\/opengl\/glsl\/index.php?oglexample1\">http:\/\/www.lighthouse3d.com\/opengl\/glsl\/index.php?oglexample1<\/a><\/p>\n<p>\ub2e4\uc74c \ucf54\ub4dc\ub294 \uc774\uc804 \uc139\uc158\uc5d0\uc11c \uc124\uba85\ud588\ub358 \ubaa8\ub4e0 \ub2e8\uacc4\ub97c \ud3ec\ud568\ud558\uace0 \uc788\ub2e4. p, f, v\ub294 OpenGL 2.0 \ubb38\ubc95\uc73c\ub85c\ub294 GLuint \ud0c0\uc785\uc774\uace0 ARB \ud655\uc7a5 \ubb38\ubc95\uc73c\ub85c\ub294 GLhandleARB \ud0c0\uc785\uc778 \uc804\uc5ed\ubcc0\uc218\uc774\ub2e4.<\/p>\n<p>OpenGL 2.0 \ubb38\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre><code class=\"html\">void setShaders() {\r\n    char *vs,*fs;\r\n\t\r\n    v = glCreateShader(GL_VERTEX_SHADER);\r\n    f = glCreateShader(GL_FRAGMENT_SHADER);\t\r\n\t\r\n    vs = textFileRead(\"toon.vert\");\r\n    fs = textFileRead(\"toon.frag\");\r\n\t\r\n    const char * vv = vs;\r\n    const char * ff = fs;\r\n\t\r\n    glShaderSource(v, 1, &vv, NULL);\r\n    glShaderSource(f, 1, &ff, NULL);\r\n\t\r\n    free(vs);\r\n    free(fs);\r\n\t\r\n    glCompileShader(v);\r\n    glCompileShader(f);\r\n\t\r\n    p = glCreateProgram();\r\n\t\t\r\n    glAttachShader(p,v);\r\n    glAttachShader(p,f);\r\n\t\r\n    glLinkProgram(p);\r\n    glUseProgram(p);\r\n}<\/code><\/pre>\n<p>ARB \ud655\uc7a5 \ubb38\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre><code class=\"html\">void setShaders() {\r\n    char *vs,*fs;\r\n\t\r\n    v = glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);\r\n    f = glCreateShaderObjectARB(GL_FRAGMENT_SHADER_ARB);\t\r\n\t\r\n    vs = textFileRead(\"toon.vert\");\r\n    fs = textFileRead(\"toon.frag\");\r\n\t\r\n    const char * vv = vs;\r\n    const char * ff = fs;\r\n\t\r\n    glShaderSourceARB(v, 1, &vv,NULL);\r\n    glShaderSourceARB(f, 1, &ff,NULL);\r\n\t\r\n    free(vs);\r\n    free(fs);\r\n\t\r\n    glCompileShaderARB(v);\r\n    glCompileShaderARB(f);\r\n\t\r\n    p = glCreateProgramObjectARB();\r\n\t\t\r\n    glAttachObjectARB(p,v);\r\n    glAttachObjectARB(p,f);\r\n\t\r\n    glLinkProgramARB(p);\r\n    glUseProgramObjectARB(p);\r\n}<\/code><\/pre>\n<p>OpenGL 2.0\uc758 \ud615\ud0dc\uc640 ARB \ud655\uc7a5 \ud615\ud0dc\uc5d0 \ub300\ud55c GLUT\ub97c \uc0ac\uc6a9\ud55c \uc644\uc804\ud55c \uc608\uc81c\ub294 \ub2e4\uc74c\uc744 \ud1b5\ud574 \ub2e4\uc6b4\ub85c\ub4dc\ud558\uae38 \ubc14\ub780\ub2e4.<\/p>\n<p style='text-align:center'><a href=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1358873978.zip\"><img width='64' src='\/images\/download.svg' \/><\/a><a href=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1322552951.zip\"><img width='64' src='\/images\/download.svg' \/><\/a><\/p>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 2\uac1c\uc758 \uac04\ub2e8\ud55c \uc250\uc774\ub354 \ucf54\ub4dc\uc640 text \ud30c\uc77c\uc744 \uc77d\ub294 \ud568\uc218\uac00 \ud3ec\ud568\ub418\uc5b4\uc838 \uc788\ub2e4. \ucc38\uace0\ub85c \uc704\uc758 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\uba74 \uadf8 \uacb0\uacfc\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1287793155.jpg\" alt=\"\" width=\"370\" height=\"358\" \/>\ub124, \ud230 \uc250\uc774\ub529\uc774\ub85c\uad70\uc694~ \uc57d\uac04 \uc5b4\uc2ac\ud508 \ub290\ub08c\uc774\uae34 \ud558\uc9c0\ub9cc \ub9d0\uc785\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GLSL\uc744 \uc704\ud55c OpenGL \uc124\uc815 &#8211; \uc608\uc81c \uc6d0\ubcf8 : http:\/\/www.lighthouse3d.com\/opengl\/glsl\/index.php?oglexample1 \ub2e4\uc74c \ucf54\ub4dc\ub294 \uc774\uc804 \uc139\uc158\uc5d0\uc11c \uc124\uba85\ud588\ub358 \ubaa8\ub4e0 \ub2e8\uacc4\ub97c \ud3ec\ud568\ud558\uace0 \uc788\ub2e4. p, f, v\ub294 OpenGL 2.0 \ubb38\ubc95\uc73c\ub85c\ub294 GLuint \ud0c0\uc785\uc774\uace0 ARB \ud655\uc7a5 \ubb38\ubc95\uc73c\ub85c\ub294 GLhandleARB \ud0c0\uc785\uc778 \uc804\uc5ed\ubcc0\uc218\uc774\ub2e4. OpenGL 2.0 \ubb38\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4. void setShaders() { char *vs,*fs; v = glCreateShader(GL_VERTEX_SHADER); f = glCreateShader(GL_FRAGMENT_SHADER); vs = textFileRead(&#8220;toon.vert&#8221;); fs = textFileRead(&#8220;toon.frag&#8221;); const &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=442\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;OpenGL Shader &#8211; 8&#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-442","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\/442","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=442"}],"version-history":[{"count":4,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/442\/revisions"}],"predecessor-version":[{"id":3601,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/442\/revisions\/3601"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=442"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}