fluent_scene technical report

LSDシェーダーの科学

LSDのトリップ映像は「なんとなくサイケな模様」ではなく、視覚系の配線から数学的に導ける現象です。fluent_sceneの新フィルタ lsd が、どの神経メカニズムをどの計算で再現しているかを解説します。

starting engine… ライブデモを開く

fluent_scene とは

カメラ映像や画面に、リアルタイムで絵やエフェクトを描くための自作エンジンです。画面は数行の設定ファイル、エフェクトは1行で書けて、GPUで動くので速い。同じコードがロボットでもブラウザでも動き、この記事のLSDエフェクトもその1つです。AIに画面を作らせても壊れない設計になっています。GitHub で公開中(MIT)。技術的な中身は記事の後半で。

1. 何が見えるのか — 現象の分類

LSDの視覚効果は主観報告の集積によりかなり細かく分類されています(体系的なカタログとしてはPsychonautWiki Visual effects が最も網羅的)。主要なものは:

2. なぜそう見えるのか — 分子から大脳新皮質まで

2-0. そもそもなぜLSDは効くのか — 鍵と鍵穴、そして「蓋」

出発点は分子の形です。LSDの骨格の芯にはインドール環(ベンゼン環とピロール環が縮合した二環)があり、これは脳内の伝達物質セロトニンの骨格そのものです。つまりLSDは「セロトニンの形を含んだ、より大きく硬い分子」で、セロトニン受容体の結合ポケットに鍵のように嵌ります。

2017年、WackerらがLSDが結合したセロトニン受容体の結晶構造を解きました [13]。決定的な発見は、受容体の細胞外ループ(EL2)がポケットの入口に「蓋」のように被さり、LSDを閉じ込めること。この蓋のせいでLSDは受容体から異常に解離しにくく(数時間居座る)、トリップが8〜12時間続く理由がここにあります。蓋の可動性を上げる変異を入れると解離が速くなり、シグナル伝達の偏り(βアレスチン経路)も消えることまで確認されています。

セロトニン (5-HT) 蓋は開いたまま 秒〜分で出入りする = 通常の信号伝達 LSD EL2 の蓋が閉じる 解離に数時間かかる = 8〜12時間の作用 ジエチルアミド → 同じインドール環
図1 — 紫がインドール環で、セロトニンとLSDが共有する骨格。これが「鍵」として受容体ポケットに嵌る。違いは出口側で、LSDでは細胞外ループEL2が蓋のように閉じて分子を閉じ込めるため解離が極端に遅く、作用が8〜12時間続く(Wacker et al. 2017)。

まとめると: インドール環の形状一致で5-HT2A受容体に嵌り、EL2の蓋で長時間ロックされ、皮質の興奮バランスを持続的に崩す——これが以降のすべての視覚現象の分子的な起点です。

2-1. 5-HT2A受容体 → 皮質ゲインの上昇とゲーティングの崩れ

LSDの主作用はセロトニン5-HT2A受容体の作動です。これが皮質錐体細胞の興奮性を引き上げ、同時に視覚野のアルファ律動(入力を「間引く」ゲート役)を減衰させます [4][6]。さらにfMRI研究では視床—皮質間の結合が増強し、視床による感覚フィルタリングが弛むことが視覚性幻覚の強度と相関することが示されています [5]。要するに「入力のゲインが上がり、選別が甘くなる」——色が濃く、エッジが鋭く、些細なパターンが意味ありげに見える状態です。

網膜 視床 (LGN) V1 高次視覚野 入力 特徴 予測(prior)が過剰に ゲート弛緩: 未選別の入力が通過 [5] E/Iバランス崩れ: 縞パターンが自己組織化 [2][3] 瞳孔散大: 回折で虹のにじみ 5-HT2A作動 → 皮質ゲイン↑・アルファ律動↓ [4][6]
図1 — 視覚経路とLSDの作用点。下向きの紫矢印(高次→V1)が鍵で、外界からの証拠より脳内の予測が優勢になり、入力が乏しい場所を脳が「描き足す」。

