{"id":590,"date":"2007-10-11T14:30:00","date_gmt":"2007-10-11T14:30:00","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=590"},"modified":"2025-02-24T12:24:40","modified_gmt":"2025-02-24T03:24:40","slug":"opengl-shader-30","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=590","title":{"rendered":"OpenGL Shader &#8211; 30"},"content":{"rendered":"<div align=\"center\"><strong>GLSL \uc608\uc81c : Texture(Simple Texture) &#8211; 1\/3<\/strong><\/div>\n<p>\uc6d0\ubb38 : <a href=\"http:\/\/www.lighthouse3d.com\/opengl\/glsl\/index.php?dirlightpix\">http:\/\/www.lighthouse3d.com\/opengl\/glsl\/index.php?dirlightpix<\/a><\/p>\n<p>GLSL\uc5d0\uc11c \ud14d\uc2a4\uccd0\ub9c1 \uc5f0\uc0b0\uc744 \ud558\uae30 \uc704\ud574\uc11c, \ubc84\ud14d\uc2a4\uc5d0 \ub300\ud55c \ud14d\uc2a4\uccd0 \uc88c\ud45c\uc5d0 \uc811\uadfc\ud574\uc57c \ud55c\ub2e4. GLSL\uc740 \u00a0\uac01 \ud14d\uc2a4\uccd0 \uc720\ub2db \uac01\uac01\uc5d0 \ub300\ud55c Attribute \ubcc0\uc218\ub4e4\uc744 \uc81c\uacf5\ud55c\ub2e4.<\/p>\n<pre><code class=\"html\">attribute vec4 gl_MultiTexCoord0;\r\nattribute vec4 gl_MultiTexCoord1;\r\nattribute vec4 gl_MultiTexCoord2;\r\nattribute vec4 gl_MultiTexCoord3;\r\nattribute vec4 gl_MultiTexCoord4;\r\nattribute vec4 gl_MultiTexCoord5;\r\nattribute vec4 gl_MultiTexCoord6;\r\nattribute vec4 gl_MultiTexCoord7;<\/code><\/pre>\n<p>\ub610\ud55c GLSL\uc740 uniform \ubcc0\uc218 \ubc30\uc5f4 \ud615\ud0dc\ub85c \uac01 \ud14d\uc2a4\uccd0\uc5d0 \ub300\ud55c \ud14d\uc2a4\uccd0 \ud589\ub82c\uc5d0 \uc811\uadfc\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"html\">uniform mat4 gl_TextureMatrix[gl_MaxTextureCoords];<\/code><\/pre>\n<p>\ubc84\ud14d\uc2a4 \uc250\uc774\ub354\ub294 OpenGL \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc9c0\uc815\ud55c \ud14d\uc2a4\uccd0 \uc88c\ud45c \ub4f1\uc744 \uc5bb\uc744 \uc218 \uc788\ub2e4. \ubc84\ud14d\uc2a4\uc5d0 \ub300\ud55c \ud14d\uc2a4\uccd0 \uc88c\ud45c\ub97c \uacc4\uc0b0\uc744 \ud574\uc57c\ud558\uace0, \uacc4\uc0b0\ud6c4\uc5d0 \ubbf8\ub9ac \uc815\uc758\ub41c varying \ubcc0\uc218\uc778 gl_TexCoord[i] \ubcc0\uc218\uc5d0 \uacc4\uc0b0\ub41c \ud14d\uc2a4\uccd0 \uc88c\ud45c\ub97c \uc800\uc7a5\ud558\ub294\ub370, \uc5ec\uae30\uc11c i\ub294 \ud14d\uc2a4\uccd0 \uc720\ub2db\uc5d0 \ub300\ud55c \uc778\ub371\uc2a4\uc774\ub2e4.<\/p>\n<p>\ud14d\uc2a4\uccd0\uc5d0 \ub300\ud55c \ud14d\uc2a4\uccd0 \uc88c\ud45c\ub97c \uc124\uc815\ud558\ub294 \uac04\ub2e8\ud55c \ubc84\ud14d\uc2a4 \uc250\uc774\ub354\ub294 \uc544\ub798\uc640 \uac19\ub2e4. \uc0ac\uc6a9\ud558\ub294 \ud14d\uc2a4\uccd0 \uc720\ub2db\uc740 0\uc774\ub2e4.<\/p>\n<pre><code class=\"html\">void main() {\r\n    gl_TexCoord[0] = gl_MultiTexCoord0;\r\n    gl_Position = ftransform();\r\n}<\/code><\/pre>\n<p>\ub9cc\uc57d \ud14d\uc2a4\uccd0 \ud589\ub82c\uc744 \uc0ac\uc6a9\ud558\uae38 \uc6d0\ud55c\ub2e4\uba74 \uc544\ub798\uc640 \uac19\ub2e4.<\/p>\n<pre><code class=\"html\">void main() {\r\n    gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;\r\n    gl_Position = ftransform();\r\n}<\/code><\/pre>\n<p>gl_TexCoord\uac00 Varying \ubcc0\uc218\ub77c\uace0 \uc5b8\uae09\ud588\uc5c8\ub294\ub370, \uc608\ub97c\ub4e4\uc5b4\uc11c \uc774 gl_TexCoord\ub294 \ud504\ub808\uadf8\uba3c\ud2b8 \uc250\uc774\ub354\uc5d0\uc11c \uacc4\uc0b0\ub41c \ud14d\uc2a4\uccd0 \uc88c\ud45c\ub97c \uc811\uadfc\ud558\ub294\ub370 \uc0ac\uc6a9\ub420 \uc218 \uc788\ub2e4.<\/p>\n<p>\ud14d\uc2a4\uccd0 \uac12\uc5d0 \uc811\uadfc\ud558\uae30 \uc704\ud574\uc11c, \ud504\ub808\uadf8\uba3c\ud2b8 \uc250\uc774\ub354\uc5d0\uc11c\ub294 \ud2b9\ubcc4\ud55c \ud0c0\uc785\uc758 \ubcc0\uc218\uc744 \uc120\uc5b8\ud560 \ud544\uc694\uac00 \uc788\ub2e4. 2D \ud14d\uc2a4\uccd0\uc5d0 \ub300\ud574\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<pre><code class=\"html\">uniform sampler2D tex;<\/code><\/pre>\n<p>1D\uc640 3D \ud14d\uc2a4\uccd0\uc5d0 \ub300\ud55c \ub370\uc774\ud130 \ud0c0\uc785\ub3c4 \uac00\ub2a5\ud55c\ub370, \uc77c\ubc18\uc801\uc778 \ud3ec\uba67\uc740 sampler_i_D\uc774\uba70 _i_\uc5d0 \ud574\ub2f9\ud558\ub294 \uac83\uc774 \ud14d\uc2a4\uccd0\uc758 \ucc28\uc6d0\uc774\ub2e4. \uc0ac\uc6a9\ud558\uace0\uc790 \ud558\ub294 \ud14d\uc2a4\uccd0 \uc720\ub2db\uc744 \ud3ec\ud568\ud558\ub294 tex \ubcc0\uc218\ub97c \uc120\uc5b8\ud55c\ub2e4. \ud14d\uc140(\ud14d\uc2a4\uccd0 \uc774\ubbf8\uc9c0\uc758 \ud654\uc18c \uc0c9\uc0c1)\uc744 \uc81c\uacf5\ud558\ub294 \ud568\uc218\ub294 texture2D\uc774\ub2e4. \uc774 \ud568\uc218\ub294 sampler2D\uc640 \ud14d\uc2a4\uccd0\uc758 \uc88c\ud45c\ub97c \uc778\uc790\ub85c \ubc1b\uc73c\uba70 \ud14d\uc140\uac12\uc744 \ubc18\ud658\ud55c\ub2e4. \uc544\ub798\uc5d0 texture2D \ud568\uc218\uc5d0 \ub300\ud55c \uc2dc\uadf8\ub2c8\uccd0\uac00 \uc788\ub2e4.<\/p>\n<pre><code class=\"html\">vec4 texture2D(sampler2D, vec2);<\/code><\/pre>\n<p>\ubc18\ud658\uac12\uc740 OpenGL \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc124\uc815\ub41c \ubaa8\ub4e0 \ud14d\uc2a4\uccd0 \uc124\uc815\uac12\uc744 \uace0\ub824\ud574\uc11c \uacc4\uc0b0\ub418\uc5b4\uc9c4 \uac12\uc778\ub370, \uc608\ub97c\ub4e4\uc5b4\uc11c \ud544\ud130\ub9c1, \ubc09\ub9f5, \ud074\ub7a8\ud504 \ub4f1\uc774\ub2e4. \ud504\ub808\uadf8\uba3c\ud2b8 \uc250\uc774\ub354\uc5d0\uc11c\ub294 \uc544\ub798\ucc98\ub7fc \uc791\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"html\">uniform sampler2D tex;\r\n\t\r\nvoid main()\r\n{\r\n    vec4 color = texture2D(tex,gl_TexCoord[0].st);\r\n    gl_FragColor = color;\r\n}<\/code><\/pre>\n<p>gl_TexCoord\uc5d0 \uc811\uadfc\ud560\ub54c \uc120\ud0dd\uc790 st\uc758 \uc0ac\uc6a9\uc5d0 \uc8fc\uc758\ud558\ub77c. GLSL\uc758 \ub370\uc774\ud130 \ud0c0\uc785\uacfc \ubcc0\uc218\uc5d0 \uad00\ud574 \uc55e\uc11c \uc5b8\uae09\ud588\ub358\uac83\ucc98\ub7fc, \ud14d\uc2a4\uccd0 \uc88c\ud45c\uc5d0 \uc811\uadfc\ud560\ub54c\ub294 \uc120\ud0dd\uc790\ub294 s,t,p,q\uac00 \ub420 \uc218 \uc788\ub2e4. r\uc740 rgb \uc120\ud0dd\uc790\ub4e4\uacfc \ucda9\ub3cc\ud558\uae30 \ub54c\ubb38\uc5d0 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294\ub2e4.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1214119687.jpg\" alt=\"\" width=\"241\" height=\"147\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GLSL \uc608\uc81c : Texture(Simple Texture) &#8211; 1\/3 \uc6d0\ubb38 : http:\/\/www.lighthouse3d.com\/opengl\/glsl\/index.php?dirlightpix GLSL\uc5d0\uc11c \ud14d\uc2a4\uccd0\ub9c1 \uc5f0\uc0b0\uc744 \ud558\uae30 \uc704\ud574\uc11c, \ubc84\ud14d\uc2a4\uc5d0 \ub300\ud55c \ud14d\uc2a4\uccd0 \uc88c\ud45c\uc5d0 \uc811\uadfc\ud574\uc57c \ud55c\ub2e4. GLSL\uc740 \u00a0\uac01 \ud14d\uc2a4\uccd0 \uc720\ub2db \uac01\uac01\uc5d0 \ub300\ud55c Attribute \ubcc0\uc218\ub4e4\uc744 \uc81c\uacf5\ud55c\ub2e4. attribute vec4 gl_MultiTexCoord0; attribute vec4 gl_MultiTexCoord1; attribute vec4 gl_MultiTexCoord2; attribute vec4 gl_MultiTexCoord3; attribute vec4 gl_MultiTexCoord4; attribute vec4 gl_MultiTexCoord5; attribute vec4 gl_MultiTexCoord6; attribute vec4 gl_MultiTexCoord7; \ub610\ud55c &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=590\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;OpenGL Shader &#8211; 30&#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,153],"tags":[3,25],"class_list":["post-590","post","type-post","status-publish","format-standard","hentry","category-opengl","category-shader","tag-opengl","tag-shader"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/590","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=590"}],"version-history":[{"count":1,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/590\/revisions"}],"predecessor-version":[{"id":3552,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/590\/revisions\/3552"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=590"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}