Max8の信号処理でMatrixの領域を塗潰す例を示す。
以下のコードでは演出のために低速で塗りつぶすようになっている。
80年代に家庭用8bitパソコンが登場し普及しました。
当時の処理速度はCPUのクロックが 4MHz と現在の1/1000以下(シングルコアかつ原始的なCPUなので更に数倍以上遅い)。
解像度 640x200 の全画面表示のディスプレイで領域塗潰しで実行するのにも時間がかかりました。
現代のCG処理を見慣れた人には演出でエフェクトをかけているように見えるかもしれません。
jit.matrixにドッドをセットするメッセージ
setcell
送ってドットで画像を塗潰す例。
ドットをセットする座標はcounter を2つ組み合わせてx-y座標を2重ループで処理する。
ドット描画コマンドsetcellを metro のタイミング信号で繰り返し実行する。
Maxでイメージ処理をする際に前述の様な原始的な手法を採用すると処理が低速で実用的ではない。
高速にCGを処理するには、以下の様にOpenGL系のグラフィックスコマンドによるグラフィックスボードの3D機能を利用する。
この他に、自作エフェクト用にシェーダー処理を行うこともできる。
----------begin_max5_patcher----------
2690.3oc2a09aaabF+y1+UPHfArAnIv6UxaeJY4C9KCX.CX.qndHfVlwlIRT
BTTwtsn.QxqqNcqs.asKKM.MMCCMEs.NYqXacMsa+wvJmj+K18BoLs3K5jIk
k5RfjLOQd2yyu64ke2yc5M1biF6z6P2AML9IFupwFa7FatwFxlDMrQ70aznq
ygs63LPdaMtoWXq9G34uauCZzT888cBauum+dWOvscnpu.PXKfMhZYl7OZSC
Bh0xroA1zT7AR7gwuNoOBbG35G5D50yOU+PaQmsW.HawiC.Vxdy1F2BRl1O8
FF1wML7056p5.g7d8tNgAdG1noQiFSuQuckpSuct4OFlnHd9gtA8EsCxQrR2
9fWyuc5q8G10ymOvCloQk3HaEJZ7M2bSwaM0Dra2qaW9vmHegtGJwkFSt66N
4AebznSN88e+m+AOKZ7e3z+4wSdumEM5dQi9zoMN4jG9hG86iFc+nw+tn6Lt
j4KaLY5bRSCHDK+H8DTJ7hfanuZaVipchh8kQG8wQGwe+tbkLZ7yhN5nniNd
pdtsezn+n.bN4e7xO58hF83nQOI9QG8jDL4CiFye+yiF8aRgLc77ca2anub3
fk.WlR.BXRT3DPBdvBfK3JBt948c825m87ujq1mbNPazWDM9XNVcssDVNwHi
.711Wc0jm7edwe6Qbz5ZacU4icbzQet.kG+jnw+6KHZgjnDDq79QE.VfUDXE
x0VdTh81yMfa+Llqs+onweUz3GKz4iNda+s8a2w0IvP4osseGiu6qdmYP1s8
2wXGG+8D2MGZe4m7a4X8j29qm7NOHWPytXPS4BhXPYPNpJjWAfFlsh.Mgwjz
2KqmYYIGTtKDkODfVVrFr8JMVCOPKeJdxa8YIwWOYxwu8oO3+1nrINVKxzYN
.zNi5UPtNDypkIOqFvBYQDI6f7tgTXujFjrZLm7UW51EIwLjALlle5GN4N+U
yeTIfGlmM2zFPMQL0+r37E.JCk33GZfjDJISuXUTejFGoq8334CljCBR4lJ1
LKFAZagE5tcJHzDWIHDTTmjFCwqYXnxQ9E28uWlYGOjDjRfDVLOS.20CZIyt
SL0EyfLPKDfhnHakCLCwCcyJnSRiYn0LLaxce528s2+zu4Cd9IbBkO9zO7ob
GWAWqi9hni9lnitmf+znGvYLL2v7wnHvhTJBrr4HsyvvPNjVhzhA4sVCnhyR
x6y0sQMaWzSkY0IBxB4tlDr4YxZfSWW9BSttquyNcjOoY0MW.0etxu9wm9Y2
uLH1zN6hBQlxHyzRcPPzUKK.olIh99u9TNouW9QukfBsHpb7ROJKzB1pkHQd
roDfhqDe.qh5jznEbMKbB27MnGm6jvZWfh24cm7WtWYTnnxPGLjhfn1HFO16
Yte48boWzOaMCjFD5DDVl2CBmM.ETppHs4XxWAQ1fb3B5iTnEXcCs3Txe4m7
mm7vGN4Q26zu8oQiJydRpfx2rKk+GXYWXCdOriaPYV9lor7iIM.0XZ0LkgeN
OVl7NhZgUXtGj0RN2yEoTX9tGvksL1A+xW2y.TlWisoh3OTU5w4CMRXo4Ye5
IVpddnDIWiEXtZL5BnwccGLvYO2LprYYV5hTrLN+eLQ4eaYcFKF45R0wbBQr
ZwnTaFPQjEXBhy7jSej01JWzZwn3BqMNKg81auNtk4xAPopzh9T8PbJKj7Wt
tNL+JzrBrFR7auAG3wAt4ihXrL9ENaAQWDTzFWPmnmsFjVaPHJeH7r8K3hhn
EDN6Gvy.Tl+MLNMsZ0TXz7CmUjcFD0X453UnFRwlyOfcMng.6ksFN2r4wABj
AEnVKX1bEurbdrEKaNftFlMetQkSLCtPq+FfqZTX.ZMLJbAdTxUWwMZzvqhH
q0NEoIKn7PF6USXC4Vl3FX.Xrxb3rT1KPKAMEFSufGMUdPkQ1K+5OPxUqw0u
VSQLM33pJ0HHtta0gZiWxpcQqt6ZacUQZh4kLjAZwYohXz3Eyh3ILXRSb6x2
.6UcwFS1Qz3sauJEJDoUgBujKH3OsDcmvWbQxFTLcwEn3piwztV6VlYq0dbI
exoWRS7wdEUJi4ZUj+V2fAKXJvb14Flcksyfj0vLhEsDYgTD1zfSwPJgFsG1
oy0ugSaWQahKD+swNNsuUSiA66z2cPGOdCDQDG4szqSu.CyVX0ql7NXGW9eC
Sd0znaua6F1i+2D9K.+EJ8CZyeI9tlFg8BFNH9V.odLqyZ6rGSz.k+hIZTbR
ANva2v84AbMtg.ya6EztiPNPFlhUNk6YJ.O+isBlo1.dVBAyEbAVfoEH5F87
CG385x6VtBvyZ1mKvxm3pAdNcVMrFDGVs85zJv0eWdVzqrafyAbvWjc4J651
Ob+XKXCfwU53s29gB3JoIMBeaYqpbphzARmpJkuukY8fmK8psEZrigafy.WM
.GjZec.5iMpdNWCtuu.PwFbCtkKGWNuA2Ev.K9rRAsnyGDK13BttgcEwZ3Uz
3T0nN.GkmgmrpNNT+pxHoqpundJvp5POsUY71DjUmgWwhSaC.aII8gi6DJTS
Zaj0sylyunzM8El87jrvfEfjyN9oGXQVy.qqVBXgnD88LPq5cnCQPsvXNMcR
xTKa5gXHmcdiKjdcG1MMG4Eq7cXs3cy0gjgARHK4TeyChHPZNqvqPHpnPEH1
bNMU0JNmtBKK95aVqveLkkMR8hB+.aP1H0KQ3G++OvedGlvEG+g4bTMVd3O7
6O3e9Lu66bKC9h9a61oCewwlF21Q8o7+K5uTo3ylNV3CfLolIyjPq4RCO2ku
.pGJ3rKwstRsQiKrYKEeYZ0VWwrAL1JNnQbM7Wb79xDtspI3lhXqrxWzwP9y
3YgiHnV9l1acV7FqnFqbS3s.DYQ0aAJT+bHiKClWWM1okbgDLCm9vnVJlnwu
BSvRtpCEUq34YNj6OIk3ylBQW2z7JJOBWPen4obwplOQUxAQVK4Y9AAKAEQ6
mGcGzaXP6DQLdFz3LsXW2Agd9SEpWc5u0Vw8j67m1iC2T0.LuAx7bRSWuc62
yyOLV0rIDY4jnxMJ1lmJN4p5P1LqlrkRZpWYSmIHTcLAgzXfrqiAhp4.Ap5.
YoyzJTioUHDjZZUdUUkMaMjMqZ.sg5LsxJCCfXoMMjI89ReUUEMrFhlz9uxi
DQmQpLPfxoVixrMu1S+QNlgPm76ppXSqpXC44nHBggThfRptfZUUAEy3tVyl
vdICuHMxHUpPCH4rbeLjVrTK9tZPpqDTWfjUBVCqGrFNuPwzyMgLqXaQxQzP
x.yPjLvr7ppJn5vEHgvP0FIsndQqiQRGaF74lgl08DX0hl4mnfkZ4pHYhA4U
mQGNXW9RmKrPG0pjSWXIGZZ2xRPPSkWWcYVY2rZxt1o2nUc9kn47akMjzINu
TZpJ2MDSWvyphijVyR0AuWw.gzvTtxiio9VCEkWCjsxA.0wzUbfUIwWUUAkn
6bLthijN7nlgn7rDorUQJn.YfiDVvxKqnvYoKJTUeJaccdq5Dq19tvyMPpZY
3zu+scCFDe2xwnQWma1KXZwzE0DUcor7kMBbusWx8aIawIn89dgtsCGFnJO+
gT0VkznaOdrc+gdwol3ZGeHk0aRTJ+A8cTJhrrTa9la9+.zxyr1O
-----------end_max5_patcher-----------
領域塗潰しアルゴリズム(分岐座標をスタックに記録)の実装例
v オブジェクト(value)による変数
名前付きjit.matrixにより異なるパッチコードからのコマンド実行
を利用している。
使い方
ファイルを読み込んで、描画をスタートする。
塗りつぶす色(筆の色)をRGBで設定し、塗りつぶし速度を設定する。qmetroは実行間隔(低いと速く塗る)、Uziは一度に塗るピクセル数。
----------begin_max5_patcher----------
5727.3oc2cszijbbb97R.9enw.dvxdX4LxHe5ShVG3cCX.JXXPz6rsW0jyK2
cuKWQACHs6ASoCl.F1lGLfMDffNHCCZ3CFvh1x+XFrzz+Kb9n5Y5dprpNqph
r2o1YAlY6Nmoy5KxHiWYDQ9Sd224Qm73qdwh0mL6OZ1e1rG8neh6cdT387uy
i19FO5jKl+hyNe95vu3Imc0EWr3xMmbZ8faV7hMgAd8u7q91+6+sa9Ye0+2O
8e90+1e8s+BW9rKVd44K1D9ygcd2qd1lsuMa6au7IgOqqd7m79.61Ohqmu4r
ezxKe5GuZwYahOt.XvJiQqAFG4ffaXlSmgJaE6zYJi+6bdEa1e9tOmmc04Ws
J92yprJl1HP.0bovdp6cDnkCRkQw0BIDdmc9MX7SmA9OwvG3e069N9e59woO
7Hc5tobVYESCnIR4PGjcDKjMEob27peyMu7at4Uu5lW8Eilro5lrwLUBkE4b
InMRGimigSJ7zKgoBuOqXjFVPdku6m+uOZDK5BwBs0sLZkVjIQGdUBGrTVdk
zgaSkVKcusvF9BwoEWyOOxxPAMD5hFZDxJoB.D0dFCoIfJizy0LIngWt3ybf
rIIbyrG2KJGjfxg16DwG+U27iudQDqm734W9zStiTjZGIxXUbO+oIxf59meG
owyf5IjidSXQAuwNJvCbUSgNSGvaFC30Q.NcPqdLn0JfJqTvbqvgEZsBlRXW
MpUZk5XsR+GLCRiVdOPqFaGsKcph5dOMCbBzTRmIFFsjwXt++oyLQMtb6VJP
Av9ym8CG+JsVzN1GDvU5.jUEbQ+4y9HB.tbn.2pwJzpsFGt8VA39eGGbud15
e3ns7A0cawbxUUKm4QGxKK59HBPWmtQkbo6n.tEmOClwRiOLM9vj36P5fO8t
edn8uLYShglK7DCgdOuHjnnXjlUyt9pqSSXX8Y+rc3BxjNwzFPIqIDJqSWsV
EjfikbC8pYqVrdwlwCdCiXvWyEfD.9KVrd87mtnI5IPysAnE2FFiL01shaFA
3lOXkWbYk16+kDTg3I479xfhharxSmuYAA3FoUocD3R3gtEpRXDVnlzUDgo7
q4qu97kalwlAVauT7wSRB3cSBNcnTBIK3lhBKpEqDXptbvlpmlCPZKtEqe94
Umc0EWOe0BGa.aV+j7klMnKy1yylmFTh5viZ0kTa26ol8d5Yumg.gApgqzKI
7UgM.RYAYDtd9Ye5rmtXyYKN+71YDtUdvewUWt4x4WDP0IevpkyO+j9PfLjt
QQAJO8weTBdBDtavd8OnqW94gOcvMxCSeckC11XqQUIZHwzXJtjiOY4lpKlu
Y0xWL6G7gePuHAIkan5vBY2b8ww45vRPRygHBBPLkTEx6SgcDBwXhzUxyfbx
DoKwfscrEfOUhzkfObfKMUblv8u34UnLSpPcIf9el5SmPcINPtVjZs6XftUs
t10mPZfCOdNJdEXPkls8KkOhFAq6hILQ4.9GQ.vGr0KtEbkC2p3ISaMV73fa
xBtIWSVvMAKqI2+wO3ljn0laFkV6Tm47jy8etc7t+2xwuOU7+GGdvNSyCLIC
..xGU..7xEZPIlXA..Gikrof+aaA..kztSY5GA.b3wLBzrl4r6TLD.nllP.z
BOBgw.nUYHbBLlfOhD9PWYPPAbtOUZELsy.STGEaTRKIH6bR4LhAe7niDO3s
c.FrSE.1t2Tjr8ujL6vfE6Y.aES5VsURtxm43937oklxa07r0aluY7QG.5LQ
XRCOmvKevAzOvO0eX34rF5rwCkblRHMLmyenR3WV0SmkU4I8GeFNYqqcD6iV
wWejPyzCWBsNDjiZYxXIsl0mMCy3i1YFdmYe4o4hXQztTmh3Fk5xC3vZvGUR
M.NN6JmkXbUccDHs5a4zK7gQLd6w4xgaEVZfKOBwjmnv7wkzEluzDiXX9Lxl
UB0C48CpwseHUc0bLCymBGeX93JBxxmVJwniRX9HPzfZ3AuHMOvTLLebkZTZ
F8xEZPIlVg4yYW9nzQzD9ukElOtlQ6Nk2vg4a7t4y0C+HBPiMgPSicpElOtl
STX9RyibDR0GJRYXtvNBqIb9OTY.Exsa+RLkLtdvxERi6ojs0HY0GTZZwQ2z
50sWdP8HtIbr6vgoUgs57Z.YT1aW2QyC8s5cc3NGdqdr9bOFdJPsj9tNlu9H
oGY5Dg31Dhsh4gdn843fiFJZMUHSAHX8alAiMDZefrP6WTo73fCgBJ4UZgvx
XVS.4RfVb+3msYyUWti.mUNab2rX0Gu3x4O97E2OlnCB+fULlZzWYivEB8BG
9seuT9Dr9NeBl874we1p+AFR7O.rC9Pu1RczAtAj6DEryW.HlltGvFrgQFmO
QNIMZAaaxE5USHjSCQErAmvLZI3MLvnEwVAjRKNN3lZckcclY8QWoJ1r1Pgo
3ZGoLvhfAFefE21AalHQRDzC9zu2ZT3TLzgfbTgNTaBncZEqPPpGtKuQ79VV
vAAkYjL+S9nABJ6vy9EH1r6lbg+C5pYN0GEca4BNBw6y2AT9zEiN2IFdGPIo
CvpHlEksPntd8FJBuyNXOE9DA3sWgwXhcMUgtvQ068ABRSjLBp2AVgSQADw7
kwTRUbsu71qiByRaBcyUAtZDJ6t51AOqOfWPL34xPUPQgp9mt9yV5l1ADpCr
OTf6LUXuNqpQxrF11loJ5ajpLsXm2LzsUY20YUAqOOGgcUk26rLysewQKQzp
7NDpQ.7dDFyC3XlmUviHX7xRjiVVBvD1DjfXjjPQgUTRvFJ4vqeFtPr2FJoY
h0pv3BCwfmvVEV4A+fcShKcBRLfxIXI9k9NKjvIRHi4B035dwoZl5VVLlHa+
dQrRrik+9XknnyVmtUo1sPmPFptqBOjOryIdt.nca8DoS3wGSsPBNHhRkLxN
qB0.wjoW3wGS4.mrsdbDZFdjDM+gWTO71aPBb0Ce6VfAyqyYNS9QDzXs+89q
sfZ0WzX1xyt3wKVQm5qjltxNP0RbXUXo5PF0R5jrICY.FKYHYGRgT5P6A6e8
l4m8oiOH+V83xO3TE0X7nsD1oAAXTmxQRIgDh+ig4rH8Fyh08ImRlNDzn8Gf
wjii6dj1ZeK.1p1F4hG3V8.CO2NcJ5aC2XYiwcqQ2uO2XQVa22YQhlYvX842
JnHlLG9dY5a+xu7+8u6aFMP2oGOmZUDDUBmi3LUcvmX5SCmeAa5e+V8OcyK+
027x+yad4W6ugzbzzW90u9K+Gd8u6qFOMs666JsrxHTFgIpKjK2twv4RXYYc
96u4k+xad4u5lW8u7c+l+0a9Y+Oe2u6+x88wuYA5byBGsUBgwFtfKBYzk0a+
iGpVmgANMiN9hZCko1lP2XKu3YWDj6IkE0RQ.3i1fYqLTekNwIg1dgFE2lpj
6Zo3sna4kaQGaRRwvQSwP8dUMhh8VNEazNkk7JKr3TL5SV0LxHCPR5Qzqi2j
knikys8TAa2jxMSiC1yHa4b8BmT2sZlCGhmzX3njaE.n8WIQt2hu6Y8oG245
sMuFiVRPxA4c3aCzw2NPLmz6ypb6EYI6A4kF6wHBJhwG.EPnadv50dOp3YPY
SwheK6sPyj1juUYtWP+S+7k87nkSU6Yc0OOteomMvd0Y8UEsXpDqNIe7bZ51
yeEkNm8v2kgD98rQ1p6uI99uSY3y9KcD3UW4uFJFcf.zJ5uHV4VSL0eKXz.9
CmILDbrWrQVbuMBDRsVgh10j98mwIXkmCjicYLJPTjJf9zY85Oa4kO4pOa7E
swseBNbsX0068mOpja0zzVRvXi46ZrkRYX6JTY8O9xyBydYB6wq9hvUB+WGB
9we629e7Eu9u4a98d8O8Ww9di+xRuya6RT2LqNhwA.3H0ABnGjfW+W+ae8u3
eb7fuy7c.swP7D1xaTYnJIXlx1uUnvfsdy7UaHHZomzO1ewNk5Mqa8oayjvn
waQOQ10NMUx25guYwfZzw9HwopE0njkkJlcySSuBYGYbWijkxju03nrat5oO
87EEtVcGyELsoMZZQOkJBMUaT2Z7IPez9LRrRqUoP+fO7C7pBa2fkdHK5.gh
VzLTzfLrcwHtSbzC6DKTR7RLvJeYouegGM66+jkWrcIe12e9Sle8lYLBJGoS
JlAaQlDNXKYpId14KluZ71rO37tMkEZ0bGj3qRqR.9iG89dY2Yap+jlrngqk
FeXaM9bviWaSlkfM9shrObzHS04wIZchzPsyCKSsOVxiEx9SFOx3GpMAIU.f
XDYFe7NoDYu4NGGkbrF+YUPBF5XUg7V3AeoFs0xVFlXexauDL8XIXFgLw1u2
XDLvZKKAyNVBVxnc8lifovxRv5reflGAKUNhUZB1wvCTAeLdfJX6QUb9muMA
gnwB8QGbiraUDIONPcQ1mA7XAlKNb6i3VCYVsb8YyqQbkcxRPMEYe3aRBZK9
P9rKC4KBa++cBQzVSJZad2Ch4+itWGDPy0gXqeBz3af9hxJGnWLyQjVenbId
TbvR1nZgPonZwtIiAJHQqUm3Wdw0WsZyEW87kiOCr0CNElRl0k09xqEkLHFe
94DEFCtfx5GVCFxpe3Vw9iWsX9mN96bIyvaBEd6mZKWYv1CdU7C8jyWd4h0w
OoaoEgYwOv8nHqu5YqNa6S01DLa1Na0dxh0aVd47MKu5xc9sBMGuYcR8yeFy
ZBkjMe9FeSFSHJ1+W6hkO45qbh+qornS5jpQ1EFs6UvzUlFcIVPrWx1s5IKV
c.qfIGR7g.oXVNn3U7FM.V+XIfDbzfTH8Pmk5YfSwyfJmmAeRbQEqYVa97QH
uikQtyZCaCkFQa.AcyU3vPz73yxhMz2aQ634WipJcCOJioZhVw1arXyE0OVo
1YkEjB8M2YPOgT7Dd0BL1w3zEaujJOwCLV2qKVQqqKFGiktQytsfqK4Ao35B
umPREr3z2kGk0upTqK57AgrUPX7cfxFw3KBBKH2ADT7Hqx+QV05irE3UlFww
s9Q1eig1n0QSG.j4C.c6.PypTMhbeD.f6YtjHPxyAAAcW.MSHjk3C+MyHUyX
VRcEVxT7FlPH2IrsMhNt5FRShMCRmt3zCQxSe34hevmdd+EuWeiNHr6MTHZl
6mtijJbOfG3v9f.cqzUmX4HlxlFmA5IG5HtbDe7KkpEQdp7AFY6YyE0rBZvt
HKeI0s8HvNZOBgqhhxs3qyawmLwmBdd9va5V9YJwLPrCK.LmYAlFElERlHTH
aW8nY6BZyyYIMzIMCPVfnc+KgtP6UD7WWMoGrPb+YiJ1fPEFQUqCVn8SnIKo
oHp5FU.J2sc4ECqme4vyfCNEpXxAK0ZUtnRVPQUnIO4kJ6AhY.D5DSQ9dCmc
6qJFwKymaSVO25.m8tupXz6rzMfxto2VITIjBliIMvqFZDf0TeqUVYSNVwVK
xDSlhxHqxKFrcG7NsVFYAB+vTegBtsGzA9V2RWi4u7cpGS27x4C7KAjfUQeB
LZahC4bro3PLdIwjVVYXPhf.lEOigWPyUy8g39gE99aFc6s7Ak231q46iOt+
m+9lLbUL19XEaePlXRL.Lof38KB3L.PIQtaPefV39taPXvhIggmG2BRlI0nA
50T11lLlupObxIj0DRk066N2zNygeLhf.KOH.C.BZgIxKHk9HwYE7neAvgFy
FMhL8GpEoB64c9UCD6waZoNFjHLXxmEDHbJgwS131J.0ZsUv78pPoWBwQaoW
lmDPMcBKzh7lRBkOoyTNuhtoTkUTZQIgSozluokDsEPl2tNEiPTpxCkRBmxL
2jXHbJyaSBgmmOJyztAcI8LIyGBY2mUZZW9DrnHU2OSOXorHKuCk5VrSwTJx
i+QPH+iHOgrBAgSYdbKBBE+fYdX9c65LngDouTrjOAQaiQDBxLp+cGfPko4U
NVM.v1FhnmecVZVQBse.U4G8Qhzrh4oyAIzvLLuMvHghov71.yoDk4ILlSnx
bdl9WYKolUdOhfNuumKPspUNWzxfkR0JOOCP4VBWMyR9CWbnHJBXkUfdA8g7
xQH2wsOtb+vMFuKtnysOddm5JR3YHx44mYNc5srtxsGV46ZwRMHXZzmDy0Yy
jN1QzYTk+RHOuvBwITlHX5kEFjLk4oeCnbJyy.UfP23X5dwARwTdjyIaddQA
iqsDNkY5o5g1WWu0UDNvnjNvEFqPpGyEFHzGXjVaYa3fQFNNr1Ik7vG+u892
eJaQUxjZnFUGu0hvUlQ9qEFmJ0FmyXaKE7iHLzp9.i5ycusGbjjGbdd7PZBk
h.4mKNbhlxLS+GNgnjfRlA8rC2ukIcLpXFdd0wv8YmoULsJSWoDCH6l315dC
Zpy5OLXoDZmWwUvUzcXA77JNBtjv834UNCbEg1CoD4Mk1gvtDyekNFjHLjWL
RrrhtuKKUBMrpuQtRVqDd+zgTDpdIPnj6c2pb3AqSgHmWfpJijyTBog4FEUB
JygnLWBhZTf9lon0wNA8WZgNYOp5AM96ooNGTwhn2YacSRSXvhIuJOs0JBUc
pXCQ4SCaoD5lYlMuNEEZQo.ufzw7LAQHF.pvX0NZ2+BFn9ZuFKWAbxy6Lg4J
5JminVp7kNQ1Tlg9SB2BHw73VNTfGSGaQdWAdjpzzgKyr5KHzFfLKIPI+.pt
zXkZGQvxX2jWUKBlEt2BEbsx6trHjcZcMnVVWf.o9XCCRD5yTDCgQDhhFCPZ
WYv18xgpjskmY0nIOTAnKqPPgb61uD2xP3K1OuxbVcsCYrxtGqlWI4mIgrJ4
UNXCT9RcZNxiFzb+WdbN1CdlEaFmP8DBEMdf335aDONNDuFO8CxZ9Ror8rSO
LXoLqISLeHyZRhYPYpu5RiBC1+kX75tuEidTkynm7pIONNj8N0Y.M.JcklIb
+KNnxPZJPyw7xmUnnA3AM8R76wC2GpZXBKDRmpbkj6UyazAoy7NpwkB5YQdY
rBXHzNKTjeWPhnP3lWFqb6tNRlRd9njHuaxLiUDGn5JRK9ntLUbFbT4XLQSs
DSPpJaYpjMp3CAUwBJpiAKl3qL0CfErTst09kwkihbYyCZHiTTrLbK4BI0Pg
TGIsXY3T.UuPDISIRBeguS5gHn2VMmH9FjwHWLoFLlN9bFYICQP3Iy.40CiL
DNi40k2naByBgJBiBRN1TdffHnbrdM1MohclYk+Vsz5XLEaiEvAFCfVatS.U
oKWrUjcPxrgNS.aHrpMmV5t2FjTtkgwp61Ew9vztup9BrOs7NNczy7x0TFcF
3FkTd3oTa5e4AXk0MDYUxgJj7zFx9aqEC0sJhTpA1xSf6xffQ9CVq5NNzsHD
4qULQAahTMZOTc0kB6HforPj.cVFGHe67JZHU4Vh5kruaDeHxnhgoyluLwcr
2u.Gr2uTGtVeTpZzpO5Xr5SpVqCQmqjGMMnyr0lPHIVi4rpBDlJMPdwwlt4K
yVXqxPmhcUdoAOgkIdddjQW0SC4cFx.g0HNHyb6Acl5mmCZDNePdoYFJIbJ6
QnOau4HKLlpP+puNJwJg+bhEAYlRgnRXrFtHztzsFgrdLhP.lOBZuWI6SVqc
SvIEyGCbQvMZoOAJk99bh0ezLNOOr0iQDB5QfYauYI6dhCGGuQYC0WjFCHHd
mDix8FyDWerse6VL+5qe9hUqqeDhO7mbw7OIdoXGu.f72xXwWiwWuZwyWt8O
IdYcbx7Um8iVtYwYad1p3MdyKT0WXGmbwUNsmW9rkasQwS97Sc3tCweC4r95
4QBU3NF4ceG2uv++9alFN
-----------end_max5_patcher-----------
おまけ
上記の領域塗潰しパッチャーの1つ前のバージョン
jit.matrixは1か所だけに配置。
vオブジェクト(value)を使う代わりに、メッセージボックスを値の保管場所として利用。
信号の切り替え処理に、
gate オブジェクト
buddy オブジェクト
を多用して組み立てている。
作成が面倒で、かつ信号の挙動が複雑なためデバッグが大変。