何がきっかけだったのか分かりませんが、毎日諦めずに生WebGLに向かって1日1ソース何か書いてます(全く同じコードを書くこともあります)。
基本はコチラのサイトのお題をできるだけソースを見ないようにして、自分で考えて解いていくスタイルです。
執筆時点でこのように平行光源によるライティング
辺りまで進捗しています。
今日の生WebGLは平行ライトまで https://t.co/IlXxD8IGnm pic.twitter.com/YOXJaCcLtB
— bao_bao_niゲートウェイ (@bao_bao_ni) 2018年3月12日
完成したらTwitterで吐き出し、明日の自分へプレッシャーを書けておきます。
ソースのリンクも張ってるので、ご興味ある方はどうぞ。
ソースを見るとわかりますが、基本的に処理を関数などにまとめず、ほぼすべてのコードを記述しています。
行列計算と立方体生成コードは使わせてもらっている、または関数化して使用
やっぱり何度も書くとさすが覚えます。
個人的には以下のメソッドがどうしても覚えられなくてやられましたが、今ではスラスラ〜です。
- getAttribLocation
- enableVertexAttribArray
- vertexAttribPointer
やっとこれくらいの描画を、ライブラリを使わず生WebGLを空で書けるようになった。何度も同じことを書く(or タイピングする)ことは、意外と近道なのかもしれないなと。ちなみにvertexAttribPointer、enableVertexAttribArrayこの辺が覚えづらかった。AttributeをAttribで略す習慣がない pic.twitter.com/74rRwVm2HC
— bao_bao_niゲートウェイ (@bao_bao_ni) 2018年3月9日
今日の生webglはここまで。https://t.co/9VjHqLfIrq pic.twitter.com/vTD7ttfaGC
— bao_bao_niゲートウェイ (@bao_bao_ni) 2018年3月9日
このように基礎の基礎の基礎にあたる部分で、あまり楽しくはありませんが、少し分かるようになって楽しくなってきています。
まだ大分お題が残っていますが、コツコツと無理せず、諦めずに進捗できればと思います。