2-2. 幾何学模様の正体 — V1の自己組織化と対数写像、そしてフラクタル

幾何学的幻覚は1926年にKlüverがメスカリン研究で4類型に整理しました(form constants: トンネル/漏斗・螺旋・格子・蜘蛛の巣)[1]。なぜ誰が体験しても同じ図形になるのか——1979年、ErmentroutとCowanが美しい説明を与えます [2]。

第一次視覚野(V1)のニューロンは「近くを興奮させ、少し遠くを抑制する」側方結合を持ちます。薬物で興奮が底上げされてこのバランスが崩れると、皮質シート上に活動パターンが自発的に立ち上がります(化学反応のTuringパターンと同族の分岐現象)。ここで効いてくるのが、網膜からV1への投射が近似的に複素対数写像 (x,y) → (log r, θ) になっているという解剖学的事実です。皮質上の平行な縞を逆写像で「見え」に戻すと:

ただし単一の平面波(=規則正しい1枚の縞)では、体験者が語る「大小さまざまな塊がフラクタルに入れ子になって流れてくる」質感は出ません。ここには2つの科学的根拠があります:

ただし理論の「格子解」をそのまま三角関数で描くと、規則正しすぎて嘘になります。体験報告に共通するのは「直線・直角・真円が存在しない」こと、そして「3Dの中を飛んでいて、すべてが永遠に拡大し続ける」感覚です。そこでシェーダーの幾何場は周期関数を一切使わず、次の構成にしました:

Klüverの類型は描かれた図形としてではなく、多スケール性・流動・中心偏重という統計として生き残ります。フィードバック(後述)の吸い込みと合わせると、画面全体が奥から湧いて迫ってくる飛行感になります。

下のデモで基本原理を確かめられます。左が皮質シート上のパターン、右がそれを網膜座標に逆写像した「見え」です。「入れ子格子」がシェーダーの多オクターブ構成に対応します:

皮質の縞  ──  逆写像 r = e^u, θ = v  ──>  知覚される図形

V1皮質シート (u = log r, v = θ)
知覚される像 (網膜座標)
図2 — Ermentrout–Cowan理論のライブ実演。皮質上では単純な波の重なりなのに、対数写像を通すとKlüverの類型が現れる。「入れ子格子」は周波数を倍々にした3オクターブの重ね合わせで、自己相似(どのスケールにも同じ構造)がフラクタル幻覚の核であることを示す。シェーダーのgeometryステージはこの多オクターブ版を、輝度の弱い領域に「塊」として重畳している。

2-3. 残像とトレーサー — モーションストリーク抑制の破綻と「再帰」

通常、脳は動体が網膜に残す「ブレ跡」を能動的に消しています(motion streak suppression)。LSDはこの抑制回路を動作範囲外に追いやり、消されるはずの過去フレームが知覚に残り続けると考えられています [7]。重要なのは報告の質感で、滑らかなブラーではなく離散的な静止像の連なり(ストロボ的なコマ)として尾を引きます。

これは計算としてはフィードバック(出力の再入力)です。1パスのシェーダーには前フレームの記憶がないため、デモでは描画結果を毎フレーム取り出し、わずかに拡大・回転・減衰させて次フレームの入力に合成しています。この再帰が、トレーサーだけでなくトンネルの奥行きが無限に増殖するフラクタル感も生みます——ビデオフィードバック(カメラでモニタを撮る)と同じ力学です。

カメラ入力 合成 ⊕ fs_lsd フィルタ 画面出力 縮小・回転・減衰 (warp) 新しい網膜像 歪み+色+幾何 前フレーム 合成モード2種: なめらか(加重平均) / 発光残像(max合成 = 離散的なコマ残り [7])
図3 — wasm/lsd.html のフィードバックループ。紫の経路が「入力の再帰」で、トレーサー・パリノプシア・再帰的トンネルはすべてここから生まれる。減衰係数(残像スライダー)が抑制回路の効き具合に対応する。

