読書メモ:グラフィックスプログラミング入門
現在、React+Typescriptで開発したhttps://universalbase.xyz/をNext.jsに置き換えるのと、機能強化を考えています。
他のWeb3系のアプリなどをみると、Web2の次という意味で次世代感を出しており、グラフィックスに力を入れているのが感じられます。
例えば、イーサリアム・ファウンデーションのホームページもかなり凝っているのが見受けられます。
また、https://universalbase.xyz/で有向グラフの表示にCanvas2Dを使っているのですが、私の経験上バックエンドの業務が多かったことから、グラフィックス系の処理をしたことが無かったので応用が効かず苦労しました(jqueryプラグインでゴニョニョした程度)。
以上の理由から、後回しにしていましたが、体系的に学びたいと思い、この書籍を購入しました。
結論から申しますと、かなりわかりやすくてオススメの書籍です。
グラフィクスの概念、JavaScriptの基本、使う数学(三角関数、行列、ベジェ曲線)など、かなり実践的な観点で丁寧に説明されており、後半ではシューティングゲームを作りながらハンズオンで学ぶことができます。
最終章のピクセル操作も、エンボス加工処理の仕組みがわかったりするので、謎に包まれていた画像処理のアハ体験もかなり得られました。
また、ソースコードもコメントがかなり多めな上、書面上の解説も充実しています。
作りながら、JavaScriptのプログラミングとオブジェクト指向の考え方が身に付けられ、ゲームで処理結果を出力として確認できるという点で素晴らしい内容でした。
個人的には、知りたかったCanvas2Dのcontextオブジェクトの使い方や動作について分かったことがかなり大きかったと思います。
サンプルプログラムの実装はしませんでしたが、実装しなくとも解説が多いので、ある程度わかりました(後半は計算処理が複雑なので実装して確認した方が良いと思います)。
やはり、時間に余裕が必要となりますが、実装しながら読めば、グラフィックスのコンセプトがより掴めると思います。
情報系の高校生や大学生などは、数学も学べて同時にプログラムも学べるので最初の一冊に最適ではないでしょうか。