{"id":9215,"date":"2023-03-06T20:39:47","date_gmt":"2023-03-06T11:39:47","guid":{"rendered":"https:\/\/minnano.app\/support\/?p=9215"},"modified":"2023-03-15T23:25:59","modified_gmt":"2023-03-15T14:25:59","slug":"env_pri_cat_59-65","status":"publish","type":"post","link":"https:\/\/minnano.app\/support\/2023\/03\/06\/env_pri_cat_59-65\/","title":{"rendered":"\u74b0\u5883\u539f\u732b 59\uff5e65\u65e5\u76ee"},"content":{"rendered":"\n<p>\u4eca\u56de\u306f\u3001WebGL2.0\u306eTransform Feedback\u306b\u3088\u308a<a href=\"https:\/\/ja.wikipedia.org\/wiki\/%E3%83%9E%E3%83%B3%E3%83%87%E3%83%AB%E3%83%96%E3%83%AD%E9%9B%86%E5%90%88\">\u30de\u30f3\u30c7\u30eb\u30d6\u30ed\u96c6\u5408<\/a>\u3092\u3068\u308a\u3042\u3048\u305a\u63cf\u753b\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u6570\u5024\u304c\u767a\u6563\u3059\u308b\u307e\u3067\u306e\u8a08\u7b97\u56de\u6570\u3092\u5143\u306b\u9069\u5f53\u306b\u8272\u4ed8\u3051\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/51ohKgQ5YOc\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen=\"\"><\/iframe><\/p>\n\n\n\n<p>\u30b7\u30a7\u30fc\u30c0\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002in_real\u3084tf_real\u304c\u5b9f\u90e8\u3001in_img\u3084tf_img\u304c\u865a\u90e8\u306b\u95a2\u3059\u308b\u8a08\u7b97\u5024\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>#version 300 es\nin vec3 aVertexPosition;\nin float in_real;\nin float in_img;\nin float in_count;\n\nout float tf_real;\nout float tf_img;\nout float tf_count;\n\nuniform float uReset;\nuniform float uCalcs;\nuniform float uScale;\nuniform float uBaseX;\nuniform float uBaseY;\n\nvoid main(void) {\n    float real = in_real;\n    float img = in_img;\n    float count = in_count;\n    for(float i = 0.0; i &lt; uCalcs; i++){\n        if (0.0 &lt; uReset &amp;&amp; 0.0 == i) {\n            real = (aVertexPosition.x + uBaseX) * uScale;\n            img = (aVertexPosition.y + uBaseY) * uScale;\n            count = 0.0;\n        } else {\n            float a = real * real - img * img + (aVertexPosition.x + uBaseX) *uScale;\n            float b = 2.0 * real * img + (aVertexPosition.y + uBaseY) * uScale;\n            real = a;\n            img = b;\n            if (4.0 &lt; a * a + b * b) {\n                count = count + 0.05;\n            } else {\n                count = count;\n            }\n        }\n    }\n    tf_real = real;\n    tf_img = img;\n    tf_count = count;\n    gl_Position = vec4(aVertexPosition, 1.0);\n}<\/code><\/pre>\n\n\n\n<p>\u30b7\u30a7\u30fc\u30c0\u306e\u547c\u51fa\u3057\u30b3\u30fc\u30c9(\u6982\u7565)\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002\u5165\u529b\u3068\u51fa\u529b\u306eVBO\u3092\u63cf\u753b\u3054\u3068\u306b\u5165\u308c\u66ff\u3048\u308b\u3053\u3068\u3067\u30de\u30f3\u30c7\u30eb\u30d6\u30ed\u96c6\u5408\u306e\u8a08\u7b97\u3092\u9032\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>\uff5e\u7565\uff5e\n\/\/ --- Transform Feedback ---\ngl.useProgram(this.shader_tf);\nthis.shader_tf.enableAttribute();\n\n\/\/ &#91;\u5165\u529b] \u30e6\u30cb\u30d5\u30a9\u30fc\u30e0\u5909\u6570\ngl.uniform1f(this.shader_tf&#91;\"uReset\"], bReset ? 1.0 : 0.0);\ngl.uniform1f(this.shader_tf&#91;\"uCalcs\"], calcs);\ngl.uniform1f(this.shader_tf&#91;\"uScale\"], scale);\ngl.uniform1f(this.shader_tf&#91;\"uBaseX\"], baseX);\ngl.uniform1f(this.shader_tf&#91;\"uBaseY\"], baseY);\n\n\/\/ &#91;\u5165\u529b] VBO \u306e\u30d0\u30a4\u30f3\u30c9\ngl.bindBuffer(gl.ARRAY_BUFFER, this.vID);\ngl.vertexAttribPointer(this.shader_tf&#91;\"aVertexPosition\"], this.v.itemSize, gl.FLOAT, false, 0, 0);\ngl.bindBuffer(gl.ARRAY_BUFFER, this.tf_turn ? this.tf_rID : this.tf_r2ID);\ngl.vertexAttribPointer(this.shader_tf&#91;\"in_real\"], this.tf_turn ? this.tf_r.itemSize : this.tf_r2.itemSize, gl.FLOAT, false, 0, 0);\ngl.bindBuffer(gl.ARRAY_BUFFER, this.tf_turn ? this.tf_iID : this.tf_i2ID);\ngl.vertexAttribPointer(this.shader_tf&#91;\"in_img\"], this.tf_turn ? this.tf_i.itemSize : this.tf_i2.itemSize, gl.FLOAT, false, 0, 0);\ngl.bindBuffer(gl.ARRAY_BUFFER, this.tf_turn ? this.tf_cID : this.tf_c2ID);\ngl.vertexAttribPointer(this.shader_tf&#91;\"in_count\"], this.tf_turn ? this.tf_c.itemSize : this.tf_c2.itemSize, gl.FLOAT, false, 0, 0);\n\n\/\/ &#91;\u51fa\u529b] \u66f8\u304d\u8fbc\u307f\u5148\u306e VBO \u3092\u30d0\u30a4\u30f3\u30c9\ngl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 0, this.tf_turn ? this.tf_r2ID : this.tf_rID);\ngl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 1, this.tf_turn ? this.tf_i2ID : this.tf_iID);\ngl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 2, this.tf_turn ? this.tf_c2ID : this.tf_cID);\n\ngl.enable(gl.RASTERIZER_DISCARD);\ngl.beginTransformFeedback(gl.POINTS);\n\n\/\/ \u5b9f\u884c\ngl.drawArrays(gl.POINTS, 0, this.points);\n\ngl.disable(gl.RASTERIZER_DISCARD);\ngl.endTransformFeedback();\n\nthis.shader_tf.disableAttribute();\n\ngl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 0, null);\ngl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 1, null);\ngl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 2, null);\n\nthis.tf_turn = !this.tf_turn;\n\uff5e\u7565\uff5e<\/code><\/pre>\n\n\n\n<p>\u52d5\u753b\u306f\u753b\u7d20\u3054\u3068\u306b1\u30d5\u30ec\u30fc\u30e01\u56de\u3067\u8a08\u7b97\u3057\u305f\u69d8\u5b50\u3067\u3059\u304c\u3001\u30b7\u30a7\u30fc\u30c0\u5185\u3067\u30eb\u30fc\u30d7\u3057\u3066\u307e\u3068\u3081\u3066\u8a08\u7b97\u3082\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>4K\u306e\u89e3\u50cf\u5ea6\u30671\u30d5\u30ec\u30fc\u30e01\u4e07\u56de\u306e\u8a08\u7b97\u3092\u3057\u305f\u5834\u5408\u3001RTX3070\u3067\u7d0418FPS\u306e\u7d50\u679c\u3068\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u3053\u308c\u306f\u3001 f(z) = z^2 + C \u306e\u8a08\u7b97\u3092\u30011\u79d2\u9593\u306b3,840 * 2,160 * 10,000 * 18 = 1,492,992,000,000 \u56de\u884c\u3063\u3066\u3044\u308b\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p lang=\"\" style=\"font-family:'MS PGothic','\uff2d\uff33 \uff30\u30b4\u30b7\u30c3\u30af',sans-serif;font-size: 32px; line-height:36px;\"><script type=\"text\/javascript\" src=\"https:\/\/minnano.app\/textmanga\/assets\/js\/caller\/text_manga_0000001354.js?v=0\"><\/script><span name=\"text_manga_0000001354_001\">(\u3000-`\u03c9-)\uff77\uff98\uff6f<\/span><br>\uff3f\u4eba\u4eba\u4eba\u4eba\u4eba\u4eba\uff3f<br>\uff1e\u3000\u610f\u5473\u3057\u307e\u3059\u3000\uff1c<br>\n\uffe3Y^Y^Y^Y^Y^Y\uffe3<\/p>\n\n\n\n<p><a href=\"https:\/\/minnano.app\/support\/2023\/03\/15\/env_pri_cat_66-72\/\">\u6b21\u306e\u9031<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u56de\u306f\u3001WebGL2.0\u306eTransform Feedback\u306b\u3088\u308a\u30de\u30f3\u30c7\u30eb\u30d6\u30ed\u96c6\u5408\u3092\u3068\u308a\u3042\u3048\u305a\u63cf\u753b\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3057\u305f\u3002 \u6570\u5024\u304c\u767a\u6563\u3059\u308b\u307e\u3067\u306e\u8a08\u7b97\u56de\u6570\u3092\u5143\u306b\u9069\u5f53\u306b\u8272\u4ed8\u3051\u3057\u3066\u3044\u307e\u3059\u3002 \u30b7\u30a7\u30fc\u30c0\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002i &hellip; <a href=\"https:\/\/minnano.app\/support\/2023\/03\/06\/env_pri_cat_59-65\/\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">\u74b0\u5883\u539f\u732b 59\uff5e65\u65e5\u76ee<\/span> <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":{"footnotes":""},"categories":[23],"tags":[],"class_list":["post-9215","post","type-post","status-publish","format-standard","hentry","category-23"],"_links":{"self":[{"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/posts\/9215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/comments?post=9215"}],"version-history":[{"count":12,"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/posts\/9215\/revisions"}],"predecessor-version":[{"id":9236,"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/posts\/9215\/revisions\/9236"}],"wp:attachment":[{"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/media?parent=9215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/categories?post=9215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/minnano.app\/support\/wp-json\/wp\/v2\/tags?post=9215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}