2-4. なぜ同じ映像は二度と現れないのか — 非定常性

LSD体験のもう一つの署名は非定常性です。映像は静止した「エフェクト」ではなく常に変容し続け、同じ状態は二度と戻りません。切り替わりも一様ではなく、気づいたら変わっていた・ゆっくり滲むように変わった・パッと切り替わった——の全てが起こります。これも実測と整合します:

デモではこれを「トリップ導体」として実装しました。全パラメータがスライダー値を基線に彷徨い続けます: ①各パラメータに非通約な周波数の微揺らぎ(気づかぬ変化)、②ポアソン到着(平均約20秒)のメタ安定ジャンプ。ジャンプの遷移時間は0.25〜20秒の対数一様分布(重い裾)から引くため、あるときは一瞬で、あるときは1分近くかけて別の様相へ滑ります。さらにフィードバックループ自体が非線形再帰なので、初期条件に鋭敏——厳密に同じフレームは二度と生成されません。

3. 現象 → 機構 → 実装の対応表

現象神経機構シェーダーでの実装パラメータ
ドリフト・呼吸ゲイン上昇+予測優勢で輪郭の位置推定が揺らぐ [4][6]低周波の放射波+2つの非通約な進行正弦波でサンプリング座標をワープdrift
色彩増強視床ゲート弛緩による未選別入力 [5]彩度+コントラスト持ち上げ+ゆっくりした色相回転(色の呼吸)trip
鋭敏化同上(エッジ応答の増幅)4タップのアンシャープマスクtrip
虹のにじみ瞳孔散大による回折半径方向のRGB分離(周辺ほど強く)chroma
幾何学模様(3D飛行)V1自己組織化 [1][2][3] + フラクタル次元増大 [10]。中心があり、微細で、永遠に拡大する深度シェル3枚の永遠ズーム(ハン窓クロスフェード+飛行インデックスで内容更新)。塊は高周波寄り4オクターブのワープ値ノイズ(縁に房状の微細構造)、手前ほど明るくmax合成、シェル固有色相で奥行きを色分離geometry
トレーサー・残像モーションストリーク抑制の破綻 [7]出力→入力のフィードバック(減衰+微小ズーム・回転)。max合成で離散的なコマ残りを再現残像/吸い込み/渦
絶え間ない変容動的状態レパートリー拡大 [11][12]・スケールフリー変動 [10]トリップ導体: 微揺らぎ+ポアソン到着のメタ安定ジャンプ(遷移時間0.25〜20秒の対数一様)自動変容/深度

4. パラメータで遊ぶ

デモは takatronix.github.io/fluent_scene/lsd.html(GitHub Pages・https配信なのでそのままカメラ許可が通ります)。映像は全画面表示で、操作は右上の ⚙ で開くドロワーに収納。⛶ またはダブルタップで全画面、スマホは最初のタップで自動的に全画面へ入ります。「薬理」群がフィルタ本体、「再帰」群がフィードバック、「変容」群がトリップ導体です。

おすすめレシピ

5. 実装メモ

フィルタ本体は include/fluent_scene/shared/filters_shared.h の fs_lsd() 1関数(GLSL∩C++単一ソース)で、CPU・Vulkan・WebGPU(naga経由WGSL)の3バックエンドで同一コードが走ります。ゴールデンテストでCPU↔GPU差は max_diff=4/255。時間は time スロットをホストが毎フレーム駆動する方式(fx::Ripple と同じ)で、time=0 なら静止し決定論的にテストできます。フィードバックはフィルタパイプラインの外(デモ側)で閉じており、コアのレンダラは無改造です。

