12/7 忘れすぎて絶望

日記

2025/12/07

Three.js

シェーダーでライト

かなーり忘れてた。やったら思い出した。これ要復習。

diffuseColorとlightって足すんだっけ?掛けるんだっけ?てなっちゃった。
証明が真っ暗だったら、なにもみえないでしょう。だから、掛ける。

color = uColor //対象の色

vec3 light = vec3(0.0);
light += ambientLight()
light += directinalLight()
・・・
・・・

color *= light

lightの0以下のときは0にしちゃいたいな〜て時。if文かいちゃった。だめじゃろそれは。 

max(X, 0.0);

後内積について。a・b=|a||b|cosθみたいな式だけど、三角関数理解したらすっとどっちが1で-1かわかる。

カメラの位置について。cameraPositionが用意されている。

glslのインポート

viteのpluginを入れないと、glslファイル内でincludeしてもエラーになることがわかった。

数学

ベクトル解析 → ベクトルで表される関数の微分積分。時刻tによってvが変わると、微分は必要になるじゃろ?

そのベクトル解析に必要な知識
→ちょっとした線形代数、ちょっとした解析学

ベクトルについて表す記号
力(F)とか速度(V)とか、左の縦棒を二重にするらしい。サイトとか見てて、なんだコレってなってたのスッキリ

ビット

2 ^ 2
「^」は排他的論理和。0を1に、1を0に反転。「^ 2」で2ビット目を反転。10→00 つまり0となる。

1 | 2
「|」はビット論理和。「| 2」で2ビット目を1にする。 01→11 つまり3となる。

3とすると、二進数で11となり、3 & 0x1にも、3 & 0x2にも該当する。これが役に立つこともある。

感想

わかった。一つのこと一日中やるより、4つくらいあったほうが色々と捗るんだわ自分。
なんかNext.jsとか流体シミュレーションとかやめてから効率落ちとるわ。

Got it. I'm more productive when I have about four things to work on, rather than just one all day.
Ever since I stopped doing Next.js and fluid simulations, My productivity has gone down.