2009-01-01から1年間の記事一覧

ddx, ddyの挙動を調べてみた

微妙に謎がある勾配命令 ddx, ddy(アセンブリ命令では dsx, dsy) について調べてみました。 これはGPUごとに動作の違いがあるかもしれないので私が調べたものがすべてのGPUに適用されるわけではないでしょうからお気を付けください。 ちなみに、うちのGPU…

Dynamic Shader Linkage vs Uber Shader

ビックカメラで安かった『Far Cry 2』を買って遊んだんですが、リアルにすればそれで良いとか考えてるゲーム開発者は死ねばいいんだ、とちょっと思った。 基本的にJRPGと同じでお使い、作業の連続。それでいて移動には時間がかかるし、行ったり来たりも多い…

パフォーマンス計測

昨日、SetRenderState()とかをキャッシュするStateManagerを作成したので、今日はそのパフォーマンステストプログラムを作成してみました。 SetRenderState()の発行回数は当然減らせるだけ減らすべきなので、無駄な発行を行わないようにキャッシュしておくの…

OpenGL ES 2.0 その04

前回はDirectXでいうところのDrawPrimitiveUP()と同じ描画方法をやりましたが、今回は頂点バッファとインデックスバッファを使用した場合の描画方法をやります。 OpenGLにはディスプレイリストが存在するのですが(2.0でもあるかどうかは知らない)、GLES2.0…

OpenGL ES 2.0 その03

前回、シェーダプログラムを設定するところまでやりました。 今回でやっと描画です。といっても、トライアングルを出すだけですが。 今回はDirectXで言うところのDrawPrimitiveUP()系の解説になるので注意してください。DirectXの場合、シェーダプログラムを…

OpenGL ES 2.0 その02

1日1HaloWars状態のMonshoです。 さすがに慣れてきたのでヒロイックでも余裕です。 そろそろいろいろ縛りプレーでもしようかな。GLES2.0プログラムその02はシェーダコンパイルです。 なぜいきなりシェーダなのかというと、GLES2.0には固定シェーダがないから…

mapやsetを大量に使うのはありなのか?

ここ最近遊んだデモと言えば、PS3の『KILLZONE2』とXbox360の『Halo Wars』。 KZ2はコンシューマFPSとしては最高峰のグラフィックで、特にモーションはずば抜けていると言っていいでしょう。 GoW1みたいに色が薄い、と言うかモノクロ調なので派手さは感じま…

OpenGL ES 2.0 その01

大往生、2月か。侍道3とHaloWarsもあるというのに…。 とはいえ、大往生はすでにAmazonで予約済み。デススマイルズの限定版はすでに品切れ(泣。 さて、スティックをどうするか考えないと。と言うわけでGLES2.0を使ってみようのコーナー、第1回。 前回はイン…

OpenGL ES 2.0 その00

つい先日あったIGDAの新年会で知り合いがiPhoneで3Dオブジェクトを出しているのを見せてもらいました。 で、ちょっと面白そうだったので調べてみると、OpenGL ES 2.0のWindows用エミュレータがあるじゃないか。 …こいつはやるしかねぇな。と言うわけで、短期…

STLのallocatorメモ

『Effective STL』を買いました。 STLはよく使っているものの、効果的な使い方をしていないのではないかと新しい会社に入社して気づきました。 今更って言うな。 で、読みながらちょっとプログラム。STLのコンテナはallocatorを使って独自のメモリ確保が可能…