{"id":887,"date":"2022-08-01T18:23:20","date_gmt":"2022-08-01T10:23:20","guid":{"rendered":"https:\/\/www.acgloby.com\/?p=887"},"modified":"2022-08-01T18:23:20","modified_gmt":"2022-08-01T10:23:20","slug":"opengl-%e5%85%89%e6%ba%90","status":"publish","type":"post","link":"https:\/\/www.acgloby.com\/index.php\/2022\/08\/01\/opengl-%e5%85%89%e6%ba%90\/","title":{"rendered":"OpenGL-\u5149\u6e90"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">\u5e73\u884c\u5149<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e73\u884c\u5149(Directional Light)<\/strong>\u7ed9\u5b9a\u4e00\u4e2a\u56fa\u5b9a\u7684\u5149\u6e90\u65b9\u5411<strong>direction<\/strong>\uff0c\u56e0\u4e3a\u5149\u7167\u8ba1\u7b97\u9700\u8981\u4ece\u7247\u6bb5\u81f3\u5149\u6e90\u7684\u5149\u7ebf\u65b9\u5411\uff0c\u6240\u6709\u9700\u8981\u53d6\u53cd\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image.png\" alt=\"\" class=\"wp-image-888\"\/><\/figure>\n<\/div>\n\n\n<pre class=\"wp-block-code\"><code>struct DirLight\n{\n\tvec3 color;\n\tvec3 direction;\t\t\/\/\u5149\u7167\u65b9\u5411\n\t\n\tvec3 ambient;\t\t\/\/\u73af\u5883\u5149\n\tvec3 diffuse;\t\t\/\/\u6f2b\u53cd\u5c04\n\tvec3 specular;\t\t\/\/\u9ad8\u5149\u53cd\u5c04\n};<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u8ba1\u7b97\u5e73\u884c\u5149\nvec3 CalcDirLight(DirLight light,vec3 normal, vec3 viewDir)\n{\n\tvec4 diffuseTex = texture(material.diffuse, TexCoords);\n\tvec4 specularTex = texture(material.specular, TexCoords);\n\n\tvec3 lightDir = normalize(-light.direction); \/\/\u5149\u7167\u8ba1\u7b97\u9700\u6c42\u4e00\u4e2a\u4ece\u7247\u6bb5\u81f3\u5149\u6e90\u7684\u5149\u7ebf\u65b9\u5411,\u6240\u4ee5\u53d6\u53cd\n\tvec3 reflectDir = reflect(-lightDir, normal);\n\t\n\t\/\/\u73af\u5883\u5149\n\tvec3 ambient = light.ambient * vec3(diffuseTex) * light.color;\n\n\t\/\/\u6f2b\u53cd\u5c04\n\tfloat diff = max(dot(normal, lightDir), 0.0);\n\tvec3 diffuse = light.diffuse * diff * vec3(diffuseTex)* light.color;\n\n\t\/\/\u9ad8\u5149\u53cd\u5c04\n\tfloat specularShininess = 32;\n\tfloat spec = pow(max(dot(viewDir,reflectDir),0.0),specularShininess);\n\tvec3 specular = light.specular * spec * vec3(specularTex)* light.color;\n\n\treturn ambient + diffuse + specular;\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-1.png\" alt=\"\" class=\"wp-image-889\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u70b9\u5149\u6e90<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u70b9\u5149\u6e90(Point Light)<\/strong>\u9700\u8981\u4e00\u4e2a\u968f\u7740\u5149\u7ebf\u4f20\u64ad\u8ddd\u79bb\u7684\u589e\u957f\u9010\u6e10\u524a\u51cf\u5149\u7684\u5f3a\u5ea6<strong>\u8870\u51cf(attenuation)<\/strong>\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-2.png\" alt=\"\" class=\"wp-image-890\"\/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-3.png\" alt=\"\" class=\"wp-image-891\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u5728\u8fd9\u91cc<code>d<\/code>\u4ee3\u8868\u4e86\u7247\u6bb5\u8ddd\u5149\u6e90\u7684\u8ddd\u79bb\u3002\u5e38\u6570\u9879<code>K<sub>c<\/sub><\/code>\u3001\u4e00\u6b21\u9879<code>K<sub>l<\/sub><\/code>\u548c\u4e8c\u6b21\u9879<code>K<sub>q<\/sub><\/code>\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u5e38\u6570\u9879\u901a\u5e38\u4fdd\u6301\u4e3a1.0\uff0c\u5b83\u7684\u4e3b\u8981\u4f5c\u7528\u662f\u4fdd\u8bc1\u5206\u6bcd\u6c38\u8fdc\u4e0d\u4f1a\u6bd41\u5c0f\uff0c\u5426\u5219\u7684\u8bdd\u5728\u67d0\u4e9b\u8ddd\u79bb\u4e0a\u5b83\u53cd\u800c\u4f1a\u589e\u52a0\u5f3a\u5ea6\uff0c\u8fd9\u80af\u5b9a\u4e0d\u662f\u6211\u4eec\u60f3\u8981\u7684\u6548\u679c\u3002<\/li><li>\u4e00\u6b21\u9879\u4f1a\u4e0e\u8ddd\u79bb\u503c\u76f8\u4e58\uff0c\u4ee5\u7ebf\u6027\u7684\u65b9\u5f0f\u51cf\u5c11\u5f3a\u5ea6\u3002<\/li><li>\u4e8c\u6b21\u9879\u4f1a\u4e0e\u8ddd\u79bb\u7684\u5e73\u65b9\u76f8\u4e58\uff0c\u8ba9\u5149\u6e90\u4ee5\u4e8c\u6b21\u9012\u51cf\u7684\u65b9\u5f0f\u51cf\u5c11\u5f3a\u5ea6\u3002\u4e8c\u6b21\u9879\u5728\u8ddd\u79bb\u6bd4\u8f83\u5c0f\u7684\u65f6\u5019\u5f71\u54cd\u4f1a\u6bd4\u4e00\u6b21\u9879\u5c0f\u5f88\u591a\uff0c\u4f46\u5f53\u8ddd\u79bb\u503c\u6bd4\u8f83\u5927\u7684\u65f6\u5019\u5b83\u5c31\u4f1a\u6bd4\u4e00\u6b21\u9879\u66f4\u5927\u4e86\u3002<\/li><\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-4.png\" alt=\"\" class=\"wp-image-895\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u5149\u5728\u8fd1\u8ddd\u79bb\u7684\u65f6\u5019\u6709\u7740\u6700\u9ad8\u7684\u5f3a\u5ea6\uff0c\u4f46\u968f\u7740\u8ddd\u79bb\u589e\u957f\uff0c\u5b83\u7684\u5f3a\u5ea6\u660e\u663e\u51cf\u5f31\uff0c\u5e76\u7f13\u6162\u5730\u5728\u8ddd\u79bb\u5927\u7ea6100\u7684\u65f6\u5019\u5f3a\u5ea6\u63a5\u8fd10\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">\u8ddd\u79bb<\/th><th class=\"has-text-align-center\" data-align=\"center\">\u5e38\u6570\u9879<\/th><th class=\"has-text-align-center\" data-align=\"center\">\u4e00\u6b21\u9879<\/th><th class=\"has-text-align-center\" data-align=\"center\">\u4e8c\u6b21\u9879<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\">7<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.7<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.8<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">13<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.35<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.44<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">20<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.22<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.20<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">32<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.14<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.07<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">50<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.09<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.032<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">65<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.07<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.017<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">100<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.045<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.0075<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">160<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.027<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.0028<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">200<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.022<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.0019<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">325<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.014<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.0007<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">600<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.007<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.0002<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">3250<\/td><td class=\"has-text-align-center\" data-align=\"center\">1.0<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.0014<\/td><td class=\"has-text-align-center\" data-align=\"center\">0.000007<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>struct PointLight\n{\n\tvec3 color;\n\tvec3 position;\t\t\/\/\u5149\u6e90\u4f4d\u7f6e\n\tfloat constant;\t\t\/\/\u8870\u51cf\u5e38\u6570\n\tfloat linear;\t\t\/\/\u8870\u51cf\u4e00\u6b21\u5e38\u6570\n\tfloat quadratic;\t\/\/\u8870\u51cf\u4e8c\u6b21\u5e38\u6570\n\n\tvec3 ambient;\t\t\/\/\u73af\u5883\u5149\n\tvec3 diffuse;\t\t\/\/\u6f2b\u53cd\u5c04\n\tvec3 specular;\t\t\/\/\u9ad8\u5149\u53cd\u5c04\n};<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u8ba1\u7b97\u70b9\u5149\nvec3 CalcPointLight(PointLight light,vec3 normal, vec3 viewDir)\n{\n\tfloat distance = length(light.position - WorldPos);\n\t\/\/\u8870\u51cf\u503c\n\tfloat attenuation = 1.0 \/ (light.constant + light.linear * distance + light.quadratic * (distance * distance));\n\n\tvec4 diffuseTex = texture(material.diffuse, TexCoords);\n\tvec4 specularTex = texture(material.specular, TexCoords);\n\tvec3 lightDir = normalize(light.position - WorldPos);\n\tvec3 reflectDir = reflect(-lightDir, normal);\n\t\n\t\/\/\u73af\u5883\u5149\n\tvec3 ambient = light.ambient * vec3(diffuseTex)* light.color;\n\n\t\/\/\u6f2b\u53cd\u5c04\n\tfloat diff = max(dot(normal, lightDir), 0.0);\n\tvec3 diffuse = light.diffuse * diff * vec3(diffuseTex)* light.color;\n\n\t\/\/\u9ad8\u5149\u53cd\u5c04\n\tfloat specularShininess = 32;\n\tfloat spec = pow(max(dot(viewDir,reflectDir),0.0),specularShininess);\n\tvec3 specular = light.specular * spec * vec3(specularTex)* light.color;\n\n\t\/\/\u70b9\u5149\u6e90\u8870\u51cf\u503c\n\tambient  *= attenuation; \n\tdiffuse  *= attenuation;\n\tspecular *= attenuation;\n\n\treturn ambient + diffuse + specular; \n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-5.png\" alt=\"\" class=\"wp-image-899\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u805a\u5149<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u805a\u5149(Spotlight)<\/strong>\u662f\u4f4d\u4e8e\u73af\u5883\u4e2d\u67d0\u4e2a\u4f4d\u7f6e\u7684\u5149\u6e90\uff0c\u5b83\u53ea\u671d\u4e00\u4e2a\u7279\u5b9a\u65b9\u5411\u800c\u4e0d\u662f\u6240\u6709\u65b9\u5411\u7167\u5c04\u5149\u7ebf\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-6.png\" alt=\"\" class=\"wp-image-901\"\/><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\"><li><code>LightDir<\/code>\uff1a\u4ece\u7247\u6bb5\u6307\u5411\u5149\u6e90\u7684\u5411\u91cf\u3002<\/li><li><code>SpotDir<\/code>\uff1a\u805a\u5149\u6240\u6307\u5411\u7684\u65b9\u5411\u3002<\/li><li><code>Phi<\/code>\u03d5\uff1a\u6307\u5b9a\u4e86\u805a\u5149\u534a\u5f84\u7684\u5207\u5149\u89d2\u3002\u843d\u5728\u8fd9\u4e2a\u89d2\u5ea6\u4e4b\u5916\u7684\u7269\u4f53\u90fd\u4e0d\u4f1a\u88ab\u8fd9\u4e2a\u805a\u5149\u6240\u7167\u4eae\u3002<\/li><li><code>Theta<\/code>\u03b8\uff1a<var>LightDir<\/var>\u5411\u91cf\u548c<var>SpotDir<\/var>\u5411\u91cf\u4e4b\u95f4\u7684\u5939\u89d2\u3002\u5728\u805a\u5149\u5185\u90e8\u7684\u8bdd\u03b8\u503c\u5e94\u8be5\u6bd4\u03d5\u503c\u5c0f\u3002<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\u5e73\u6ed1\/\u8f6f\u5316\u8fb9\u7f18<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u6a21\u62df\u805a\u5149\u6709\u4e00\u4e2a<strong>\u5185\u5706\u9525(Inner Cone)<\/strong>\u548c\u4e00\u4e2a<strong>\u5916\u5706\u9525(Outer Cone)<\/strong>\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-7.png\" alt=\"\" class=\"wp-image-903\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u91cc<code>\u03f5<\/code>(Epsilon)\u662f\u5185\uff08<code>\u03d5<\/code>\uff09\u548c\u5916\u5706\u9525\uff08<code>\u03b3<\/code>\uff09\u4e4b\u95f4\u7684\u4f59\u5f26\u503c\u5dee\uff08<code>\u03f5=\u03d5\u2212\u03b3<\/code>\uff09\u3002\u6700\u7ec8\u7684<code>I<\/code>\u503c\u5c31\u662f\u5728\u5f53\u524d\u7247\u6bb5\u805a\u5149\u7684\u5f3a\u5ea6\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-8-1024x294.png\" alt=\"\" class=\"wp-image-908\"\/><\/figure>\n<\/div>\n\n\n<pre class=\"wp-block-code\"><code>struct SpotLight\n{\n\tvec3 color;\n\tvec3 position;\t\t\/\/\u5149\u6e90\u4f4d\u7f6e\n\tvec3 direction;\t\t\/\/\u5149\u7167\u65b9\u5411\n\tfloat cutOff;\t\t\/\/\u5185\u5207\u5149\u89d2\u5ea6\n\tfloat outerCutOff;\t\/\/\u5916\u5207\u5149\u89d2\u5ea6\n\n\tvec3 ambient;\t\t\/\/\u73af\u5883\u5149\n\tvec3 diffuse;\t\t\/\/\u6f2b\u53cd\u5c04\n\tvec3 specular;\t\t\/\/\u9ad8\u5149\u53cd\u5c04\n};\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u8ba1\u7b97\u805a\u5149\nvec3 CalcSpotLight(SpotLight light, vec3 normal, vec3 viewDir)\n{\n\tvec4 diffuseTex = texture(material.diffuse, TexCoords);\n\tvec4 specularTex = texture(material.specular, TexCoords);\n\tvec3 lightDir = normalize(light.position - WorldPos);\n\tvec3 reflectDir = reflect(-lightDir, normal);\n\n\tfloat theta = dot(lightDir, normalize(-light.direction));\n\tfloat epsilon = light.cutOff - light.outerCutOff;\n\t\/\/\u805a\u5149\u5f3a\u5ea6\n\tfloat intensity = clamp((theta - light.outerCutOff) \/ epsilon, 0.0, 1.0); \n\t\n\t\/\/\u73af\u5883\u5149\n\tvec3 ambient = light.ambient * vec3(diffuseTex)* light.color;\n\n\t\/\/\u6f2b\u53cd\u5c04\n\tfloat diff = max(dot(normal, lightDir), 0.0);\n\tvec3 diffuse = light.diffuse * diff * vec3(diffuseTex)* light.color;\n\n\t\/\/\u9ad8\u5149\u53cd\u5c04\n\tfloat specularShininess = 32;\n\tfloat spec = pow(max(dot(viewDir,reflectDir),0.0),specularShininess);\n\tvec3 specular = light.specular * spec * vec3(specularTex) * light.color;\n\n\t\/\/\u805a\u5149\u706f\u8f6f\u5316\u8fb9\u7f18\n\tdiffuse  *= intensity;\n\tspecular *= intensity;\n\tambient *= intensity;\n\n\treturn ambient + diffuse + specular; \n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-9.png\" alt=\"\" class=\"wp-image-909\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6240\u6709\u5149\u6e90\u52a0\u8d77\u6765<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.acgloby.com\/wp-content\/uploads\/2022\/08\/image-10.png\" alt=\"\" class=\"wp-image-910\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5e73\u884c\u5149 \u5e73\u884c\u5149(Directional Light)\u7ed9\u5b9a\u4e00\u4e2a\u56fa\u5b9a\u7684\u5149\u6e90\u65b9\u5411direction\uff0c\u56e0\u4e3a\u5149\u7167\u8ba1\u7b97\u9700\u8981\u4ece\u7247\u6bb5\u81f3\u5149\u6e90\u7684\u5149\u7ebf\u65b9 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":910,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-887","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-graphics"],"_links":{"self":[{"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/posts\/887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/comments?post=887"}],"version-history":[{"count":0,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/posts\/887\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/media?parent=887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/categories?post=887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/tags?post=887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}