{"id":452,"date":"2007-08-24T16:44:02","date_gmt":"2007-08-24T16:44:02","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=452"},"modified":"2017-01-29T11:15:42","modified_gmt":"2017-01-29T02:15:42","slug":"opengl-shader-13","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=452","title":{"rendered":"OpenGL Shader &#8211; 13"},"content":{"rendered":"<p><strong>GLSL\uc744 \uc704\ud55c OpenGL \uc124\uc815 &#8211; Attribute \ubcc0\uc218<\/strong><br \/>\n\uc6d0\ubb38 : <a href=\"http:\/\/www.lighthouse3d.com\/opengl\/glsl\/index.php?oglattribute\">http:\/\/www.lighthouse3d.com\/opengl\/glsl\/index.php?oglattribute<\/a><\/p>\n<p>\uc774\uc804\uc758 Uniform \ubcc0\uc218 \uc139\uc158\uc5d0\uc11c \uc5b8\uae09\ud588\ub4ef\uc774,\u00a0 Uniform \ubcc0\uc218\ub294 \uc624\uc9c1 \ud504\ub9ac\ubbf8\ud2f0\ube0c\uc5d0 \uc758\ud574\uc11c\ub9cc \uc124\uc815\ud560 \uc218 \uc788\ub2e4. \uc989, Uniform \ubcc0\uc218\ub294 glBegin~glEnd \uc0ac\uc774\uc5d0\uc11c\ub294 \uc124\uc815\ud560 \uc218 \uc5c6\ub2e4.<\/p>\n<p>\ub9cc\uc57d\uc5d0 \ud504\ub9ac\ubbf8\ud2f0\ube0c\ub97c \uad6c\uc131\ud558\ub294 \ubc84\ud14d\uc2a4 \ub2f9\uc704\ub85c \ubcc0\uc218\ub97c \uc124\uc815\ud558\ub824\uace0 \ud55c\ub2e4\uba74 Attribute \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud574\uc57c\ub9cc \ud55c\ub2e4. \uc0ac\uc2e4 Attribute \ubcc0\uc218\ub294 \uc544\ubb34\ub54c\ub098 \uc124\uc815\ub420 \uc218 \uc788\ub2e4. Attribute \ubcc0\uc218\ub294 \ubc84\ud14d\uc2a4 \uc250\uc774\ub354\uc5d0\uc11c\ub9cc \uc77d\ud790 \uc218(\uc4f8\uc218\ub294 \uc5c6\ub2e4) \uc788\ub2e4. \uc65c\ub0d0\ud558\uba74 Attribute \ubcc0\uc218\ub294 \ubc84\ud14d\uc2a4 \ub370\uc774\ud130\ub97c \uac00\uc9c0\uace0 \uc788\uc5b4\uc11c, \ud504\ub808\uadf8\uba3c\ud2b8 \uc250\uc774\ub354\uc5d0 \uc0ac\uc6a9\ud558\uae30\ub294 \uc801\ub2f9\ud558\uc9c0 \uc54a\ub2e4. (\uc774 \ubd80\ubd84\uc5d0 \ub300\ud574\uc11c\ub294 \ucd94\ud6c4\uc5d0 varying \ubcc0\uc218\ub97c \uc0b4\ud3b4\ubcf4\uaca0\ub2e4) uniform \ubcc0\uc218\ucc98\ub7fc, \ubcc0\uc218\uc5d0 \ub300\ud55c \uba54\ubaa8\ub9ac \uc8fc\uc18c\uac12\uc744 \uc77d\uc5b4\uc624\ub294 \uac83\uc774 \ud544\uc694\ud558\ub2e4. \uc250\uc774\ub354 \ud504\ub85c\uadf8\ub7a8\uc740 \uba3c\uc800 \ub9c1\ud06c\ub418\uc5b4\uc838\uc57c\ud558\uba70 \uba87\uba87 \uadf8\ub798\ud53d \uce74\ub4dc\ub294 \uc250\uc774\ub354 \ud504\ub85c\uadf8\ub7a8\uc774 \uc0ac\uc6a9\uc911\uc774\uc5ec\uc57c \ubcc0\uc218\uc5d0 \ub300\ud55c \uc8fc\uc18c\uac12\uc744 \uc77d\uc5b4\uc62c \uc218 \uc788\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 OpenGL 2.0\uc5d0\uc11c Attribute \ubcc0\uc218\uc758 \uba54\ubaa8\ub9ac \uc8fc\uc18c\ub97c \uc5bb\uc5b4\uc624\ub294 \ud568\uc218\uc774\ub2e4.<\/p>\n<p>GLint glGetAttribLocation(GLuint program, char *name);<br \/>\nParameters:<br \/>\nprogram &#8211;\u00a0 \uc250\uc774\ub354 \ud504\ub85c\uadf8\ub7a8\uc758 \ud578\ub4e4<br \/>\nname &#8211; \ubcc0\uc218\uc758 \uc774\ub984<\/p>\n<p>ARB \ud655\uc7a5 \ud615\ud0dc\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<p>GLint glGetAttribLocationARB(GLhandleARB program, char *name);<br \/>\nParameters:<br \/>\nprogram &#8211; \uc250\uc774\ub354 \ud504\ub85c\uadf8\ub7a8\uc758 \ud578\ub4e4<br \/>\nname &#8211; \ubcc0\uc218\uc758 \uc774\ub984<\/p>\n<p>\uba54\ubaa8\ub9ac\uc758 \ubcc0\uc218 \uc704\uce58\ub294 \uc704\uc758 \ud568\uc218\uc758 \ub9ac\ud134\uac12\uc73c\ub85c \uc54c\uc218\uc788\ub2e4. \ub2e4\uc74c \ub2e8\uacc4\ub294 \uac12\uc744 \uc9c0\uc815\ud558\ub294 \uac83\uc778\ub370, uniform \ubcc0\uc218\ucc98\ub7fc, \uac01 \ub370\uc774\ud130 \ud0c0\uc785\uc5d0 \ub300\ud55c \ud568\uc218\uac00 \uc788\ub2e4.<\/p>\n<p>OpenGL 2.0 \ubb38\ubc95\uc740 \uc544\ub798\uc640 \uac19\ub2e4.<\/p>\n<p>void glVertexAttrib1f(GLint location, GLfloat v0);<br \/>\nvoid glVertexAttrib2f(GLint location, GLfloat v0, GLfloat v1);<br \/>\nvoid glVertexAttrib3f(GLint location, GLfloat v0, GLfloat v2);<br \/>\nvoid glVertexAttrib4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);<\/p>\n<p>\ub610\ub294&#8230;<\/p>\n<p>GLint glVertexAttrib{1,2,3,4}fv(GLint location, GLfloat *v);<\/p>\n<p>Parameter:<br \/>\nlocation &#8211;\u00a0 \uc774\uc804\uc5d0 \uc9c8\uc758\ud574\uc11c \uc5bb\uc740 \ubcc0\uc218\uc758 \uba54\ubaa8\ub9ac \uc704\uce58<br \/>\nv0, v1, v2, v3 &#8211; \uc2e4\uc218\uac12<br \/>\nv &#8211; \uc2e4\uc218 \ubc30\uc5f4<\/p>\n<p>ARB \ud655\uc7a5\uc5d0 \ub300\ud55c \ubb38\ubc95\uc740 \uc544\ub798\uc640 \uac19\ub2e4.<\/p>\n<p>void glVertexAttrib1fARB(GLint location, GLfloat v0);<br \/>\nvoid glVertexAttrib2fARB(GLint location, GLfloat v0, GLfloat v1);<br \/>\nvoid glVertexAttrib3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);<br \/>\nvoid glVertexAttrib4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);<\/p>\n<p>\ub610\ub294&#8230;<\/p>\n<p>GLint glVertexAttrib{1,2,3,4}fvARB(GLint location, GLfloat *v);<\/p>\n<p>Parameter:<br \/>\nlocation &#8211; \uc774\uc804\uc5d0 \uc9c8\uc758\ud55c \ubcc0\uc218\uc758 \uc704\uce58<br \/>\nv0, v1, v2, v3 &#8211; \uc2e4\uc218 \ubcc0\uc218<br \/>\nv &#8211; \uc2e4\uc218 \ubc30\uc5f4<\/p>\n<p>\uc815\uc218\uc640 \uba87\uba87 \ub2e4\ub978 \ub370\uc774\ud130 \ud0c0\uc785\uc5d0 \ub300\ud55c \uc720\uc0ac\ud55c \ud568\uc218\uad70\uc774 \uc81c\uacf5\ub418\uc5b4\uc9c4\ub2e4. uniform \ubcc0\uc218\uc758 \uacbd\uc6b0\uc5d0\uc11c\ucc98\ub7fc \ubca1\ud130 \ubc84\uc804\uc5d0 \ub300\ud55c \uc124\uc815 \ud568\uc218\ub294 \uc81c\uacf5\ub418\uc9c0 \uc54a\ub294\ub2e4. \ubca1\ud130\uc5d0 \ub300\ud55c \uacbd\uc6b0\ub294 \ud558\ub098\uc758 Attribute \ubcc0\uc218\uc758 \uac12\uc73c\ub85c \uc9c0\uc815\ud560 \uc218 \uc788\ub294\ub370, \uc774\uac83\uc740 OpenGL\uc5d0\uc11c glColor3f\uc640 glColor3fv \ud568\uc218\uc758 \uc608\uc640 \ube44\uc2b7\ud558\ub2e4.<\/p>\n<p>\uc544\ub798 \uac04\ub2e8\ud55c \uc608\ub97c \uc0b4\ud3b4\ubcf4\uc790. \uc774 \uc608\ub294 \ubc84\ud14d\uc2a4 \uc250\uc774\ub354\uac00 \uc2e4\uc218\ud615 Attribute \ubcc0\uc218\ub85c\uc368 &#8220;height&#8221; \uc774\ub984\uc73c\ub85c \uc120\uc5b8\ub41c \uacbd\uc6b0\uc774\ub2e4. \uc250\uc774\ub354 \ud504\ub85c\uadf8\ub7a8\uc774 \ub9c1\ud06c\ub41c \ud6c4\uc5d0 \uc758\ubbf8\uac00 \uc788\ub294 \uc608\ub77c\ub294 \uc810\uc744 \uc5fc\ub450\ud574 \ub450\uae38 \ubc14\ub780\ub2e4.<\/p>\n<pre><code class=\"html\">loc = glGetAttribLocation(p, \"height\");<\/code><\/pre>\n<p>\ub80c\ub354\ub9c1 \ud568\uc218\uc5d0 \ub300\ud55c \ucf54\ub4dc \uc608\ub294 \uc544\ub798\uc640 \uac19\ub2e4.<\/p>\n<pre><code class=\"html\">glBegin(GL_TRIANGLE_STRIP);\r\n    glVertexAttrib1f(loc,2.0);\r\n    glVertex2f(-1,1);\r\n\r\n    glVertexAttrib1f(loc,2.0);\r\n    glVertex2f(1,1);\r\n\r\n    glVertexAttrib1f(loc,-2.0);\r\n    glVertex2f(-1,-1);\r\n\r\n    glVertexAttrib1f(loc,-2.0);\r\n    glVertex2f(1,-1);\r\nglEnd();<\/code><\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\uc5d0 \ub300\ud55c ARB \ud655\uc7a5\uc740 \ub9e4\uc6b0 \ube44\uc2b7\ud55c\ub370, \ub2e8\uc9c0 \ud568\uc218\uc5d0 ARB\ub9cc \ubd99\uc774\uae30\ub9cc \ud558\uba74 \ub41c\ub2e4.<\/p>\n<p>\uc704\uc758 \ucf54\ub4dc\uc5d0 \ub300\ud55c \uc804\uccb4 \uc0d8\ud50c\uc740 \uc544\ub798\ub97c \ud1b5\ud574 \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uae38 \ubc14\ub780\ub2e4.<\/p>\n<p style='text-align:center'><a href=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1261272185.zip\"><img width='64' src='\/images\/download.svg' \/><\/a><a href=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1241862686.zip\"><img width='64' src='\/images\/download.svg' \/><\/a><\/p>\n<p>\ubc84\ud14d\uc2a4 \ubc30\uc5f4\uc740 Attribute \ubcc0\uc218\uc640 \ud568\uaed8 \uc0ac\uc6a9\ub420 \uc218 \uc788\ub2e4. \uac00\uc7a5 \uba3c\uc800 \ud574\uc57c\ud560 \uac83\uc740 Array\ub97c \ud65c\uc131\ud654 \uc2dc\ud0a4\ub294 \uac83\uc778\ub370, \ud65c\uc131\ud654 \uc2dc\ud0a4\uae30 \uc704\ud574\uc11c\ub294 \ub2e4\uc74c OpenGL 2.0 \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4.<\/p>\n<p>void glEnableVertexAttribArray(GLint loc);<br \/>\nParameter:<br \/>\nloc &#8211; \ubcc0\uc218\uc758 \uc704\uce58<\/p>\n<p>ARB \ud655\uc7a5\uc758 \uacbd\uc6b0\ub294 \uc544\ub798\uc640 \uac19\ub2e4.<\/p>\n<p>void glEnableVertexAttribArrayARB(GLint loc);<br \/>\nParameter:<br \/>\nloc &#8211; \ubcc0\uc218\uc758 \uc704\uce58<\/p>\n<p>\uc774\uc81c \ub2e4\uc74c\uc73c\ub85c \ud574\uc57c\ud560 \uc77c\uc740, \ub2e4\uc74c \ud568\uc218\ub97c \uc0ac\uc6a9\ud574\uc11c \ubc30\uc5f4\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\ub294 \uac83\uc774\ub2e4. OpenGL 2.0 \ubb38\ubc95\uc774\ub2e4.<\/p>\n<p>void glVertexAttribPointer(GLint loc, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer);<br \/>\nParameters:<br \/>\nloc &#8211; \ubcc0\uc218\uc758 \uc704\uce58<br \/>\nsize &#8211; \ubc30\uc5f4 \uc694\uc18c\ub4e4\uc758 \uac1c\uc218\ub85c\uc368, \uc608\ub97c\ub4e4\uc5b4, float \uc778\uacbd\uc6b0 1, vec2\uc778 \uacbd\uc6b0 2, vec3\uc778 \uacbd\uc6b0\ub294 3<br \/>\ntype &#8211; \ub370\uc774\ud130 \ud0c0\uc785\uc73c\ub85c, \uc608\ub97c\ub4e4\uc5b4 GL_FLOAT<br \/>\nnormalized &#8211; \ub9cc\uc57d 1\uc778 \uacbd\uc6b0, \ubc30\uc5f4\uc758 \uac12\uc740 \uc815\uaddc\ub418\uc5b4\uc838 \uc788\ub2e4(\ubd80\ud638\uc788\ub294 \uacbd\uc6b0 -1~1, \ubd80\ud638\uac00 \uc5c6\ub294 \uacbd\uc6b0\ub294 0~1\ub85c \uc815\uaddc\ud654\ub418\uc5c8\ub2e4\ub294 \uc758\ubbf8)<br \/>\nstride &#8211; \ubc30\uc5f4 \uc694\uc18c \uc0ac\uc774\uc758 \uac04\uaca9. OpenGL\uc640 \uc815\ud655\ud788 \ub3d9\uc77c\ud568<br \/>\npointer &#8211; \ub370\uc774\ud130\ub97c \uac00\uc9c0\uace0 \uc788\ub294 \ubc30\uc5f4\uc758 \ud3ec\uc778\ud130<\/p>\n<p>ARB \ud655\uc7a5 \ubb38\ubc95\uc740..<\/p>\n<p>void glVertexAttribPointerARB(GLint loc, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer);<br \/>\nParameters:<br \/>\nloc &#8211; \ubcc0\uc218\uc758 \uc704\uce58<br \/>\nsize &#8211; \ubc30\uc5f4 \uc694\uc18c\ub4e4\uc758 \uac1c\uc218\ub85c\uc368, \uc608\ub97c\ub4e4\uc5b4, float \uc778\uacbd\uc6b0 1, vec2\uc778 \uacbd\uc6b0 2, vec3\uc778 \uacbd\uc6b0\ub294 3<br \/>\ntype &#8211; \ub370\uc774\ud130 \ud0c0\uc785\uc73c\ub85c, \uc608\ub97c\ub4e4\uc5b4 GL_FLOAT<br \/>\nnormalized &#8211; \ub9cc\uc57d 1\uc778 \uacbd\uc6b0, \ubc30\uc5f4\uc758 \uac12\uc740 \uc815\uaddc\ub418\uc5b4\uc838 \uc788\ub2e4(\ubd80\ud638\uc788\ub294 \uacbd\uc6b0 -1~1, \ubd80\ud638\uac00 \uc5c6\ub294 \uacbd\uc6b0\ub294 0~1\ub85c \uc815\uaddc\ud654\ub418\uc5c8\ub2e4\ub294 \uc758\ubbf8)<br \/>\nstride &#8211; \ubc30\uc5f4 \uc694\uc18c \uc0ac\uc774\uc758 \uac04\uaca9. OpenGL\uc640 \uc815\ud655\ud788 \ub3d9\uc77c\ud568<br \/>\npointer &#8211; \ub370\uc774\ud130\ub97c \uac00\uc9c0\uace0 \uc788\ub294 \ubc30\uc5f4\uc758 \ud3ec\uc778\ud130<\/p>\n<p>\uc774\uc81c \uc544\ub798\uc5d0 \uc18c\uc2a4 \ucf54\ub4dc\ub97c \uc0b4\ud3b4\ubcf4\ub77c. \uccab\ubc88\uc9f8 \ucd08\uae30\ud654 \ub2e8\uacc4\uc5d0 \uc774\uc5b4, 2\uac1c\uc758 \ubc30\uc5f4\uc774 \uc788\ub294\ub370, \ubc84\ud14d\uc2a4 \ubc30\uc5f4\uacfc \uc18d\uc131 \ubc30\uc5f4\uc774\ub2e4. &#8220;height&#8221; \ubcc0\uc218\ub294 \uc801\ub2f9\ud55c \uc704\uce58\uc5d0 \uc120\uc5b8\ub418\uc5b4\uc838 \uc788\ub2e4\uace0 \uac00\uc815\ud560 \uc218 \uc788\ub294\ub370, \uc608\ub97c\ub4e4\uc5b4\uc11c \ub80c\ub354\ub9c1\ud560\ub54c \ub4f1\uacfc \uac19\uc740 \uc2dc\uae30\uc5d0 \uc811\uadfc\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"html\">float vertices[8] = {-1,1, 1,1, -1,-1, 1,-1};\r\nfloat heights[4] = {2,2,-2,-2};\r\n\t\r\n...\r\n\t\r\nloc = glGetAttribLocationARB(p,\"height\");\r\n\r\nglEnableClientState(GL_VERTEX_ARRAY);\r\nglEnableVertexAttribArrayARB(loc);\r\n\r\nglVertexPointer(2,GL_FLOAT,0,vertices);\r\nglVertexAttribPointerARB(loc,1,GL_FLOAT,0,0,heights);<\/code><\/pre>\n<p>\uc804\uccb4 \uc18c\uc2a4 \ucf54\ub4dc\ub294 \uc544\ub798\ub97c \ud1b5\ud574 \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uae30 \ubc14\ub780\ub2e4.<\/p>\n<p><a href=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1086297923.zip\">1086297923.zip<\/a><a href=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1121909455.zip\">1121909455.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GLSL\uc744 \uc704\ud55c OpenGL \uc124\uc815 &#8211; Attribute \ubcc0\uc218 \uc6d0\ubb38 : http:\/\/www.lighthouse3d.com\/opengl\/glsl\/index.php?oglattribute \uc774\uc804\uc758 Uniform \ubcc0\uc218 \uc139\uc158\uc5d0\uc11c \uc5b8\uae09\ud588\ub4ef\uc774,\u00a0 Uniform \ubcc0\uc218\ub294 \uc624\uc9c1 \ud504\ub9ac\ubbf8\ud2f0\ube0c\uc5d0 \uc758\ud574\uc11c\ub9cc \uc124\uc815\ud560 \uc218 \uc788\ub2e4. \uc989, Uniform \ubcc0\uc218\ub294 glBegin~glEnd \uc0ac\uc774\uc5d0\uc11c\ub294 \uc124\uc815\ud560 \uc218 \uc5c6\ub2e4. \ub9cc\uc57d\uc5d0 \ud504\ub9ac\ubbf8\ud2f0\ube0c\ub97c \uad6c\uc131\ud558\ub294 \ubc84\ud14d\uc2a4 \ub2f9\uc704\ub85c \ubcc0\uc218\ub97c \uc124\uc815\ud558\ub824\uace0 \ud55c\ub2e4\uba74 Attribute \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud574\uc57c\ub9cc \ud55c\ub2e4. \uc0ac\uc2e4 Attribute \ubcc0\uc218\ub294 \uc544\ubb34\ub54c\ub098 \uc124\uc815\ub420 \uc218 \uc788\ub2e4. Attribute \ubcc0\uc218\ub294 \ubc84\ud14d\uc2a4 \uc250\uc774\ub354\uc5d0\uc11c\ub9cc \uc77d\ud790 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=452\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;OpenGL Shader &#8211; 13&#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-452","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\/452","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=452"}],"version-history":[{"count":2,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/452\/revisions"}],"predecessor-version":[{"id":3588,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/452\/revisions\/3588"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=452"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}