6月28日 (金)

曇り、雨

なっとく!アルゴリズム を読み終えた

なっとく!関数型プログラミングが良かったので、買い揃えたシリーズの一つ。関数型プログラミングはそれほど簡単な内容ではなかった。こちらは、まあ、簡単と言っても良いだろう。突き詰めれば何もかもが簡単とは言えない。それに、後半のグラフアルゴリズムや動的計画法は必ずしも初歩的なアルゴリズムではない。本のタイトルが偽りにならないように、深入りしすぎず、かつ表面的になりすぎてごまかしたようにならないようになっている。その目標は達成されていて、確かになっとくできる。

6月27日 (木)

曇り、雨

本棚の整理

もらったニトリのカラーボックスを組み立てるのに合わせて、本を移動した。特に読み終わった本を収納している廊下の本をガラスケース付きの棚に移動した。理由は、廊下はチョコ専用のスペースとなっているので、何かの拍子に傷をつけてしまわないかを危惧したためだ。ずっと気にかかっていたのを修正できたのでスッキリした。組み立てたカラーボックスにはまだ入れるものがなく、空っぽのままとなっている。ベッドのところにおいたのだけどあまり乗り気ではない。寝るところはできるだけ何も置かないでおきたい。

Computer Graphics from Scratch を読み終えた

いい本だった。無料で読めることを知らなかったけど、全然損した気にはならない。これでやや不安に思っていた3Dグラフィックスの足場ができたと思う。思い残すことなくOpenGLの修行を再開できる。

6月13日 (木)

晴れ

本を買った

用事があったので出かけてきた。せっかくなので本屋によった。もうめぼしいものはない。なんとか1冊興味のあるものを見繕って買っておいた。あとはラーメンを食べて帰った。

CodeLiteの補完

ctagsdは全く機能しない。clangdはcompile_commands.jsonが生成されないので、オプションを反映させることができない。

GitHubのissueにヒントがあった。

https://github.com/eranif/codelite/issues/3214

要約:

  • ctagsdは使わないほうがいい。
  • Settings → Preferences → Misc からログレベルをDebugにして、~/.codelite にあるログを確認して問題を特定する。

このUbuntu 23.10の環境の場合、/usr/lib/codelite/codelite-make が見つからないというメッセージが見つかった。たしかにそのパスにはない。/usr/bin/codelite-make に存在していたので、そこへのシンボリックリンクを張っておいた。すると、clangdは期待通りの動作をするようになった。ctagsdはだめなままだが、無視してよいだろう。

6月12日 (水)

晴れ

YouTube動画投稿 自力で三角形を描く (2)

三角形を塗りつぶす。

6月11日 (火)

晴れ

タブレットを接続した

買ったまま放置状態だったXP PEN Deco V2を接続した。EndeavourOSはArch LinuxベースのディストリビューションなのでAURにドライバが存在していた。インストールしてみたが、認識してくれなかった。公式のサポートでLinux汎用のドライバが提供されていた。それをインストールしたらバッチリうまく行った。いまさらだけど良い買い物をしたものだ。

YouTubeに動画投稿 自力で三角形を描く (1)

直線、正確には線分を書くところまで。

6月10日 (月)

雨、晴れ

Computer Graphics from Scratch 9章を読んだ

パースペクティブ。

6月9日 (日)

曇り

Computer Graphics from Scratch 6〜8章を読んだ

ラスタライザのパートに入っている。一発目は直線を描画することから。前パートのレイトレーシングと比べるとやさしくなっている。まだ序盤であり、3Dが関係しないため直感的であることが理由だろう。

直線を描く、単色で塗りつぶされた三角形を描く、さらにグラデーションで塗りつぶすところまでやる。いずれも補間 (Interpolation)を意識することが重要となる。

ここの部分はYouTubeの動画にできないかを考えている。ちょうどOpenGLで三角形を描画するところまでやったあとなので、タイミングもちょうどよい。

6月8日 (土)

晴れ

ラズパイでraylibを使えるようにした

とても苦戦した。raylibをビルドするときに、MakeあるいはCMakeのオプションでOpenGLのバージョンを明示的に指定してやることが必須である。

$ cd src
$ make PLATFORM=PLATFORM_DESKTOP GRAPHICS=GRAPHICS_API_OPENGL_21

これは公式のWikiにも書かれている。

CMakeならば次のようにする。

$ mkdir build
$ cd build
$ cmake -DPLATFORM=Desktop -DGRAPHICS=GRAPHICS_API_OPENGL_21 ..

一応は使えるようになったものの、プラットフォームをDRMにすると動作しないことにまだ引っかかりを覚えている。

6月6日 (木)

晴れ

Computer Graphics from Scratch 4章で落とし穴にはまった

floatの精度による誤差で期待通りの結果が得られない問題と格闘していた。floatをdoubleに置き換えれば解決することを発見した。そうすると、raylibのVector3は使えない。自前の簡易的なユーティリティを作成した。結果、問題は解決した。

Computer Graphics from Scratch 5章を読んだ

これでパート1のレイトレーシングは終了となる。仕上げとして、これまでのレイトレーサーを拡張するヒントが書かれている。これまでと違い、本の中では実際にやることはなく、読者の課題となっている。全部やっていたらかなり大変だが、理解もずっと深まることだろう。。まずは1周してしまうのが良いだろう。

6月5日 (水)

晴れ

チョコが吐いていた

朝、部屋を開けたら嘔吐物が散乱していた。調べてみると、昨日寝る前に食べた食事を全部吐き出したようだ。いつもと違ったものを出してみたら、おいしそうによく食べてくれるので、調子に乗って一袋全部あげたのが良くなかった。今後気をつけよう。