monoTone

Unity / Rust / Shader / 音楽や数学や計算機が好きなようです。 …

monoTone

Unity / Rust / Shader / 音楽や数学や計算機が好きなようです。 / 日々の勉強記録はScrapBoxに書いています: https://scrapbox.io/myStudyLogsDirectory/

マガジン

  • 日記集

  • いい感じの記事群

    役立ちそうだなと主観的に思った自分の記事たちをまとめていきます。

  • Shaderリーディングまとめ

    Shaderリーディングをまとめたもの

記事一覧

日記 2024 0405 「やりたいこと」を再考する

世間がよく言っている「やりたいこと」 に対する欺瞞性がずっと自分の頭をもたげていたが,なんとなくその正体が自分の中で言語ができた気がする.以下に記す. しかし,…

monoTone
3か月前
1

日記1027 2023 :地味な作業も必要?

自分は今まで人間がやるべきではない、地味な仕事(作業やブルシットジョブ)は出来る限り全てなくすべきだと考えていた。 例えば、自分はアイデアの構想や、それの検証及…

monoTone
8か月前
1

Shader : SDFについての備忘録

SDFを”距離場”として捉えてみる。つまり$${f_{sdf}: \R^2 →\R }$$という意味 ここで、このスカラー場$${f_{sdf}: \R^2 →\R }$$の勾配を取ってみたいという願望が湧い…

monoTone
9か月前

日記 0930_2023: モノを作る,理論を積む,そのためにメモを溜める.

最近,研究を通して,堅牢な理論で下支えする必要性と,そのためのメモを書き溜めることの重要性を身体で覚えさせられてる. なんというか,情報収集に使った時間を溶かさ…

monoTone
9か月前
3

日記0930_2023 : 英語を読む方法(暫定)

学部4年になり、初めは与えられた論文だけを読んでいたが、最近は自分で論文を探してきて読むようになってきた。 このアカデミアという世界ではどうしても英語とい…

monoTone
9か月前
2

日記0814

人生(仕事)について 構造を構築する(経営者) リスクを取る(経営者) 現実にある解決したい問題の要件を整理する(コンサル、エンジニア) 言い換えると、現…

monoTone
11か月前

日記0728 : 抽象のキャッチボール

やはり頭いい人と話すのは気持ち良い。 そうでない人は「抽象の1」だけを話せば次に進めることを、1から10まで具体を延々と話すから眠くなるし何話してたかわからなくなる…

monoTone
11か月前

日記0727 : やりたいこととノブレスオブリージュの狭間

ふと将来どの職種につくかと問われた。 「ソフトウェア(プログラム)を使って何でも作れるのは前提として、でもそれだけではレッドオーシャン感があるので、それに加えて…

monoTone
1年前

今日のShaderリーディング0721

rot(極座標系)で流れる川の向きを指定、widthとかで幅も指定。 反射的表現もfetchしてくるUV座標を前フレームとほんのちょっとしかずらしてないからそれっぽく見えてるだ…

monoTone
1年前

日記0721

脳内に自分特有のモデルを作る。言語化して書き残すことで、それを忘れないようにする。再現性を作り、未来の自分の能力を確固たるものとする。 ストーリーを作る。そのこ…

monoTone
1年前

今日のShaderリーディング0718

例のごとくまずレイマーチで距離dを得る。レイマーチは連続的ノイズで十分にゆがめられた三次元スカラー場(d)を測定する。 その後オブジェクトに当たりそうなものの、dが遠…

monoTone
1年前
1

日記0717

初めて自分でゼロからShaderを書いた。 なぜこれほどShaderという魔術に惹かれているのか考えた。 それはすなわち、表現を作る過程の行為が非常に工学的であるからに他な…

monoTone
1年前
1

uv座標とShaderの関連性

