{"id":12,"date":"2005-05-02T06:07:00","date_gmt":"2005-05-02T06:07:00","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=12"},"modified":"2017-01-29T20:34:13","modified_gmt":"2017-01-29T11:34:13","slug":"opengl-tutorial-translate-rotate-and-scale-objects","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=12","title":{"rendered":"[OpenGL Tutorial] Translate, Rotate and Scale Objects"},"content":{"rendered":"<p><P><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1404280296.jpg\" class=\"alignleft\" width=\"200\" height=\"150\" alt=\"\uc0ac\uc6a9\uc790 \uc0bd\uc785 \uc774\ubbf8\uc9c0\" \/>\uc774\ubc88\uc5d0\ub294 \ud654\uba74\uc0c1\uc758 \ubb3c\uccb4(\uc810, \uc120, \ud3f4\ub9ac\uace4, \uadf8\ub9ac\uace0 \uc774\ub4e4\uc758 \uc870\ud569\uc73c\ub85c \uc774\ub8e8\uc5b4\uc9c4 \uac83\ub4e4)\uc744 \uc6c0\uc9c1\uc5ec \ubcf4\uace0 \ud68c\uc804 \uc2dc\ucf1c \ubcf4\uba70 \ud06c\uae30\ub97c \ubcc0\uacbd\ud558\ub294 \uac83\uc5d0 \ub300\ud574\uc11c \uc0b4\ud3b4\ubcf4\uc790. \uc774 \uc7a5\uc740 1\uc7a5\uc758 \uc18c\uc2a4\uc5d0\uc11c \ucd9c\ubc1c\uc744 \ud55c\ub2e4.<\/P><P>\uba3c\uc800 \uc774\ub3d9\uacfc \ud68c\uc804 \uadf8\ub9ac\uace0 \ud06c\uae30\ub97c \uc870\uc808\ud560 \ub300\uc0c1\uc774 \ub418\ub294 \uac04\ub2e8\ud55c \ubb3c\uccb4\ub97c \uc0dd\uc131\ud574 \ubcf4\uc790. \ubb50\uac00 \uc88b\uc744\uae4c? \uc815\uc721\uba74\uccb4\ub85c \ud558\uc790. \uc815\uc721\uba74\uccb4\ub294 \uba74\uc774 6\uac1c\uc774\uba70 \uaf2d\uc9c0\uc810\uc774 8\uac1c\uc778 \ubb3c\uac74(?)\uc774\ub2e4. \uaf2d\uc9c0\uc810\uc774 8\uac1c \uc774\ubbc0\ub85c \uc6b0\ub9ac\ub294 8\uac1c\uc758 \uc88c\ud45c\ub97c \uc54c\uace0 \uc788\uc5b4\uc57c \ud55c\ub2e4. \ub2e4\uc74c\uc758 \ucf54\ub4dc\ub294 \ud654\uba74\uc0c1\uc5d0 \uc815\uc721\uba74\uccb4\ub97c \uadf8\ub824\uc8fc\ub294 glDrawGLScene \ud568\uc218\uc758 \ucf54\ub4dc\uc774\ub2e4.<\/P><\/p>\n<pre>int DrawGLScene(GLvoid)\r\n{\r\n    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\r\n    glLoadIdentity();\r\n    glTranslatef(0.0f,0.0f,-10.0f);\r\n    glColor3f(1.0f, 1.0f, 1.0f);\r\n    glBegin(GL_LINE_LOOP);\r\n    glVertex3f(-1.0f, 1.0f, 1.0f);\r\n    glVertex3f(1.0f, 1.0f, 1.0f);\r\n    glVertex3f(1.0f, -1.0f, 1.0f);\r\n    glVertex3f(-1.0f, -1.0f, 1.0f);\r\n    glEnd(); \r\n   \r\n    glBegin(GL_LINE_LOOP);\r\n    glVertex3f(-1.0f, 1.0f, -1.0f);\r\n    glVertex3f(1.0f, 1.0f, -1.0f);\r\n    glVertex3f(1.0f, -1.0f, -1.0f);\r\n    glVertex3f(-1.0f, -1.0f, -1.0f);\r\n    glEnd();\r\n   \r\n    glBegin(GL_LINES);\r\n    glVertex3f(-1.0f, 1.0f, 1.0f);\r\n    glVertex3f(-1.0f, 1.0f, -1.0f);\r\n    glVertex3f(1.0f, 1.0f, 1.0f);\r\n    glVertex3f(1.0f, 1.0f, -1.0f);\r\n    glVertex3f(1.0f, -1.0f, 1.0f);\r\n    glVertex3f(1.0f, -1.0f, -1.0f);\r\n    glVertex3f(-1.0f, -1.0f, 1.0f);\r\n    glVertex3f(-1.0f, -1.0f, -1.0f);\r\n    glEnd();\r\n    return TRUE;\r\n} \t<\/pre>\n<p>2\uc7a5\uc744 \ucda9\ubd84\uc774 \uc774\ud574\ud558\uace0 \uc788\ub2e4\uba74 \uc804\ud600 \uc5b4\ub824\uc6b4 \ubd80\ubd84\uc774 \uc5c6\ub2e4. \uc774\ud574\uac00 \uac00\uc9c0 \uc54a\ub294 \ub3c5\uc790\uac00 \uc788\ub2e4\uba74 2\uc7a5\uc744 \ubcf4\uae30 \ubc14\ub780\ub2e4. \ucf54\ub529\uc744 \ub05d\ub9c8\uce5c\ud6c4 \uc2e4\ud589\ud574\ubcf4\uc790. \ub2e4\uc74c\uc740 \uadf8 \uc2e4\ud589 \uacb0\uacfc\uc774\ub2e4.<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1098914868.gif\" class=\"aligncenter\" width=\"272\" height=\"229\" alt=\"\uc0ac\uc6a9\uc790 \uc0bd\uc785 \uc774\ubbf8\uc9c0\" \/><P>\ud639\uc2dc \uc774\ub7f0 \uc9c8\ubb38\uc744 \ub358\uc9c0\ub294 \ub3c5\uc790\uac00 \uc788\uc744\uc9c0\ub3c4 \ubaa8\ub974\uaca0\ub2e4. \uc815\uc721\uba74\uccb4\ub77c\uace0 \ud588\ub294\ub370 \uc55e\uba74\uacfc \ub4b7\uba74\uc758 \ud06c\uae30\uac00 \ub2e4\ub974\uc9c0 \uc54a\ub294\uac00?\ub77c\uace0&#8230; \ub2f5\ubd80\ud130 \ub9d0\ud558\uc790\uba74 \uc55e\uba74\uacfc \ub4b7\uba74\uc758 \ud06c\uae30\ub294 \ubd84\uba85\uc774 \ub3d9\uc77c\ud558\ub2e4. \ub2ec\ub77c\ubcf4\uc774\ub294 \uc774\uc720\ub294 \uc880\ub354 \uc0ac\uc2e4\uc801\uc778 \uc5f0\ucd9c\uc744 \uc704\ud574 \uc6d0\uadfc\uac10\uc774 \uc801\uc6a9\ub418\uc5c8\uae30 \ub54c\ubb38\uc774\ub2e4.<\/P><P>\uc790, \uc774\uc81c \ubb3c\uccb4\uc758 \uc774\ub3d9, \ud68c\uc804, \ud06c\uae30\uc870\uc808(\uc2a4\ucf00\uc77c)\uc744 \ud560 \ubb3c\uccb4\uac00 \uc900\ube44\ub418\uc5c8\ub2e4. <\/P><P>\uba3c\uc800 \ub3c5\uc790\uc5d0\uac8c \uc8fc\uc9c0 \uc2dc\ucf1c\uc57c \ud560\uac83\uc774 \uc788\ub2e4. \uadf8\uac83\uc740 \ud544\uc790\uac00 \ub9d0\ud55c \ubb3c\uccb4\uc758 \uc774\ub3d9, \ubb3c\uccb4\uc758 \ud68c\uc804, \ubb3c\uccb4\uc758 \ud06c\uae30\uc870\uc808\uc774\ub77c\ub294 \ub9d0\uc5d0\uc11c \ud48d\uae30\ub294 \uc758\ubbf8\uc804\ub2ec\uc758 \uc624\ub958\ub97c \ubc14\ub85c \uc7a1\uace0\uc790 \ud55c\ub2e4. OpenGL\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \uc791\uc5c5\uc744 \uc88c\ud45c\uccb4\uacc4\ub97c \ubcc0\uacbd\ud568\uc73c\ub85c\uc368 \uc774\ub8e8\uc5b4\uc9c4\ub2e4\ub294 \uac83\uc774\ub2e4. \uc989 \ubb3c\uccb4\uc758 \uc774\ub3d9\uc5d0 \uc788\uc5b4\uc11c \uc2e4\uc81c\ub85c \ubb3c\uccb4\ub97c \uc774\ub3d9\ud558\ub294 \uac83\uc774 \uc544\ub2c8\uace0 \uc88c\ud45c\ucd95\uc744 \uc774\ub3d9\uc2dc\ud0a8\ud6c4\uc5d0 \ubb3c\uccb4\ub97c \uadf8\ub824\uc8fc\ub294 \uac83\uc774\ub2e4. \ud68c\uc804\ub3c4 \ub9c8\ucc2c\uac00\uc9c0\uc774\ub2e4. \uba3c\uc800 \uc88c\ud45c\ucd95\uc744 \uc9c0\uc815\ub41c \uac01\uc73c\ub85c \ud68c\uc804\uc2dc\ud0a8\ud6c4\uc5d0 \uadf8 \ud68c\uc804 \uc88c\ud45c\ucd95 \uc0c1\uc5d0 \ubb3c\uccb4\ub97c \uadf8\ub824\uc8fc\ub294 \uac83\uc774\ub2e4. \uacb0\uad6d \uc6b0\ub9ac\uac00 \uc6d0\ud558\ub294 \uc0c1\ud0dc\uc758 \ubb3c\uccb4\ub97c \uc5bb\uc744 \uc218 \uc788\ub2e4\ub294 \uac83\uc774\ub2e4. \uc790 \uc9c0\uae08\uae4c\uc9c0\uc758 \ubaa8\ub4e0 \uac83\uc744\uc744 \uc774\ud574\ud588\ub2e4\uba74 \uc774\uc81c \uc2e4\uc81c \uc6b0\ub9ac\uac00 \uc6d0\ud558\ub294 \uac83\ub4e4\uc744 \ud574\ubcf4\uc790!!<\/P><P>\uba3c\uc800 \ubb3c\uccb4\ub97c \uc774\ub3d9\uc2dc\ucf1c\ubcf4\uc790. \uc67c\ucabd\uc73c\ub85c 1.0\ub9cc\ud07c, \uc704\ucabd\uc73c\ub85c 1.0\ub9cc\ud07c \uc88c\ud45c\uccb4\uacc4\ub97c \uc774\ub3d9\uc2dc\ud0a4\ub294 \uac83\uc740 \uc5b4\ub5bb\uac8c \ub420\uae4c? \ubc14\ub85c \ub2e4\uc74c \ud55c\uc904\uc758 \ucf54\ub4dc\uac00 \uadf8\ub7ec\ud55c \uc77c\uc744 \ud55c\ub2e4.<\/P><\/p>\n<pre>glTranslatef(1.0f, 1.0f, 0.0f); <\/pre>\n<p>glTranslatef \ud568\uc218\uc758 \uccab\ubc88\uc9f8 \uc778\uc790\ub294 X\ucd95\uc73c\ub85c \uc774\ub3d9\uac12, \ub450\ubc88\uc9f8\uc640 \uc138\ubc88\uc9f8\ub294 \uac01\uac01 Y\ucd95\uacfc Z\ucd95\uc73c\ub85c\uc758 \uc774\ub3d9\uac12\uc774\ub2e4. \uc774 \ud568\uc218\ub97c \uc5b4\ub514\uc5d0 \uc704\uce58\uc2dc\ucf1c\uc57c \ud558\ub294\uac00? \ubc14\ub85c \ubb3c\uccb4\ub97c \uadf8\ub824\uc8fc\uae30 \ubc14\ub85c \uc804\uc5d0 \uc0ac\uc6a9\ud558\uba74 \ub418\uaca0\ub2e4. \ub2e4\uc74c \ucf54\ub4dc\uc758 <*> \ucf54\ub4dc\uac00 \uadf8 \uc8fc\uc778\uacf5\uc774\ub2e4. <\/p>\n<pre>int DrawGLScene(GLvoid)\r\n{\r\n    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\r\n    glLoadIdentity();\r\n    glTranslatef(0.0f,0.0f,-10.0f);\r\n    glColor3f(1.0f, 1.0f, 1.0f);\r\n    \r\n    glTranslatef(1.0f, 1.0f, 0.0f); \/\/ <*>\r\n   \r\n    glBegin(GL_LINE_LOOP);\r\n    glVertex3f(-1.0f, 1.0f, 1.0f);\r\n    glVertex3f(1.0f, 1.0f, 1.0f);\r\n    glVertex3f(1.0f, -1.0f, 1.0f);\r\n    glVertex3f(-1.0f, -1.0f, 1.0f);\r\n    glEnd(); \r\n   \r\n       .\r\n       .\r\n       .\r\n   \r\n    return TRUE;\r\n}<\/pre>\n<p>\uc544\ub798\ub294 \uc2e4\ud589 \uacb0\uacfc\uc774\ub2e4. \uc6b0\ub9ac\uac00 \uc6d0\ud558\ub294 \ub300\ub85c \ubb3c\uccb4\uac00 \uc774\ub3d9\ub418\uc5c8\uc74c\uc744 \uc54c\uc218\uc788\ub2e4.<\/P><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1069552502.gif\" class=\"aligncenter\" width=\"315\" height=\"269\" alt=\"\uc0ac\uc6a9\uc790 \uc0bd\uc785 \uc774\ubbf8\uc9c0\" \/><br \/>\n<P>\uc774\uc81c \ubb3c\uccb4\ub97c \ud68c\uc804\uc2dc\ucf1c\ubcf4\ub294 \uac83\uc744 \uc54c\uc544\ubcf4\uc790. Z\ucd95\uc73c\ub85c 45\ub3c4 \ud68c\uc804\uc2dc\ucf1c\ubcf4\ub294 \uac83\uc73c\ub85c \uc608\ub97c \ub4e4\uc5b4\ubcf4\uc790. \ub2e4\uc74c\uc740 \uc88c\ud45c\ucd95\uc744 Z\ucd95\uc73c\ub85c 45\ub3c4 \ud68c\uc804\uc2dc\ud0a4\ub294 \ucf54\ub4dc\uc774\ub2e4.<\/P><\/p>\n<pre>glRotatef(45.0f, 0.0f, 0.0f, 1.0f)<\/pre>\n<p><P>\uccab\ubc88\uc9f8 \uc778\uc790\ub294 \ud68c\uc804\uac01(60\ub3c4)\uc774\uace0 \ub098\uba38\uc9c0 \uc778\uc790\ub4e4\uc740 X,Y,Z\ucd95\uc0c1\uc758 \uac12\ub4e4\uc774\ub2e4. (0.0, 0.0, 1.0)\uc774 Z\ucd95\uc744 \uae30\uc900\uc73c\ub85c \ud68c\uc804\ud55c\ub2e4\ub294 \uc758\ubbf8\ub370 \ud68c\uc804\uc744 \ud560\ub54c\ub294 \ubc18\ub4dc\uc2dc \ud68c\uc804\ucd95\uc774 \ud544\uc694\ud558\ub2e4. \ubc14\ub85c (0.0, 0.0, 1.0)\uc774 \ud68c\uc804\ucd95\uc744 \uc9c0\uc815\ud574 \uc8fc\ub294 \uac83\uc774\ub2e4. \uc6d0\uc810\uc5d0\uc11c (0.0, 0.0, 1.0)\uc744 \uc787\ub294 \uc120, \ubc14\ub85c \uc774 \uc120\uc774 \ud68c\uc804\ucd95\uc778 \uac83\uc774\ub2e4. \uadf8\ub807\ub2e4\uba74 \uc774 \ucf54\ub4dc\uc758 \uc704\uce58\ub294 \uc5b4\ub514\uc778\uac00? \ub9c8\ucc2c\uac00\uc9c0\ub85c \ubb3c\uccb4\ub97c \uadf8\ub824\uc8fc\uae30 \ubc14\ub85c \uc804\uc5d0 \uc704\uce58\ud558\uba74 \ub418\uaca0\ub2e4. <\/P><\/p>\n<pre>int DrawGLScene(GLvoid)\r\n{\r\n    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\r\n    glLoadIdentity();\r\n    glTranslatef(0.0f,0.0f,-10.0f);\r\n    glColor3f(1.0f, 1.0f, 1.0f);\r\n    \r\n    glRotatef(45.0f, 0.0f, 0.0f, 1.0f); \/\/ <*>\r\n    \r\n    glBegin(GL_LINE_LOOP);\r\n    glVertex3f(-1.0f, 1.0f, 1.0f);\r\n    glVertex3f(1.0f, 1.0f, 1.0f);\r\n    glVertex3f(1.0f, -1.0f, 1.0f);\r\n    glVertex3f(-1.0f, -1.0f, 1.0f);\r\n    glEnd(); \r\n    \r\n         .\r\n         .\r\n         .\r\n    \r\n    return TRUE;\r\n} <\/pre>\n<p>\ub2e4\uc74c\uc740 \uc2e4\ud589 \uacb0\uacfc\uc758 \ud654\uba74\uc774\ub2e4.<\/P><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1264784939.gif\" class=\"aligncenter\" width=\"270\" height=\"237\" alt=\"\uc0ac\uc6a9\uc790 \uc0bd\uc785 \uc774\ubbf8\uc9c0\" \/><br \/>\n<P>\uc5b4\ub5a4\uac00 \uc0dd\uac01\ud588\ub358 \ub300\ub85c \ud68c\uc804\uc774 \uc774\ub8e8\uc5b4 \uc84c\ub294\uac00?<\/p>\n<p>\uc774\uc81c \ub2e4\uc74c\uc73c\ub85c \ubb3c\uccb4\uc758 \ud06c\uae30\uc870\uc808\uc5d0 \ub300\ud55c \uac83\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\ub3c4\ub85d \ud558\uaca0\ub2e4. \ubb3c\uccb4\ub97c Y\ucd95\uc73c\ub85c 2\ubc30 \ub298\ub824\ubcf4\uc790. \ub2e4\ub978 \uc88c\ud45c\ucd95\ubcf4\ub2e4 Y\ucd95\uc73c\ub85c 2\ubc30\uc758 \uac12\uc73c\ub85c \uc99d\uac00\ud558\ub294 \uc88c\ud45c\ucd95\uc744 \uad6c\uc131\ud558\uba74 \ubb3c\uccb4\ub3c4 \uadf8\uc5d0 \ub530\ub77c Y\ucd95\uc73c\ub85c 2\ubc30 \ub298\uc5b4\ub0a0 \uac83\uc774\ub2e4. \ubc14\ub85c \uc544\ub798\uac00 \uadf8\ub7ec\ud55c \uc77c\uc744 \ud558\ub294 \ucf54\ub4dc\uc774\ub2e4.<\/P><\/p>\n<pre>glScalef(1.0, 2.0f, 1.0f);<\/pre>\n<p><P>\uccab\ubc88\uc9f8 \uc778\uc790\ub294 X\ucd95 \uc88c\ud45c\uac12\uc758 \uc99d\uac00\ubc30\uc218\uac12\uc774\uace0 \ub450\ubc88\uc9f8\uc640 \uc138\ubc88\uc9f8\uac00 \uac01\uac01 Y, Z\ucd95\uc758 \uc88c\ud45c\uac12\uc758 \uc99d\uac00 \ubc30\uc218\uc774\ub2e4. \ub450\ubc88\uc9f8 \uac12\uc744 2.0\uc73c\ub85c \uc7a1\uc544\uc90c\uc73c\ub85c\uc368 Y\ucd95\uc758 \uc88c\ud45c\ucd95 \uac12\uc744 \ub2e4\ub978 \ucd95\uc5d0 \ube44\ud574 2\ubc30\ub85c \uc99d\uac00\ud558\uac8c \ub418\ub294 \uac83\uc774\ub2e4. \uc774 \ucf54\ub4dc\uc758 \uc704\uce58\ud574\uc57c\ud560 \uacf3\uc740 \ub610 \uc5b4\ub514\uc778\uac00? \ub9c8\ucc2c\uac00\uc9c0\ub85c \ubb3c\uccb4\ub97c \uadf8\ub9ac\uae30 \ubc14\ub85c \uc804\uc5d0 \uc704\uce58\ud558\uba74 \ub41c\ub2e4.<\/P><\/p>\n<pre>int DrawGLScene(GLvoid)\r\n{\r\n    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\r\n    glLoadIdentity();\r\n    glTranslatef(0.0f,0.0f,-10.0f);\r\n    glColor3f(1.0f, 1.0f, 1.0f);\r\n   \r\n    glScalef(1.0, 2.0f, 1.0f);\r\n   \r\n    glBegin(GL_LINE_LOOP);\r\n    glVertex3f(-1.0f, 1.0f, 1.0f);\r\n    glVertex3f(1.0f, 1.0f, 1.0f);\r\n    glVertex3f(1.0f, -1.0f, 1.0f);\r\n    glVertex3f(-1.0f, -1.0f, 1.0f);\r\n    glEnd(); \r\n   \r\n       .\r\n       .\r\n       .\r\n   \r\n    return TRUE;\r\n} <\/pre>\n<p>\ub610 \ub2e4\uc74c\uc740 \uadf8 \uc2e4\ud589 \uacb0\uacfc\uc774\ub2e4. <\/P><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1170298450.gif\" class=\"aligncenter\" width=\"304\" height=\"282\" alt=\"\uc0ac\uc6a9\uc790 \uc0bd\uc785 \uc774\ubbf8\uc9c0\" \/><br \/>\n<P>\uc5b4\ub5a4\uac00. \uc6b0\ub9ac\uac00 \uc6d0\ud558\ub294 \ub300\ub85c \ubb3c\uccb4\uac00 Y\ucd95\uc73c\ub85c 2\ubc30 \uae38\uc5b4\uc84c\ub2e4. <\/P><P>\uc774\ub85c\uc368 \ubb3c\uccb4\uc758 \uc774\ub3d9, \ud68c\uc804, \uc2a4\ucf00\uc774\ub9c1\uc5d0 \ub300\ud55c \uc7a5\uc744 \ub9c8\uce58\uaca0\ub2e4.<\/p>\n<p style='text-align:center'><a href=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/1\/1209851253.zip\"><img width='64' src='\/images\/download.svg' \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc774\ubc88\uc5d0\ub294 \ud654\uba74\uc0c1\uc758 \ubb3c\uccb4(\uc810, \uc120, \ud3f4\ub9ac\uace4, \uadf8\ub9ac\uace0 \uc774\ub4e4\uc758 \uc870\ud569\uc73c\ub85c \uc774\ub8e8\uc5b4\uc9c4 \uac83\ub4e4)\uc744 \uc6c0\uc9c1\uc5ec \ubcf4\uace0 \ud68c\uc804 \uc2dc\ucf1c \ubcf4\uba70 \ud06c\uae30\ub97c \ubcc0\uacbd\ud558\ub294 \uac83\uc5d0 \ub300\ud574\uc11c \uc0b4\ud3b4\ubcf4\uc790. \uc774 \uc7a5\uc740 1\uc7a5\uc758 \uc18c\uc2a4\uc5d0\uc11c \ucd9c\ubc1c\uc744 \ud55c\ub2e4.\uba3c\uc800 \uc774\ub3d9\uacfc \ud68c\uc804 \uadf8\ub9ac\uace0 \ud06c\uae30\ub97c \uc870\uc808\ud560 \ub300\uc0c1\uc774 \ub418\ub294 \uac04\ub2e8\ud55c \ubb3c\uccb4\ub97c \uc0dd\uc131\ud574 \ubcf4\uc790. \ubb50\uac00 \uc88b\uc744\uae4c? \uc815\uc721\uba74\uccb4\ub85c \ud558\uc790. \uc815\uc721\uba74\uccb4\ub294 \uba74\uc774 6\uac1c\uc774\uba70 \uaf2d\uc9c0\uc810\uc774 8\uac1c\uc778 \ubb3c\uac74(?)\uc774\ub2e4. \uaf2d\uc9c0\uc810\uc774 8\uac1c \uc774\ubbc0\ub85c \uc6b0\ub9ac\ub294 8\uac1c\uc758 \uc88c\ud45c\ub97c \uc54c\uace0 \uc788\uc5b4\uc57c &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=12\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[OpenGL Tutorial] Translate, Rotate and Scale Objects&#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],"class_list":["post-12","post","type-post","status-publish","format-standard","hentry","category-opengl","tag-opengl"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/12","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=12"}],"version-history":[{"count":5,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/12\/revisions"}],"predecessor-version":[{"id":3841,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/12\/revisions\/3841"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}