{"id":1082,"date":"2012-12-17T06:04:52","date_gmt":"2012-12-16T21:04:52","guid":{"rendered":"http:\/\/fry.no.coocan.jp\/WordPress\/?p=1082"},"modified":"2012-12-17T06:07:38","modified_gmt":"2012-12-16T21:07:38","slug":"opengl%e3%80%80obj%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%80%80z%e3%83%90%e3%83%83%e3%83%95%e3%82%a1","status":"publish","type":"post","link":"http:\/\/fry.no.coocan.jp\/WordPress\/?p=1082","title":{"rendered":"OpenGL\u3000OBJ\u30d5\u30a1\u30a4\u30eb\u3000Z\u30d0\u30c3\u30d5\u30a1"},"content":{"rendered":"<p>OBJ\u30d5\u30a1\u30a4\u30eb\u3092OpenGL\u3067\u8868\u793a\u3059\u308b\u3053\u3068\u3092\u8a66\u307f\u307e\u3057\u305f\u3002<br \/>\n\u30cd\u30c3\u30c8\u306b\u306f\u3044\u304f\u3064\u304b\u306e\u65b9\u6cd5\u304c\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\uff08\u79c1\u306e\u74b0\u5883:Win7\uff09VC++2010Express\u3067\u3059\u3093\u306a\u3044\u308a\u52d5\u3044\u305f\u306e\u306f\u6b21\u306e\u30b5\u30a4\u30c8\u3067\u3057\u305f\u3002<br \/>\nhttp:\/\/asura.iaigiri.com\/OpenGL\/gl15.html<br \/>\n\u305f\u3060\u3001\u3053\u3053\u3067\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b\u3082\u306e\u306f\u30de\u30a6\u30b9\u3067\u81ea\u5728\u306b\u8996\u70b9\u3092\u5909\u3048\u3089\u308c\u308b\u3082\u306e\u3067\u3059\u3002\u79c1\u304c\u5fc5\u8981\u3068\u3057\u3066\u3044\u308b\u3082\u306e\u306f\u3001\u8996\u70b9\u306f\u81ea\u5206\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u5236\u5fa1\u3059\u308b\u306e\u3067\u3001\u8868\u793a\u3060\u3051\u3092\u3084\u3063\u3066\u304f\u308c\u308b\u3082\u306e\u3067\u3059\u3002<br \/>\n\u305d\u3053\u3067\u3001\u4e0a\u8a18\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u51fa\u6765\u308b\u3060\u3051\u624b\u3092\u304b\u3051\u305a\u306b\u5229\u7528\u3059\u308b\u65b9\u6cd5\u3092\u8003\u3048\u307e\u3057\u305f\u3002\uff08\u540c\u30b5\u30a4\u30c8\u3067\u306f\u65b0\u65e7\uff12\u3064\u306e\u65b9\u5f0f\u304c\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u79c1\u306f\u53e4\u3044\u65b9\u3092\u4f7f\u3044\u307e\u3057\u305f\uff09<\/p>\n<p>\u305d\u306e\u7d50\u679c\u3092\u307e\u3068\u3081\u3066\u304a\u304d\u307e\u3059\u3002\uff08VC++2010Express\u3092\u524d\u63d0\u3068\u3057\u307e\u3059\uff09<br \/>\n\u30b9\u30c6\u30c3\u30d7\uff11\uff1a\u4e0a\u306e\u30b5\u30a4\u30c8\u306e\u4e0b\u306e\u65b9\u306b\u3042\u308b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304b\u3089OBLMesh.lzh\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u3002<br \/>\n\u30b9\u30c6\u30c3\u30d7\uff12\uff1aOBJMesh.lzh\u3092\u89e3\u51cd\u3057\u3001OBJMesh\u30d5\u30a9\u30eb\u30c0\u30fc\u306e\u4e2d\u306b\u3042\u308bOBJMesh\u30d5\u30a9\u30eb\u30c0\u30fc\u306e\u4e2d\u304b\u3089OBJLoader.cpp\u3068OBJLoader.h\u3092\u62dd\u501f\u3059\u308b\u3002<br \/>\n\u30b9\u30c6\u30c3\u30d7\uff13\uff1a\u81ea\u5206\u3067\u4f5c\u3063\u305fOpenGL\u306e\u30e1\u30a4\u30f3\u3068\u306a\u308bcpp\u30d5\u30a1\u30a4\u30eb\u3068OBJLoader.cpp\u3068OBJLoader.h\u3092VC++2010\u306e\u4e00\u3064\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u5165\u308c\u308b\u3002<br \/>\n\u30b9\u30c6\u30c3\u30d7\uff13\uff1a\u81ea\u5206\u30e1\u30a4\u30f3\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u3001OBJ\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u305f\u3081\u306b\uff16\u70b9\u4fee\u6b63\u3059\u308b\u3002<\/p>\n<p>\u81ea\u5206\u3067\u4f5c\u308bOpenGL\u306e\u30e1\u30a4\u30f3\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u4f8b\u3092\uff12\u3064\u793a\u3059\u3002\uff16\u3064\u306e\u4fee\u6b63\u70b9\u306f\u3001\u2460\u304b\u3089\u2465\u306b\u793a\u3059\u3002<\/p>\n<p>\u8aad\u307f\u8fbc\u3080OBJ\u30d5\u30a1\u30a4\u30eb\u3068mtl\u30d5\u30a1\u30a4\u30eb\u306f\u3001cpp\u30d5\u30a1\u30a4\u30eb\u306e\u3042\u308b\u30d5\u30a9\u30eb\u30c0\u30fc\u306e\u4e2d\u306eMesh\u3068\u3044\u3046\u30d5\u30a9\u30eb\u30c0\u30fc\u306b\u5165\u3063\u3066\u3044\u308b\u3068\u3057\u3066\u3044\u308b\u3002\uff08\u2463\u3067\u6307\u5b9a\uff09<\/p>\n<p>\u30d7\u30ed\u30b0\u30e9\u30e0\uff11\uff08\u4e0a\u8a18\u30b5\u30a4\u30c8\u306e\u30e1\u30a4\u30f3\u3092\u5358\u7d14\u5316\u3057\u305f\u3082\u306e\uff09<br \/>\n\/\/\u3000include<br \/>\n#include \/\/\u2460<br \/>\n#include\u3000&lt;GL\/glut.h&gt;<br \/>\n#include &#8220;OBJLoader.h&#8221;\/\/\u2461<\/p>\n<p>\/\/\u3000global<br \/>\nint WindowWidth = 512;<br \/>\nint WindowHeight = 512;<br \/>\nchar WindowTitle[] = &#8220;OBJ\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u753b\u50cf&#8221;;<br \/>\nGLfloat lightColor[4] = { 1.0, 1.0, 1.0, 1.0 };<br \/>\nGLfloat lightPosition[4] = { 0.0, 100.0, 0.0, 0.0 };<\/p>\n<p>OBJMesh mesh; \/\/\u2462<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n\/\/\u3000\u3000SetLighting \u30e9\u30a4\u30c6\u30a3\u30f3\u30b0<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nvoid SetLighting() {<br \/>\nglEnable(GL_LIGHTING);<br \/>\nglEnable(GL_LIGHT0);<br \/>\nglLightfv(GL_LIGHT0, GL_POSITION, lightPosition);<br \/>\nglLightfv(GL_LIGHT0, GL_AMBIENT, lightColor);<br \/>\n}<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n\/\/\u3000\u3000Initialize \u521d\u671f\u5316\u51e6\u7406<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nvoid Initialize() {<br \/>\nglClearColor(0.3, 0.3, 1.0, 1.0); \/\/\u3000\u5857\u308a\u3064\u3076\u3057\u8272<br \/>\nglEnable(GL_DEPTH_TEST); \/\/\u3000\u6df1\u5ea6\u30c6\u30b9\u30c8\u6709\u52b9<br \/>\nSetLighting();<br \/>\nmesh.Load(&#8220;Mesh\/box.obj&#8221;); \/\/ \u2463\u3000OBJ\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f<br \/>\n}<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n\/\/\u3000\u3000Display \u30a6\u30a3\u30f3\u30c9\u30a6\u3078\u306e\u63cf\u753b<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nvoid Display() {<br \/>\nglClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);<br \/>\nglViewport(0, 0, WindowWidth, WindowHeight);<br \/>\nglMatrixMode(GL_PROJECTION);<br \/>\nglLoadIdentity();<br \/>\ngluPerspective(40.0, (double)WindowWidth\/(double)WindowHeight, 0.1, 1000.0);<br \/>\ngluLookAt(5.5,5.0,5.3,0.0,0.0,0.0,0.0,1.0,0.0);\u2464\u8996\u70b9\u3092\u76f4\u63a5\u6307\u5b9a<br \/>\nglMatrixMode(GL_MODELVIEW);<br \/>\nglLoadIdentity();<\/p>\n<p>\/\/ glPushMatrix();<\/p>\n<p>mesh.Render(1.0); \/\/ \u2465 OBJ\u30d5\u30a1\u30a4\u30eb\u3092\u63cf\u753b\uff08\u6570\u5024\u306f\u5927\u304d\u3055\uff09<\/p>\n<p>\/\/ glPopMatrix();<br \/>\nglutSwapBuffers(); \/\/\u3000\u30c0\u30d6\u30eb\u30d0\u30c3\u30d5\u30a1<br \/>\n}<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n\/\/\u3000\u3000Idle \u30a2\u30a4\u30c9\u30ea\u30f3\u30b0\u6642\u306e\u51e6\u7406<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nvoid Idle() {<br \/>\nglutPostRedisplay();<br \/>\n}<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n\/\/\u3000\u3000Reshape \u30b5\u30a4\u30ba\u5909\u66f4<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nvoid Reshape(int x, int y) {<br \/>\nWindowWidth = x;<br \/>\nWindowHeight = y;<br \/>\nif ( WindowWidth &lt; 1 ) WindowWidth = 1;<br \/>\nif ( WindowHeight &lt; 1 ) WindowHeight = 1;<br \/>\n}<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n\/\/\u3000\u3000main<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\nint main( int argc, char **argv ) {<br \/>\nglutInit(&amp;argc, argv);<br \/>\nglutInitWindowSize(WindowWidth, WindowHeight);<br \/>\nglutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE);<br \/>\nglutCreateWindow(WindowTitle);<br \/>\nglutDisplayFunc(Display);<br \/>\nglutReshapeFunc(Reshape);<br \/>\nglutIdleFunc(Idle);<br \/>\nInitialize();<br \/>\nglutMainLoop();<br \/>\nreturn 0;<br \/>\n}<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p>\n<p>\u30d7\u30ed\u30b0\u30e9\u30e0\uff12\uff1a\u3053\u308c\u306fz_buffer\uff08\u30c7\u30d7\u30b9\u30d0\u30c3\u30d5\u30a1\uff09\u306e\u5024\u3092\u8868\u793a\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u3042\u308b\u3002<br \/>\n\uff08\/\/z_buffer\u8868\u793abegin&#8230;.\/\/z_buffer\u8868\u793aend\u3092\u3001\u306f\u305a\u305b\u3070\u666e\u901a\u306e\u8868\u793a\u306b\u306a\u308b\uff09<\/p>\n<p>#include &lt;iostream&gt;\/\/\u2460<br \/>\n#include &lt;GL\/glut.h&gt;<br \/>\n#include &#8220;OBJLoader.h&#8221;\/\/\u2461<\/p>\n<p>OBJMesh mesh;\u00a0 \/\/\u2462<\/p>\n<p>void disp(void ) {<br \/>\nglClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);<br \/>\nglEnable(GL_DEPTH_TEST);<br \/>\n\/\/\u00a0\u00a0 glPushMatrix();<br \/>\nmesh.Render(1.0); \/\/ \u2465 OBJ\u30d5\u30a1\u30a4\u30eb\u3092\u63cf\u753b\uff08\u6570\u5024\u306f\u5927\u304d\u3055\uff09<\/p>\n<p>\/\/ z_buffer \u8868\u793abegin<br \/>\nfloat *data = new float[500*500];\/\/z_buff read read data<br \/>\nglReadPixels(0, 0, 500,500,GL_DEPTH_COMPONENT,GL_FLOAT,data);<\/p>\n<p>unsigned char bimage[500][500][3];\/\/z_buff write data<br \/>\nfor(int b=0 ; b&lt;500 ; b++){<br \/>\nfor(int a=0 ; a&lt;500 ; a++){<br \/>\nbimage[b][a][0] = bimage[b][a][1] = bimage[b][a][2]=(unsigned char)(data[b*500+a]*255);<br \/>\n}<br \/>\n}<\/p>\n<p>glDrawPixels(500, 500, GL_RGB, GL_UNSIGNED_BYTE, &amp;bimage[0][0][0]);<br \/>\n\/\/ z_buffer \u8868\u793aend<br \/>\nglDisable(GL_DEPTH_TEST);<br \/>\n\/\/\u00a0\u00a0 glPopMatrix();<br \/>\nglutSwapBuffers();<br \/>\n}<\/p>\n<p>void resize(int w,int h){<br \/>\nglViewport(0,0,w,h);<br \/>\nglLoadIdentity();<br \/>\nglOrtho(-2.0,2.0,-2.0,2.0,-2.0,2.0);\u2464\u6b63\u5c04\u5f71\u3092\u4f7f\u7528<br \/>\n}<\/p>\n<p>int main(int argc , char ** argv) {<br \/>\nglutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);<br \/>\nglutCreateWindow(&#8220;OBJfile&#8221;);<br \/>\nmesh.Load(&#8220;Mesh\/dosei.obj&#8221;);\u00a0\/\/ \u2463\u3000OBJ\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f<br \/>\nglutDisplayFunc(disp);<br \/>\nglutReshapeFunc(resize);<br \/>\nglutMainLoop();<br \/>\nreturn 0;<br \/>\n}<\/p>\n<p>\u5de6\u304c(\u4e0a\u8a18\u30b5\u30a4\u30c8\u306e)\u30aa\u30ea\u30b8\u30ca\u30eb\u3001\u53f3\u304cz\uff08\u30c7\u30d7\u30b9\uff09\u30d0\u30c3\u30d5\u30a1\u3092\u8868\u793a\u3057\u305f\u3082\u306e\u3067\u3059\uff08\u624b\u524d\u307b\u3069\u9ed2\u304f\u306a\u3063\u3066\u3044\u307e\u3059\uff09\u3002<\/p>\n<p><a href=\"http:\/\/fry.no.coocan.jp\/WordPress\/wp-content\/uploads\/2012\/12\/uri1.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1083\" title=\"uri1\" src=\"http:\/\/fry.no.coocan.jp\/WordPress\/wp-content\/uploads\/2012\/12\/uri1.png\" alt=\"\" width=\"154\" height=\"156\" \/><\/a>\u00a0\u3000<a href=\"http:\/\/fry.no.coocan.jp\/WordPress\/wp-content\/uploads\/2012\/12\/uri.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1084\" title=\"uri\" src=\"http:\/\/fry.no.coocan.jp\/WordPress\/wp-content\/uploads\/2012\/12\/uri.png\" alt=\"\" width=\"154\" height=\"154\" srcset=\"http:\/\/fry.no.coocan.jp\/WordPress\/wp-content\/uploads\/2012\/12\/uri.png 154w, http:\/\/fry.no.coocan.jp\/WordPress\/wp-content\/uploads\/2012\/12\/uri-150x150.png 150w\" sizes=\"(max-width: 154px) 100vw, 154px\" \/><\/a><\/p>\n<p>\uff1d\uff1dOBJ\u30d5\u30a1\u30a4\u30eb\u306e\u30b5\u30f3\u30d7\u30eb\uff08\u30cd\u30c3\u30c8\u304b\u3089\u62fe\u3063\u305f\uff09<br \/>\nbox.obj\u3068box.mtl<br \/>\n\uff1d\uff1d\uff1dbox.obj<br \/>\n# Created by Metasequoia<\/p>\n<p>mtllib box.mtl<\/p>\n<p>v -100.000000 100.000000 100.000000<br \/>\nv -100.000000 -100.000000 100.000000<br \/>\nv 100.000000 100.000000 100.000000<br \/>\nv 100.000000 -100.000000 100.000000<br \/>\nv 100.000000 100.000000 -100.000000<br \/>\nv 100.000000 -100.000000 -100.000000<br \/>\nv -100.000000 100.000000 -100.000000<br \/>\nv -100.000000 -100.000000 -100.000000<br \/>\n# 8 vertices<\/p>\n<p>vt 0.00000 0.00000<br \/>\nvt 1.00000 0.00000<br \/>\nvt 1.00000 1.00000<br \/>\nvt 0.00000 1.00000<br \/>\n# 4 texture vertices<\/p>\n<p>vn 0.00000 0.00000 1.00000<br \/>\nvn 1.00000 0.00000 0.00000<br \/>\nvn 0.00000 0.00000 -1.00000<br \/>\nvn -1.00000 0.00000 0.00000<br \/>\nvn 0.00000 1.00000 0.00000<br \/>\nvn 0.00000 -1.00000 0.00000<br \/>\n# 6 normal vertices<\/p>\n<p>usemtl default<br \/>\nf 2\/4\/1 4\/3\/1 3\/2\/1 1\/1\/1<br \/>\nf 4\/4\/2 6\/3\/2 5\/2\/2 3\/1\/2<br \/>\nf 6\/4\/3 8\/3\/3 7\/2\/3 5\/1\/3<br \/>\nf 8\/4\/4 2\/3\/4 1\/2\/4 7\/1\/4<br \/>\nf 1\/4\/5 3\/3\/5 5\/2\/5 7\/1\/5<br \/>\nf 8\/4\/6 6\/3\/6 4\/2\/6 2\/1\/6<br \/>\n# 6 elements<br \/>\n===<br \/>\n====boxmtl<br \/>\n# Created by Metasequoia<\/p>\n<p>newmtl default<br \/>\nKa 0.60000 0.60000 0.60000<br \/>\nKd 0.80000 0.80000 0.80000<br \/>\nKs 0.00000 0.00000 0.00000<br \/>\nNs 5.00000<\/p>\n<p>========<br \/>\n(obj\u3068mtl\u306e\u884c\u306e\u958b\u59cb\u90e8\u306b\u30b9\u30da\u30fc\u30b9\u304c\u5165\u3063\u3066\u3044\u308b\u3068\u30c0\u30e1)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OBJ\u30d5\u30a1\u30a4\u30eb\u3092OpenGL\u3067\u8868\u793a\u3059\u308b\u3053\u3068\u3092\u8a66\u307f\u307e\u3057\u305f\u3002 \u30cd\u30c3\u30c8\u306b\u306f\u3044\u304f\u3064\u304b\u306e\u65b9\u6cd5\u304c\u793a\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\uff08\u79c1\u306e\u74b0\u5883:Win7\uff09VC++2010Express\u3067\u3059\u3093\u306a\u3044\u308a\u52d5\u3044\u305f\u306e\u306f\u6b21\u306e\u30b5\u30a4\u30c8\u3067\u3057\u305f\u3002 http:\/\/asura &hellip; <a href=\"http:\/\/fry.no.coocan.jp\/WordPress\/?p=1082\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=\/wp\/v2\/posts\/1082"}],"collection":[{"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1082"}],"version-history":[{"count":4,"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=\/wp\/v2\/posts\/1082\/revisions"}],"predecessor-version":[{"id":1086,"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=\/wp\/v2\/posts\/1082\/revisions\/1086"}],"wp:attachment":[{"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1082"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/fry.no.coocan.jp\/WordPress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}