MPxNodeでカスタムクラスを実装する際、Evaluation Managerの評価中でもcompute関数に渡ってくるMPlugがnode.attrs[i]になっていてほしいなーと思ったことがあり、そうする裏技?があったのでメモ。 合法とは言えないだろうが、手段について記しておく。 MSt…
iPhone17・IOS 26.5.2、の世界線の話。 せっかくいい感じの透過付きWebPアニメーション作ったのにiPhoneで開くとガクガクでナエナエ。 WebPガクガク 本来15秒で走りきるはずが、重すぎるのか全然終わらないし、スマホもアチアチ。 ので、APNGにした。 ファイ…
タイトルを言い換えると、Pythonで実装すると知らないオーバーヘッドが厳しいよね、という話。 状況: ジョイントなりなんなりでメッシュをdeformしている。 何らかの処理をするため、各キーフレーム時でのメッシュの頂点座標を取得したいとする(ついでにnu…
趣味で表面メッシュ(sparse graph)のpartitioningがしたくなったので、GPUで書けるかつ実装しやすそうなものを試してみる。 初めて実装したタイプの分野かつCUDA下手くそマンなので、メモ書き程度に実装ポイントをまとめておく。 Lee et al. 2024のこちら…
Windows Terminalでhlsl使えるらしいのでしょうもない遊びをしてみる。 マウスイベントをANSI Escapeで文字列として画面の上部に書き込み、それをhlsl側で読み取って座標復元、といった感じ。 Exampleコード全部 #define NOMINMAX #include <windows.h> #include <algorithm> #incl</algorithm></windows.h>…
当たり前の話ではあるが、STLやThrustのような標準装備は、汎用性を重視しているため、実行速度で評価すると微妙なことは度々ある。 とはいえ、私のような平々凡々プログラマが書く自前実装よりは、高速な書き方がされており、単純な使い方では十分高速だと…
2025年も暮れという時期において、Visual Studio 2017とかいうレガシー環境でビルドする機会があった。 その際、dll内のnon-trivialなthread_local変数が正しく初期化されないというコンパイラバグを踏んだ。 このバグはVS2019 v16.5で追加及び以降デフォル…
2025/10/18日での、MSVC STL cmathのpowの話。 2乗(整数指数時)のpow関数はx*xを返すようになった(戻した)らしい。 詳しくはここを参考。 簡単にはstd::powが呼び出していたUCRTのpowのせいらしい。 It turns out that the UCRT mishandles squaring in …
Geometry Nodesの勉強がてらcotangent Laplacianを組んだ。 ただラプラシアンだけを作っても意味がないので、Laplacian smoothingをGeometry Nodesで再現してみる。 blendファイルはGitHubに。 github.com Laplacian smoothing Vertex position smoothing : …
Single-source shortest path (※sprase graph)において、Dijkstra法の最悪計算量 よりもいい感じの に更新した(※但し書き複数)で話題になっていた手法、 Breaking the Sorting Barrier for Directed Single-Source Shortest Paths とりあえずどんな感じか…
久々にGPUにCholesky分解させたいサイズの線型方程式に出会えた(The Affine Heat MethodのAffine Connection Laplacianの対称化について - 眇眇泛泛)。 cuSOLVERを引っ張り出そうと思っていたら、cuSOLVERのsparse系ルーチンが色々deprecatedになっていた…
The Vector Heat Method の改良手法がでていたので実装した。任意の画像を任意のオブジェクトに張り付ける、デカール(decaling)ができる愉快な手法である。 www.yousufsoliman.com 元論文や Geometry Central (2025/07 時点)では、Affine Connection Lapl…
Mayaスクリプトで、指定した時間のアトリビュート値を取得したい。 下記で利用するテキトーなデータ作成 import random import maya.cmds as cmds import maya.api.OpenMaya as om import maya.api.OpenMayaAnim as oma # 下記では暗黙的にglobal利用 nj, nt…