最近なんだか感傷的になって、繊細なんですよね。
つまりシェーダーで数式を扱うのがクソおもろいってことです(???)。
(ちなみに忘備録なんで自由に書きます。)
こんな記事読むよりこっちをおすすめする。
https://thebookofshaders.com/?lan=jp
Flutter ってなんぞや
Googleさんが開発した、マルチプラットフォーム対応のフレームワークです。
ここ半年ぐらい触ってみての感想は、日本語リファレンスが充実してなかったり、ライブラリの数がNextとかと比べると少ないので、ガッツリエンジニアパワーが求められるなあ、という具合です。
Shaderってなんぞや
基本ディスプレイだとかはGPUで処理されていますが、その処理の部分のことです。Flutterでは.frag形式しか対応はしていないですが、他にもあるようです(無知)。
.fragはGLSLという言語で書かれており、Cっぽいjavaっぽいdartっぽい感じです。
GLSLは何できるんや
普通にグラフィックが書けます。しかも数式で。
つまり、解像度の落ちないフォントのように、グラフィックが作れるということ。
あと普通の3Dモデルを扱うよりどちゃくそ軽い点が素晴らしい。旧スマホに優しいアプリを作ろうの会。

どうやって書くねん
flutter側はflutter_shadersを使うと実装しやすいよ。
GLSL側
// バージョンとか初期設定
#version 300 es
#include <flutter/runtime_effect.glsl>
// Flutterから変数を受け取る
uniform float u_time
// 型 変数名 = 型();
vec3 color = vec3(0.0,0.0,0.0);
// 関数
void main {
// これがちで重要
vec2 uv = (FlutterFragCoord().xy * 2.0 - u_resolution.xy) / u_resolution.y;
}
float sdShere() {
return;
}
// あとは筋肉
コードよりノートとにらめっこ
普通に何作りたいのかと、完成形と数式が完成してないと実装は無理です。
初心者には感覚だけで動かすのは厳しすぎました。
あとは調べまくる書きまくるです。(こいつ3日目のくせに偉そうだな)
終わり
ちょっとずつ更新して完成形まで持っていくつもりなので、一旦メモ程度の記事です。
それではよいシェーダーライフを