ゲームコードは完全に数学の言語で書かれています。それを分解しましょう。
Nはセルのサイズに責任があります。
pow(1.02、iTime)は、セルの均一なアニメーションを作成します。1.02-アニメーション速度。遅かれ早かれ、これによりバッファオーバーフローが発生しますが、アニメーションをオフにするには、t = 1にするか、時間t = iTimeで速度が低下するようにします。
dxおよびdy-カーソル位置のxおよびyオフセット。
float f = float((x-dx)*(x-dx)* t +(y-dy)*(y-dy)* t); //これらはゲームのルールです-この関数(実際には関数ではありません)では、変更を加えて新しいゲームロジックを取得できます。
float F = abs(f * sin((x)/ N)* sin((y)/ N)); //機能(機能ではない)の細胞膜を作成しますf。
int R = int(floor(F * pow(16.0、6.0-ceil(log2(F)/4.0)))); // 16進表記の最後にゼロを追加するか、右にトリミングして、メンブレンの色を調整します。基本的には、HTMLまたはPhotoshopで使用される既製のX11カラーインデックスです。
要するに、すべてが単純です。私は実際には数学とGLSLの両方に慣れていませんが、私の友人はこのゲームが好きで、Habrがそれをどのように評価するのか疑問に思っています。何かアイデアがあれば、フォークすることができます。他のプログラミング言語に移行したい人のために、各ピクセルのそのような計算はプロセッサにとって非常に難しいことを警告します-あなたはシェーダーをプログラムする必要があります(まあ、個人的には、私の経験ですが、一般的に私は気にしません)