「3Dモデルの各頂点には、それぞれUV座標が割り当てられます。これにより、3Dモデル上の各頂点が2Dテクスチャ上のどの位置に対応するかが決定されます。 3Dモデル上の面(…

monoTone
1年前
1

日記0714

クラス継承の概念って素晴らしいように見えるけど実際コードリーディングすると、プロパティやメソッドの動作が別ファイルに書かれてあるからめちゃくちゃ全体構造(処理フ…

monoTone
1年前
3

今日のShaderリーディング0711

スカラー場を例のごとく作ってObjを表現するのだが、その時に各Objにidを割り振って何のObjectをレンダーしてるのかわかるようにする。 各idに応じて反射の仕方や色など与…

monoTone
1年前

今日のShaderリーディング 0710

日々気になったShaderを読んでいって処理の解釈を述べていきます。毎日が理想だが、まあ無理しない程度に定期的にやっていきたい。 uvを歪ませる:動的かつ連続に歪ませる…

monoTone
1年前
1

日記 2024 0405 「やりたいこと」を再考する

世間がよく言っている「やりたいこと」 に対する欺瞞性がずっと自分の頭をもたげていたが,なんとなくその正体が自分の中で言語ができた気がする.以下に記す.

しかし,金にならなくてもいいからやりたい は人間として非常に重要な素質であると思う. それがその人らしさを作り,その人からしか立ち現れないものが創出されるからである.
それを蓄積していく内に,回り回って仕事などの成果を出さなければならない場面にな

もっとみる

日記1027 2023 :地味な作業も必要?

自分は今まで人間がやるべきではない、地味な仕事(作業やブルシットジョブ)は出来る限り全てなくすべきだと考えていた。

例えば、自分はアイデアの構想や、それの検証及び実装は創造的であると考える一方で、パワポの作成等は「地味な作業」であると考えていた。

パワポの図の作成等は、見さすさのためだけに0.1ミリのズレもないように図の位置を調整することに苦心している。人に伝えるためとはいえ、こんなことに1日

もっとみる

Shader : SDFについての備忘録

SDFを”距離場”として捉えてみる。つまり$${f_{sdf}: \R^2 →\R }$$という意味

ここで、このスカラー場$${f_{sdf}: \R^2 →\R }$$の勾配を取ってみたいという願望が湧いてくる。

// .x = f(p)// .y = ∂f(p)/∂x// .z = ∂f(p)/∂y// .yz = ∇f(p) with ‖∇f(p)‖ = 1vec3 sdgBox( i

もっとみる

日記 0930_2023: モノを作る,理論を積む,そのためにメモを溜める.

最近,研究を通して,堅牢な理論で下支えする必要性と,そのためのメモを書き溜めることの重要性を身体で覚えさせられてる.

なんというか,情報収集に使った時間を溶かさないために,最後にメモとして使った時間を具象化する行為ってとっても大事だよね.とかそういう当たり前の話

仕事で「これについて調べてください」って言われて,2時間資料読んで「読みました!」っていっても,「あなた学生なの?」って言われるのと

もっとみる

日記0930_2023 : 英語を読む方法(暫定)

学部4年になり、初めは与えられた論文だけを読んでいたが、最近は自分で論文を探してきて読むようになってきた。
このアカデミアという世界ではどうしても英語というものを克服せざるを得ない。
極論DeepLやGPTに流して仕舞えばいいのだが、前者は日本語訳がやはり少しぎこちなくて読み辛いし、後者はそれが本当に正しいのかを結局自分で最終確認しなければならない。その上現時点では、PDFを渡せば

もっとみる

日記0814

人生(仕事)について

構造を構築する(経営者)

リスクを取る(経営者)

現実にある解決したい問題の要件を整理する(コンサル、エンジニア)

言い換えると、現実にあるオブジェクトを整理して形而上の問題に置き換える。

4. 整理された要件(問題)を解く。(エンジニア)

[3. 4.]をやればいいのだが、あとは気持ちの問題がある。
気持ちがついてかなければ3.が定義できたとして

もっとみる

日記0728 : 抽象のキャッチボール

やはり頭いい人と話すのは気持ち良い。

そうでない人は「抽象の1」だけを話せば次に進めることを、1から10まで具体を延々と話すから眠くなるし何話してたかわからなくなるから無駄が多すぎる。それに加えて具体を延々と話してその文章が終わらないので全然「それはわかったから次にいこう」という意思表示としての話の中断ができない。これがストレスフル。

頭がいい人とは抽象の1を適宜キャッチボールして投げ合うから

もっとみる

日記0727 : やりたいこととノブレスオブリージュの狭間

ふと将来どの職種につくかと問われた。

「ソフトウェア(プログラム)を使って何でも作れるのは前提として、でもそれだけではレッドオーシャン感があるので、それに加えて物理世界に何か作用することをやりたいです」みたいな感じに答えたがやはりなんだかフワッとしてる感は拭えない。いやこれは本心だが、この本心に該当する職業をただ一つに特定することはできない。
もっといえば研究職でもあれば開発職でもあれば、アーテ

もっとみる

今日のShaderリーディング0721

rot(極座標系)で流れる川の向きを指定、widthとかで幅も指定。

反射的表現もfetchしてくるUV座標を前フレームとほんのちょっとしかずらしてないからそれっぽく見えてるだけ。(iTime引数を与えたfbmによる動的かつ連続的ノイズでUVを歪ませる( fbm((uv, time)) ))
まあ逆にそれほど歪ませるとか法線マップとかによる視覚の騙せやすさはすごいということ

歪む感覚と

もっとみる

日記0721

脳内に自分特有のモデルを作る。言語化して書き残すことで、それを忘れないようにする。再現性を作り、未来の自分の能力を確固たるものとする。

ストーリーを作る。そのことで初めてイメージが生まれる。ストーリーがあれば、すぐ諦めて、イメージがお釈迦になるようなことが少ない。

ストーリーに沿わなければ相手につつかれる。逆にストーリーにさえ沿っていれば納得させられる。たとえ恣意的な選択をしたとしても、それが

もっとみる

今日のShaderリーディング0718

例のごとくまずレイマーチで距離dを得る。レイマーチは連続的ノイズで十分にゆがめられた三次元スカラー場(d)を測定する。
その後オブジェクトに当たりそうなものの、dが遠い(大きい)ときに限り密度が低い(すぐレイマーチが通過した)と判断し、色が加算されず赤色かつ透明に仕上がる。

dが近い(小さい)ときに限り密度が高い(何回やってもレイマーチが進めない)と判断し、色が加算されて白色かつ非透明に仕上げる

もっとみる

日記0717

初めて自分でゼロからShaderを書いた。

なぜこれほどShaderという魔術に惹かれているのか考えた。
それはすなわち、表現を作る過程の行為が非常に工学的であるからに他ならない。

つまり脳内でイメージした表現を全て空間上の数値に置き換える。そしてそれを実現するための場の生成を数学的に構築する。
それらを発散しないように、意図した通りに動かす、状態遷移などを加えオートマトンの機構を作る。
これ

もっとみる

uv座標とShaderの関連性

「3Dモデルの各頂点には、それぞれUV座標が割り当てられます。これにより、3Dモデル上の各頂点が2Dテクスチャ上のどの位置に対応するかが決定されます。
3Dモデル上の面(通常は三角形)は、これらの頂点と関連付けられたUV座標に基づいてテクスチャから「切り出され」、3Dモデルにマッピングされます。」

つまり 面に「何の」画像を「どのように(どこに)」貼り付けるかを規定するのがUV座標である。

もっとみる

日記0714

クラス継承の概念って素晴らしいように見えるけど実際コードリーディングすると、プロパティやメソッドの動作が別ファイルに書かれてあるからめちゃくちゃ全体構造(処理フロー)を把握しづらくなる。
そう考えると実装はさせない、型による意味論的な制約だけを与えるインターフェースやトレイトの概念は凄いなあと感じた。

データ構造ドリブン(数理形式とモデルドリブン)でプログラミングする
Houdiniのプロシージ

もっとみる

今日のShaderリーディング0711

スカラー場を例のごとく作ってObjを表現するのだが、その時に各Objにidを割り振って何のObjectをレンダーしてるのかわかるようにする。
各idに応じて反射の仕方や色など与えるマテリアル情報を変えることで任意の複雑な絵を生成できる

最後にRenderを複数回呼んでいるのは光の反射によってモノに背景が映りこむのを表現するため。(本質的にはRender一回でレイマーチング自体は完了する)

なお

もっとみる

今日のShaderリーディング 0710

日々気になったShaderを読んでいって処理の解釈を述べていきます。毎日が理想だが、まあ無理しない程度に定期的にやっていきたい。

uvを歪ませる:動的かつ連続に歪ませる。 歪んだuvから距離場を作って、距離場の小さい箇所が色として表層する

以上。

距離場(スカラー場)を使ったレンダリングに対する自分の解釈はいつか記事としてまとめたい。