{"id":2908,"date":"2023-05-08T02:13:31","date_gmt":"2023-05-07T17:13:31","guid":{"rendered":"https:\/\/mirror.boy.jp\/?p=2908"},"modified":"2023-05-08T02:20:09","modified_gmt":"2023-05-07T17:20:09","slug":"jxs%e3%81%8b%e3%82%89%e5%a4%96%e9%83%a8-vert-frag-%e3%81%aa%e3%81%a9%e3%81%ae%e3%82%b7%e3%82%a7%e3%83%bc%e3%83%80%e3%83%bc%e3%82%92%e8%aa%ad%e3%81%bf%e8%be%bc%e3%82%80-jitter-n4m-maxmsp","status":"publish","type":"post","link":"https:\/\/mirror.boy.jp\/?p=2908","title":{"rendered":"JXS\u304b\u3089\u5916\u90e8.vert \/ .frag \u306a\u3069\u306e\u30b7\u30a7\u30fc\u30c0\u30fc\u3092\u8aad\u307f\u8fbc\u3080 #jitter #n4m #maxmsp"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Jitter &amp; GLSL\u3067\u904a\u3076\u306e\u3092\u52b9\u7387\u5316\u3057\u305f\u3044<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"1024\" src=\"https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-2.04.56-965x1024.jpg\" alt=\"\" class=\"wp-image-2915\" srcset=\"https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-2.04.56-965x1024.jpg 965w, https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-2.04.56-377x400.jpg 377w, https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-2.04.56-768x815.jpg 768w, https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-2.04.56.jpg 1133w\" sizes=\"(max-width: 965px) 100vw, 965px\" \/><\/figure>\n\n\n\n<p>\u6628\u65e5\u306b\u5f15\u304d\u7d9a\u304dMax8\u306e\u30b7\u30a7\u30fc\u30c0\u30fc\u3067\u904a\u3093\u3067\u3044\u308b\u3093\u3067\u3059\u304c\u3001JXS\u306fXML\u306e\u4e2d\u306bGLSL\u3092\u66f8\u304f\u3088\u3046\u306a\u5f62\u3067Visual Studio Code \u306e\u30b3\u30fc\u30c9\u88dc\u5b8c\u3084\u3089\u30d5\u30a9\u30fc\u30de\u30c3\u30bf\u30fc\u306a\u3069\u3067\u6271\u3044\u306b\u304f\u304b\u3063\u305f\u306e\u3067\u3001JXS\u3068.vert \/ .frag\u3092\u5206\u96e2\u3057\u3066\u6271\u3046\u65b9\u6cd5\u3092\u6a21\u7d22\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u203b\u3053\u306e\u8a18\u4e8b\u306fMax\u4e2d\u7d1a\u8005\u4ee5\u4e0a\u5411\u304d\u306b\u3056\u3063\u304f\u308a\u66f8\u3044\u3066\u308b\u306e\u3067\u5206\u304b\u308a\u3084\u3059\u304f\u306f\u306a\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">JXS\u304b\u3089\u5916\u90e8\u30b7\u30a7\u30fc\u30c0\u30fc(.vert \/ .frag)\u306f\u8aad\u3081\u308b<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"880\" height=\"238\" src=\"https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-1.27.42.jpg\" alt=\"\" class=\"wp-image-2909\" srcset=\"https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-1.27.42.jpg 880w, https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-1.27.42-400x108.jpg 400w, https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-1.27.42-768x208.jpg 768w\" sizes=\"(max-width: 880px) 100vw, 880px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/cycling74.com\/search?q=.frag');\"  href=\"https:\/\/cycling74.com\/search?q=.frag\">Cycling74\u306eforum<\/a>\u306a\u3069\u3092\u63a2\u3057\u3066\u307f\u308b\u3068JXS\u304b\u3089\u5916\u90e8\u30b7\u30a7\u30fc\u30c0\u30fc\u8aad\u3081\u308b\u3088\u3068\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002\u5177\u4f53\u7684\u306a\u66f8\u304d\u65b9\u306f\u898b\u3064\u3051\u3089\u308c\u306a\u304b\u3063\u305f\u3093\u3067\u3059\u304c\u591a\u5206\u3053\u3093\u306a\u611f\u3058\u3068\u3044\u3046\u66f8\u304d\u65b9\u3092\u3057\u305f\u3089\u3044\u3051\u307e\u3057\u305f\u3002<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>  &lt;program name=\"vp\" type=\"vertex\" source=\"default.vert\" \/&gt;\n  &lt;program name=\"fp\" type=\"fragment\" source=\"default.frag\" \/&gt;\n\n\u3053\u308c\u3067.vert \/ .frag \u3092Max Project\u306eother\u30d5\u30a9\u30eb\u30c0\u306a\u3069\u30d1\u30b9\u304c\u901a\u3063\u3066\u308b\u6240\u306b\u7f6e\u3044\u3066\u304a\u3051\u3070\u8aad\u3081\u307e\u3059\u3002<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u30b7\u30a7\u30fc\u30c0\u30fc\u3092\u5207\u308a\u66ff\u3048\u305f\u3044 \u21e8 JXS\u306e\u52d5\u7684\u751f\u6210\uff08\u3054\u53c2\u8003\uff09<\/h2>\n\n\n\n<p>\u3067\u306f\u30b7\u30a7\u30fc\u30c0\u30fc\u3092\u8272\u3005\u66f8\u3044\u3066\u904a\u307c\u3046\u3068\u3057\u3066 .frag \u3092\u91cf\u7523\u3057\u305f\u3068\u3057\u3066\u3082\u3001\u4e0a\u8a18\u306eJXS\u4e0a\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u3044\u3061\u3044\u3061\u5909\u66f4\u3059\u308b\u306e\u306f\u3081\u3093\u3069\u304f\u3055\u3044\u3067\u3059\u3002XML\u306b\u8a73\u3057\u304f\u306a\u3044\u306e\u3067\u3059\u304c\u52d5\u7684\u306b\u5909\u6570\u3092\u4e0e\u3048\u3066\u66f8\u304d\u63db\u3048\u308b\u3068\u3044\u3046\u4e8b\u306f\u51fa\u6765\u306a\u3055\u305d\u3046\u306a\u30fb\u30fb\u30fb\uff1f<\/p>\n\n\n\n<p>\u3068\u3044\u3046\u8a33\u3067JXS\u81ea\u4f53\u3092\u52d5\u7684\u306b\u751f\u6210\u3059\u308c\u3070\u826f\u3044\u3068\u601d\u3044\u3064\u304d\u3001\u3053\u3046\u3044\u3046\u6642\u306b\u5f79\u7acb\u3064 node.script\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3053\u3068Node.js\u5148\u751f\u306b\u304a\u9858\u3044\u3057\u307e\u3057\u305f\u3002Max\u306bNode.js\u304f\u3063\u3064\u3044\u3066\u672c\u5f53\u306b\u826f\u304b\u3063\u305f\u30fb\u30fb\u30fb<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">node.js \/ node for max \u306eJXS\u751f\u6210\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>const fs = require('fs');\nconst MaxAPI = require('max-api');\n\nconst generateJXS = (vertexShaderFilename, fragmentShaderFilename, outputJxsFilename) => {\n  const jxsTemplate = `\n  &lt;jittershader name=\"default\">\n    &lt;description>Default Slab &lt;\/description>\n    &lt;param name=\"scale\" type=\"float\" default=\"1.0\" \/>\n    &lt;param name=\"tex0\" type=\"int\" default=\"0\" \/>\n    &lt;param name=\"modelViewProjectionMatrix\" type=\"mat4\" state=\"MODELVIEW_PROJECTION_MATRIX\" \/>\n    &lt;param name=\"textureMatrix0\" type=\"mat4\" state=\"TEXTURE0_MATRIX\" \/>\n    &lt;param name=\"position\" type=\"vec3\" state=\"POSITION\" \/>\n    &lt;param name=\"texcoord\" type=\"vec2\" state=\"TEXCOORD\" \/>\n    &lt;param name=\"u_resolution\" type=\"vec2\" state=\"TEXDIM0\"\/>\n    &lt;param name=\"color\" type=\"vec4\" state=\"COLOR\" \/>\n    &lt;param name=\"u_time\" type=\"float\"\/>\n    &lt;language name=\"glsl\" version=\"1.5\">\n      &lt;bind param=\"scale\" program=\"fp\" \/>\n      &lt;bind param=\"tex0\" program=\"fp\" \/>\n      &lt;bind param=\"modelViewProjectionMatrix\" program=\"vp\" \/>\n      &lt;bind param=\"textureMatrix0\" program=\"vp\" \/>\n      &lt;bind param=\"position\" program=\"vp\" \/>\n      &lt;bind param=\"texcoord\" program=\"vp\" \/>\n      &lt;bind param=\"color\" program=\"vp\" \/>\n      &lt;bind param=\"u_resolution\" program=\"fp\"\/>\n      &lt;bind param=\"u_time\" program=\"fp\"\/>\n      &lt;program name=\"vp\" type=\"vertex\" source=\"${vertexShaderFilename}\" \/>\n      &lt;program name=\"fp\" type=\"fragment\" source=\"${fragmentShaderFilename}\" \/>\n    &lt;\/language>\n  &lt;\/jittershader>\n  `;\n\n  fs.writeFileSync(outputJxsFilename, jxsTemplate.trim());\n  MaxAPI.post(`JXS file '${outputJxsFilename}' generated with '${vertexShaderFilename}' and '${fragmentShaderFilename}'.`);\n  MaxAPI.outlet('read',outputJxsFilename);\n};\n\nMaxAPI.addHandler(\"generate_jxs\", (vertexShaderFilename, fragmentShaderFilename, outputJxsFilename) => {\n  generateJXS(vertexShaderFilename, fragmentShaderFilename, outputJxsFilename);\n});<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mirror.boy.jp\/wp-content\/uploads\/2023\/05\/Screenshot-2023-05-08-at-2.07.21.jpg\" alt=\"\" class=\"wp-image-2917\" width=\"691\" height=\"710\"\/><\/figure>\n\n\n\n<p>.vert \/ .frag \u306a\u3069\u3092\u5f15\u6570\u3067\u6e21\u3057\u3066 generate_jxs \u95a2\u6570\u3092Max\u304b\u3089\u30b3\u30fc\u30eb\u3059\u308c\u3070\u3001\u30a2\u30a6\u30c8\u30ec\u30c3\u30c8\u304b\u3089\u4eca\u3064\u304f\u3063\u305f.jxs\u30d5\u30a1\u30a4\u30eb\u3092\u51fa\u529b\u3057\u307e\u3059\u3002\u5f8c\u6bb5\u306b jit.gl.slab \u3092\u63a5\u7d9a\u3057\u3066\u304a\u3051\u3070\u81ea\u52d5\u7684\u306b\u30b7\u30a7\u30fc\u30c0\u30fc\u304c\u5207\u308a\u66ff\u308f\u308b\u3068\u3044\u3046\u8a33\u3067\u3059\u3002<\/p>\n\n\n\n<p>folder\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067VSCode\u3067\u66f8\u3044\u305f.frag\u540d\u3092\u53d6\u5f97\u3057 umenu\u306b\u30bb\u30c3\u30c8\u3001umenu\u304b\u3089\u306e\u51fa\u529b\u3092\u5229\u7528\u3057\u305f\u308a\u3059\u308c\u3070\u30b7\u30a7\u30fc\u30c0\u30fc\u5207\u308a\u66ff\u3048\u3092\u7c21\u7565\u5316\u3059\u308b\u4e8b\u306f\u96e3\u3057\u304f\u306a\u3044\u3067\u3057\u3087\u3046\u3002\u305f\u3060\u3057param \u306a\u3069\u72ec\u81ea\u5909\u6570\u3092jit.gl.slab\u3078\u4f1d\u3048\u305f\u3044\u5834\u5408\u306fparam \/ bind \/ uniform \u306a\u3069\u306e\u66f8\u304d\u63db\u3048\u304c\u5fc5\u8981\u3067\u3059\u306e\u3067\u3001\u3053\u3093\u306a\u65b9\u6cd5\u3082\u3042\u308b\u3093\u304b\u306a\u3068\u3044\u3046\u7a0b\u5ea6\u3042\u304f\u307e\u3067 JXS \/ node.script\u306e\u30b5\u30f3\u30d7\u30eb\u3068\u3057\u3066\u3054\u5229\u7528\u304f\u3060\u3055\u3044\u3002\u4e0a\u624b\u304f\u3064\u304f\u308c\u3070ShaderToy\u306e\u30b3\u30fc\u30c9\u306a\u3093\u304b\u3082\u52d5\u304f\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">default.vert\uff08\u3054\u53c2\u8003\uff09<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>#version 410\n\nin vec3 position;\nin vec2 texcoord;\nin vec4 color;\n\nout jit_PerVertex {\n    vec2 texcoord;\n    vec4 color;\n} jit_out;\nuniform mat4 modelViewProjectionMatrix;\nuniform mat4 textureMatrix0;\n\n\nvoid main(void) {\n    gl_Position = modelViewProjectionMatrix*vec4(position, 1);\n    jit_out.texcoord = vec2(textureMatrix0*vec4(texcoord, 0., 1.));\n    jit_out.color = color;\n}<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30b0\u30e9\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u6570\u5b66 \u2015 GLSL\u3067\u306f\u3058\u3081\u308b\u30b7\u30a7\u30fc\u30c0\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/t.co\/Gzgjr0V8Vb');\" rel=\"noreferrer noopener\"  href=\"https:\/\/t.co\/Gzgjr0V8Vb\" target=\"_blank\">\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u8a66\u3057\u3066\u307f\u305f<\/a><\/h1>\n\n\n\n<p>\u3061\u3087\u3044\u3061\u3087\u3044\u52c9\u5f37\u3057\u3066\u3044\u308b\u3053\u3061\u3089\u306e\u66f8\u7c4d \u21e8 <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/amzn.asia\/d\/6O44y39');\"  href=\"https:\/\/amzn.asia\/d\/6O44y39\">\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30b0\u30e9\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u6570\u5b66 \u2015 GLSL\u3067\u306f\u3058\u3081\u308b\u30b7\u30a7\u30fc\u30c0\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0<\/a> \u306e.frag \u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u5229\u7528\u3057\u3066\u5207\u308a\u66ff\u3048\u30c6\u30b9\u30c8\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\"><p lang=\"ja\" dir=\"ltr\"><a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/twitter.com\/hashtag\/jitter?src=hash&amp;ref_src=twsrc%5Etfw');\"  href=\"https:\/\/twitter.com\/hashtag\/jitter?src=hash&amp;ref_src=twsrc%5Etfw\">#jitter<\/a> \u304b\u3089\u76f4\u63a5fragment shader\u8aad\u307f\u8fbc\u3081\u308b\u98a8\u306b\u3057\u3066\u307f\u305f<br><br>\u30b5\u30f3\u30d7\u30eb\u306f\u52c9\u5f37\u4e2d\u306e\u4ee5\u4e0b\u306e\u66f8\u7c4d\u304b\u3089\u304a\u501f\u308a\u3057\u3066 glsl <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/twitter.com\/hashtag\/version?src=hash&amp;ref_src=twsrc%5Etfw');\"  href=\"https:\/\/twitter.com\/hashtag\/version?src=hash&amp;ref_src=twsrc%5Etfw\">#version<\/a> 410 \u306b\u5909\u66f4\u3057\u3066\u3082\u305d\u306e\u307e\u307e\u52d5\u3044\u305f\u301c\u6570\u5b66\u306e\u4e8b\u304c\u3061\u3083\u3093\u3068\u66f8\u3044\u3066\u3042\u3063\u3066\u826f\u3044\u672c\uff01<br><br>\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u30b0\u30e9\u30d5\u30a3\u30c3\u30af\u30b9\u306e\u6570\u5b66 \u2015 GLSL\u3067\u306f\u3058\u3081\u308b\u30b7\u30a7\u30fc\u30c0\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0 <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/t.co\/Gzgjr0V8Vb');\"  href=\"https:\/\/t.co\/Gzgjr0V8Vb\">https:\/\/t.co\/Gzgjr0V8Vb<\/a> <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/t.co\/eZMaeBAHhU');\"  href=\"https:\/\/t.co\/eZMaeBAHhU\">pic.twitter.com\/eZMaeBAHhU<\/a><\/p>&mdash; mirrorboy (@mirrorboy) <a onclick=\"javascript:pageTracker._trackPageview('\/outgoing\/twitter.com\/mirrorboy\/status\/1655244559394439169?ref_src=twsrc%5Etfw');\"  href=\"https:\/\/twitter.com\/mirrorboy\/status\/1655244559394439169?ref_src=twsrc%5Etfw\">May 7, 2023<\/a><\/blockquote><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n\n\n\n<p>\u7121\u4e8b\u306b.frag\u3092\u3055\u304f\u3055\u304f\u5207\u308a\u66ff\u3048\u308b\u3068\u3044\u3046\u4e8b\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\uff08\u4f59\u8ac7\u3067\u3059\u304c\uff09#version 330 core \u306e\u30b5\u30f3\u30d7\u30eb\u3092 #version 410\u306b\u7f6e\u63db\u3057\u3066\u5229\u7528\u3057\u305f\u306e\u3067\u3059\u304c\u3001\u4ed6\u306f\u4f55\u3082\u5909\u66f4\u3057\u306a\u3044\u3067\u52d5\u304d\u307e\u3057\u305f\u3002GLSL3\u4ee5\u4e0a\u306f\u5f8c\u65b9\u4e92\u63db\u6027\u304c\u62c5\u4fdd\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>\n\n\n\n<p>Happy Patching!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jitter &amp; GLSL\u3067\u904a\u3076\u306e\u3092\u52b9\u7387\u5316\u3057\u305f\u3044 \u6628\u65e5\u306b\u5f15\u304d\u7d9a\u304dMax8\u306e\u30b7\u30a7\u30fc\u30c0\u30fc\u3067\u904a\u3093\u3067\u3044\u308b\u3093\u3067\u3059\u304c\u3001JXS\u306fXML\u306e\u4e2d\u306bGLSL\u3092\u66f8\u304f\u3088\u3046\u306a\u5f62\u3067Visual Studio Code \u306e\u30b3\u30fc\u30c9\u88dc\u5b8c\u3084\u3089\u30d5\u30a9\u30fc\u30de &hellip; <a href=\"https:\/\/mirror.boy.jp\/?p=2908\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">JXS\u304b\u3089\u5916\u90e8.vert \/ .frag \u306a\u3069\u306e\u30b7\u30a7\u30fc\u30c0\u30fc\u3092\u8aad\u307f\u8fbc\u3080 #jitter #n4m #maxmsp<\/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":[8,81,79,60,45,26,123],"tags":[],"_links":{"self":[{"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=\/wp\/v2\/posts\/2908"}],"collection":[{"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2908"}],"version-history":[{"count":8,"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=\/wp\/v2\/posts\/2908\/revisions"}],"predecessor-version":[{"id":2921,"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=\/wp\/v2\/posts\/2908\/revisions\/2921"}],"wp:attachment":[{"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mirror.boy.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}