もう11月だ
また先月ブログを飛ばしてしまいました。先月も特に忙しかったわけではなく、むしろ暇なくらいだったんですが、なんか、何もかも自信を無くしていて精神的にブログを書く余裕がありませんでした。今も復活したわけではないんですけど、学生さんと頭を悩ませていたことに目処がついたので、ちょっとメモっておこうと思います。
CATALYST 5.x と CATALYST 6.x
ATI のビデオカードのドライバ CATALYST のバージョンを 5.x から 6.x にあげたら、キューブマッピングで FBO を使ってみるのデモが動かなくなってしまいました。学生さんが研究で作っているプログラムも動かなくなってしまったので、二人で困ったもんだと首をかしげていた(学生さんは発表直前だったのでめちゃめちゃ焦っていた)のですが、どうも 6.x では FBO (Frame Buffer Object) を作るときに、きちんとカラーバッファ→デプスバッファの順に用意してやらないといけないようです。
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fb);
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, rb);
/* テクスチャメモリをカラーバッファに結合 */
glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
GL_TEXTURE_2D, tex, 0);
/* レンダーバッファを作成 */
glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT,
TEXWIDTH, TEXHEIGHT);
/* レンダーバッファをデプスバッファに結合 */
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
GL_RENDERBUFFER_EXT, rb);
この順番を変えたりすると、チェックプログラムで “programming error” 表示され、実際に動かすと落ちてしまいます。キューブマッピングではターゲットのテクスチャを切り替えるために、これまでカラーバッファの設定を後のほうで行っていました。とりあえずキューブマッピングで FBO を使ってみるの内容とそのデモを修正しました。
コメントスパム
コメントスパムが止まりません。ついに外国からの書き込みを禁止してしまいましたが、それでも国内からの書き込みがあります。どうも、コメントスパムをばら撒く bot が存在するみたいで、それに感染したマシンから書き込まれるようです。だから、IP アドレス決め打ちなどでは対処できません。困ったもんだ。