4/2

日記

2026/04/02

Three.js

昔あまり理解していなかった法線の近似の計算は中央差分だった

高さマップの法線の計算にて

float xDiff = texture2D(textureHeight, vec2(uv.x - cellSize.x, uv.y)).x - texture2D(textureHeight, vec2(uv.x + cellSize.x, uv.y)).x;

float yDiff = texture2D(textureHeight, vec2(uv.x, uv.y - cellSize.y)).x - texture2D(textureHeight, vec2(uv.x, uv.y + cellSize.y)).x;

csm_Normal = normalize(vec3(xDiff / (WIDTH / DIVIDE), yDiff / (WIDTH / DIVIDE), 1.0));

中央差分で傾きを近似して、それをuvの座標系からworldの座標系に変換しているだけだったんだ。
上手く理解しておらず、なんとなく覚えているものが最近勉強したことでつながる感覚。このためにやってるんだな〜

内省

色々考えることがあり頭の中が忙しめ。勉強の時間は確保しているが、中身が疎になっている状態。
今、50代以降に偉大なことをした人たちの大器晩成列伝という本を寝る前読んでいるが、人生がまだ始まったばかりだと、勇気をもらえる。

It gives me courage to think my life has only just begun.