// 幾何ステージの核心部(fs_lsd抜粋): 永遠に拡大する深度シェル
float zp = t * 0.3;                        // 飛行速度(オクターブ/秒)
float zf = zp - floor(zp);
for (int i = 0; i < 3; ++i) {
    float e  = float(i) - zf;              // 深度指数(手前ほど小さい)
    float sc = exp2(e);                    // 縮む → 画面上では膨張
    float m  = float(i) + floor(zp);       // このシェルの飛行インデックス
    vec2  off = hash(m);                   // シェルごとに新しい内容
    float w  = 0.5 - 0.5*cos(2.094*(e+1)); // ハン窓: 湧いて→育って→消える
    vec2 pl = pc * 3.0 * sc + warp * 2.2 * sc + off;
    float nv = vnoise(pl) * 0.38 + vnoise(pl * 2.1) * 0.27   // 高周波寄りの
             + vnoise(pl * 4.4) * 0.2 + vnoise(pl * 8.9) * 0.15;  // 微細構造
    float near_f = smoothstep(2.0, -1.0, e);
    float clv = smoothstep(0.52, 0.72, nv) * w * (0.5 + 0.5*near_f);
    mass_ph = clv > mass ? m*2.39996 + ... : mass_ph;  // シェル固有の色相
    mass = max(mass, clv);                 // 手前が奥を遮る = 3D
}
この実装は視覚現象の計算論的な近似であり、薬物体験の完全な再現でも、薬物使用の推奨でもありません。点滅・渦巻きパターンは光感受性の方には刺激が強い場合があります。パラメータは控えめな値から試してください。

参考文献

  1. Klüver, H. (1966). Mescal and Mechanisms of Hallucinations. University of Chicago Press.(form constantsの原典、初出1926)
  2. Ermentrout, G. B. & Cowan, J. D. (1979). A mathematical theory of visual hallucination patterns. Biological Cybernetics, 34, 137–150.
  3. Bressloff, P. C., Cowan, J. D., Golubitsky, M., et al. (2001). What geometric visual hallucinations tell us about the visual cortex. Neural Computation, 14(3), 473–491.
  4. Carhart-Harris, R. L., et al. (2016). Neural correlates of the LSD experience revealed by multimodal neuroimaging. PNAS, 113(17), 4853–4858.
  5. Müller, F., et al. (2017). Increased thalamic resting-state connectivity as a core driver of LSD-induced hallucinations. Acta Psychiatrica Scandinavica, 136(6), 648–657.
  6. Kometer, M. & Vollenweider, F. X. (2016). Serotonergic hallucinogen-induced visual perceptual alterations. Current Topics in Behavioral Neurosciences, 36, 257–282.
  7. Dubois, J. & VanRullen, R. (2011). Visual trails: do the doors of perception open periodically? PLOS Biology, 9(5), e1001056.
  8. Kwan, A. C., et al. (2024). Neural mechanisms of psychedelic visual imagery. Molecular Psychiatry, 30, 809–818.
  9. 一般向け解説: A Math Theory for Why People Hallucinate (Quanta Magazine, 2018) / 現象カタログ: PsychonautWiki
  10. Varley, T. F., Carhart-Harris, R., Roseman, L., Menon, D. K. & Stamatakis, E. A. (2020). Serotonergic psychedelics LSD & psilocybin increase the fractal dimension of cortical brain activity in spatial and temporal domains. NeuroImage, 220, 117049.
  11. Tagliazucchi, E., Carhart-Harris, R., Leech, R., Nutt, D. & Chialvo, D. R. (2014). Enhanced repertoire of brain dynamical states during the psychedelic experience. Human Brain Mapping, 35(11), 5442–5456.
  12. Atasoy, S., et al. (2017). Connectome-harmonic decomposition of human brain activity reveals dynamical repertoire re-organization under LSD. Scientific Reports, 7, 17661.
  13. Wacker, D., Wang, S., McCorvy, J. D., et al. (2017). Crystal structure of an LSD-bound human serotonin receptor. Cell, 168(3), 377–389.(EL2の「蓋」と超低速解離=長時間作用の構造的根拠)