{"id":3991,"date":"2014-08-06T19:13:06","date_gmt":"2014-08-06T10:13:06","guid":{"rendered":"http:\/\/mirror.boy.jp\/?p=1803"},"modified":"2014-08-06T19:13:06","modified_gmt":"2014-08-06T10:13:06","slug":"jit-gl-shader-glsl-%e3%81%a7%e3%83%9e%e3%83%ab%e3%83%81%e3%83%86%e3%82%af%e3%82%b9%e3%83%81%e3%83%a3-maxmsp-jitter-glsl","status":"publish","type":"post","link":"https:\/\/inage.ksd6700.net\/?p=3991","title":{"rendered":"jit.gl.shader \/ GLSL \u3067\u30de\u30eb\u30c1\u30c6\u30af\u30b9\u30c1\u30e3 #maxmsp #jitter #glsl"},"content":{"rendered":"<p><a href=\"http:\/\/mirror.boy.jp\/wp-content\/uploads\/2014\/08\/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2014-08-06-19.09.09.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/mirror.boy.jp\/wp-content\/uploads\/2014\/08\/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2014-08-06-19.09.09-1024x576.jpeg\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2014-08-06 19.09.09\" width=\"1024\" height=\"576\" class=\"alignnone size-large wp-image-1805\" \/><\/a><\/p>\n<h2>\u30de\u30eb\u30c1\u30c6\u30af\u30b9\u30c1\u30e3<\/h2>\n<p>jit.gl.shader\u306e\u4e2d\u3067\u8907\u6570\u306e\u30c6\u30af\u30b9\u30c1\u30e3\u3092\u5229\u7528\u3059\u308b\u65b9\u6cd5\u3092\u8abf\u3079\u307e\u3057\u305f\u3002<a href=\"http:\/\/cycling74.com\/docs\/max5\/tutorials\/jit-tut\/jitterchapter43.html\">Tutorial 43: A Slab of Your Very Own <\/a>\u3053\u3061\u3089\u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u308b\u65b9\u6cd5\u3067\u3059\u3002jit.gl.slab\u3067\u4f7f\u3046\u3053\u3068\u3092\u60f3\u5b9a\u3057\u3066\u7d39\u4ecb\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001jit.gl.shader\u3067\u3082\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u5c11\u3057\u30b3\u30fc\u30c9\u3092\u5909\u66f4\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h2>JXS \/ GLSL\u30b3\u30fc\u30c9<\/h2>\n<pre class=\"brush: cpp; title: ; notranslate\">\r\n&lt;jittershader name=&quot;mrr.mixer.4ch.jxs&quot;&gt;\r\n\t&lt;description&gt;\r\n\t&lt;\/description&gt;\r\n\t\t\r\n\t&lt;param name=&quot;a&quot; type=&quot;vec4&quot; default=&quot;0.25 0.25 0.25 0.25&quot;\/&gt;\t\r\n\t&lt;param name=&quot;b&quot; type=&quot;vec4&quot; default=&quot;0.25 0.25 0.25 0.25&quot;\/&gt;\t\r\n\t&lt;param name=&quot;c&quot; type=&quot;vec4&quot; default=&quot;0.25 0.25 0.25 0.25&quot;\/&gt;\t\r\n\t&lt;param name=&quot;d&quot; type=&quot;vec4&quot; default=&quot;0.25 0.25 0.25 0.25&quot;\/&gt;\t\r\n&lt;!-- \uff14\u3064\u306e\u30c6\u30af\u30b9\u30c1\u30e3\u3092\u4f7f\u3046\u5834\u5408\u306b\u306fparam\u8981\u7d20\u306e\u6307\u5b9a\u3068\u3001default\u5024\u306e\u6307\u5b9a\u304c\u5fc5\u9808 --&gt;\r\n\t&lt;param name=&quot;tex0&quot; type=&quot;int&quot; default=&quot;0&quot; \/&gt;\r\n\t&lt;param name=&quot;tex1&quot; type=&quot;int&quot; default=&quot;1&quot; \/&gt;\r\n\t&lt;param name=&quot;tex2&quot; type=&quot;int&quot; default=&quot;2&quot; \/&gt;\r\n\t&lt;param name=&quot;tex3&quot; type=&quot;int&quot; default=&quot;3&quot; \/&gt;\r\n\t&lt;language name=&quot;glsl&quot; version=&quot;1.2&quot;&gt;\r\n\t&lt;bind param=&quot;a&quot; program=&quot;fp&quot; \/&gt;\r\n\t&lt;bind param=&quot;b&quot; program=&quot;fp&quot; \/&gt;\r\n\t&lt;bind param=&quot;c&quot; program=&quot;fp&quot; \/&gt;\r\n\t&lt;bind param=&quot;d&quot; program=&quot;fp&quot; \/&gt;\r\n\t&lt;bind param=&quot;tex0&quot; program=&quot;fp&quot; \/&gt;\r\n\t&lt;bind param=&quot;tex1&quot; program=&quot;fp&quot; \/&gt;\r\n\t&lt;bind param=&quot;tex2&quot; program=&quot;fp&quot; \/&gt;\r\n\t&lt;bind param=&quot;tex3&quot; program=&quot;fp&quot; \/&gt;\r\n\r\n\t\t&lt;program name=&quot;vp&quot; type=&quot;vertex&quot;&gt;\r\n&lt;!-- GLSL\u5185\u90e8\u3067\u65e5\u672c\u8a9e\u30b3\u30e1\u30f3\u30c8\u3059\u308b\u3068\u5373\u843d\u3061\u3059\u308b --&gt;\r\n&lt;!-- varying \u6b21\u306e\u30b7\u30a7\u30fc\u30c0\u30fc\u3078\u53d7\u3051\u6e21\u3059 \/ \u524d\u306e\u30b7\u30a7\u30fc\u30c0\u304b\u3089\u53d7\u3051\u53d6\u308b\u5909\u6570 --&gt;\r\n&lt;!-- uniform Max\u304b\u3089\u76f4\u63a5\u53d7\u3051\u53d6\u308c\u308b\u5909\u6570\u3002param\u6307\u5b9a --&gt;\r\n&lt;![CDATA[\r\n\r\n#version 120 \r\n\r\nvarying vec2 texcoord0;\r\nvarying vec2 texcoord1;\r\nvarying vec2 texcoord2;\r\nvarying vec2 texcoord3;\r\n\r\nvoid main(void)\r\n{\r\n\tgl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\t\r\n\t\r\n\ttexcoord0 = vec2(gl_TextureMatrix[0] * gl_MultiTexCoord0);\r\n\ttexcoord1 = vec2(gl_TextureMatrix[1] * gl_MultiTexCoord1);\r\n\ttexcoord2 = vec2(gl_TextureMatrix[2] * gl_MultiTexCoord2);\r\n\ttexcoord3 = vec2(gl_TextureMatrix[3] * gl_MultiTexCoord3);\r\n}\r\n]]&gt;\r\n\t\t&lt;\/program&gt;\r\n\t\t&lt;program name=&quot;fp&quot; type=&quot;fragment&quot;&gt;\r\n&lt;![CDATA[\r\n\r\n#version 120\r\n\t\t \r\nuniform vec4 a;\r\nuniform vec4 b;\r\nuniform vec4 c;\r\nuniform vec4 d;\r\n\r\nvarying vec2 texcoord0;\r\nvarying vec2 texcoord1;\r\nvarying vec2 texcoord2;\r\nvarying vec2 texcoord3;\r\n\t\t \r\nuniform sampler2DRect tex0;\r\nuniform sampler2DRect tex1;\r\nuniform sampler2DRect tex2;\r\nuniform sampler2DRect tex3;\r\n\r\nvoid main()\r\n{\r\n\tvec4 input0 = texture2DRect(tex0,texcoord0);\r\n\tvec4 input1 = texture2DRect(tex1,texcoord1);\r\n\tvec4 input2 = texture2DRect(tex2,texcoord2);\r\n\tvec4 input3 = texture2DRect(tex3,texcoord3);\r\n\t\r\n\tgl_FragColor = a * input0 + b*input1 + c*input2 + d*input3;\r\n\t\r\n}\r\n]]&gt;\r\n\t\t&lt;\/program&gt;\r\n\t&lt;\/language&gt;\r\n&lt;\/jittershader&gt;\r\n<\/pre>\n<h2>jit.gl.pix\u3068\u6bd4\u8f03<\/h2>\n<p>\u4e0a\u8a18\u306e\u30b5\u30f3\u30d7\u30eb\u3067\u3042\u308c\u3070\u3001jit.gl.pix\u3067\u51fa\u529b\u3057\u305f\u7d50\u679c\u3092jit.gl.*\u7cfb\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3078\u30d0\u30a4\u30f3\u30c9\u3059\u308c\u3070\u540c\u69d8\u306e\u4e8b\u304c\u3067\u304d\u308b\u306e\u3067jit.gl.pix\u3067\u66f8\u3044\u305f\u65b9\u304c\u826f\u3044\u3068\u601d\u308f\u308c\u307e\u3059\u3002Vertex Shader\u3084Geometry Shader\u3067\u306eVertex\u306e\u64cd\u4f5c\u3084\u30c6\u30af\u30b9\u30c1\u30e3\u306e\u7d30\u304b\u3044\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3059\u308b\u5834\u5408\u306b\u5fc5\u8981\u306b\u306a\u308b\u51e6\u7406\u3067\u3059\u306d\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#12510;&#12523;&#12481;&#12486;&#12463;&#12473;&#12481;&#12515; jit.gl.shader&#12398;&#20013;&#12391;&#35079;&#25968;&#12398;&#12486;&#12463;&#12473;&#12481;&#12515;&#12434;&#21033; &#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"_links":{"self":[{"href":"https:\/\/inage.ksd6700.net\/index.php?rest_route=\/wp\/v2\/posts\/3991"}],"collection":[{"href":"https:\/\/inage.ksd6700.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inage.ksd6700.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inage.ksd6700.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/inage.ksd6700.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3991"}],"version-history":[{"count":0,"href":"https:\/\/inage.ksd6700.net\/index.php?rest_route=\/wp\/v2\/posts\/3991\/revisions"}],"wp:attachment":[{"href":"https:\/\/inage.ksd6700.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inage.ksd6700.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inage.ksd6700.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}