曇りのち晴れ
OpenGL SuperBible 7th 2章を読んだ
三角形を描く。めっちゃわかりやすい。
曇りのち晴れ
三角形を描く。めっちゃわかりやすい。
曇り、小雨
夜、部屋の隅に移動して吐くのを繰り返す。嘔吐物が白いので、ミルクのようだった。あげすぎたのかもしれない。猫が体調を整えるために吐くのは知っている。先住猫もたまに吐くことがある。しかし、こんな小さいのに、しかも何回も吐くのは良い兆候ではないように思えて心配になった。これまでの元気がなく、ぐったりしている。
しばらく時間をおいたら調子を取り戻したようで、食べ物を要求してくる。ガツガツ食べるので安心した。ミルクは控えたほうが良いかと思い、水を飲んでもらおうとするが、口にしてくれない。水分が不足するとまずいだろうから、仕方なくミルクを与えておいた。
晴れ
少し空いた時間に1章を読んだ。動画を撮る前に読んでおくべき内容でもあった。チョコの世話で、続きを作れるほどの余裕はなかった。
晴れ
鳴いているときに、食べ物が欲しいのか、トイレなのか、かまって欲しいのか、見極めるのが難しい。分かるようになれば自分の作業をしながらでもできるようになるだろう。
一日たってそこそこ元気になった。それでもやはり病院には連れて行った。昨日は幼猫用と書かれたミルクを十分に与えたつもりだったが、栄養が足りていないかった。もう歯が生えているので離乳食を食べさせていかないといけないとのことで、缶詰をもらって帰った。診てもらっておいて本当に良かった。また、どうやら生後三週間程度らしい。
捨てられていた子猫を保護した。1匹だけで、ダンボールに埋もれて身動きできなくなっていた。手のひらくらいの大きさしかなく、まだ生まれてそんなに間もない風だ。大きな声で鳴いていたので気づくことができた。見た感じ元気そうで、命に別状はなさそうだ。ペットショップに猫用のミルクと哺乳器を買いに行った。グイグイ飲んでくれるので少し安心する。
家族の提案により、名前はチョコになった。
gladについてかなり詳しくやった。Windowsに付属するopengl32.dllに含まれる関数をツールを使って覗いてみると、ごく基本的なものを除いてほとんどが欠落している。例えば、glGenBuffersなどはない。気になるのは、そうした関数はどこに存在しているかだ。これを解き明かすには、gladのソースをみると良い。特にwglGetProcAddressという関数が鍵になる。この関数はopengl32.dllに存在している。この関数はシステムのどこかに存在する、おそらくグラフィックスデバイスのドライバにあるのだろう関数を探してくるのではないかと推測できる。Windows自体はOpenGLの最初のバージョンで策定されたAPI以外を提供せず、残りはグラフィックスデバイスのベンダーに任せるという寸法だ。ここまで理解したら、gladを始めとして、GLEWやGL3WといったOpenGL Loading Libraryの必要性がよく分かった。なかなか実りのある内容だった。
3ヶ月ぶりのYouTube。前の練習のためにゲームを作るシリーズは中断する。今年いっぱいは3Dグラフィクスに特化していくことに決めた。どうせまた途中で放棄するんだろう、ということはない。今度は本気でやる。採集目標はPhysically Based Renderingを身につけること。そのために乗り越えなければいけないハードルはたくさんある。動画は修行の励みとするためのスパイスになる。例えば、ピアノの練習をするにも、発表会が控えていたほうが練習に身が入るような効果を期待している。
まずは安直にOpenGLから入る。三角形を描くことを最初の目標にする。今回はGLFWのウィンドウを表示させるところまでやった。ここはちょっと下心を出して、Windowsでやった。そのほうがもしかしたら再生される可能性を期待してのことだった。最初だけやったらすぐにLinuxに戻る。
晴れ
3Dグラフィックスの動画は、まず手のつけやすいOpenGLから始めることにした。動画を投稿するに先立って、GLFW、FreeGLUT、SDL、SFMLを試してみる。SDLとSFMLはレンダリング以外にもオーディオなどの機能を提供してくれる。ゲームを作るならば良い選択肢なのだが、グラフィックスしか扱わない予定なので、今回は不要な機能となる。FreeGLUTは古めかしいところがある。特に、OpenGLのバージョンを指定する方法が公式のAPIリファレンスに掲載されていなかったりするのに違和感を感じる。GLFWに不自然なところは何もない。シンプルで直感的だ。最近のOpenGLに関する記事の多くがGLFWを使っているのもの納得できるものだ。当然ながら、自分もGLFWを選択することにした。