DirectX

DirectX

ATIドライバの謎? DirectX編

Direct3D9: (INFO) :Failed to create driver indexbuffer なんていう警告メッセージが表示される。 これってなんだろう・・・。 この警告が出ても実際のリソースとしてはインデックスバッファ作成されているし。 謎です。
DirectX

RADEON vs Geforce (誤爆)

DirectX使っていて、これほどまでに差異があるのかとびっくりしました。 NVIDIAのグラフィックボード(Geforce)を搭載しているときにはポリゴンが表示されるのに、 ATIのグラフィックボード(RADEON)を搭載しているときにはポリゴンが表示されないという結果が出ました。今までもATIで、絵がおかしいということはありましたが、 ポリゴン丸ごとでな...
DirectX

D3D10始めました -第3回 Texture使用-

今回はテクスチャを読み込んで表示させてみます。 ■シェーダーファイル まずはシェーダーのソースを示します。 従来のシェーダーと変わったところと言えば、ピクセルシェーダー内の サンプラーおよびテクスチャのアクセス部分です。 対象とするテクスチャからのサンプルを、どのように行うか(サンプラ)、どの位置からとるか(UV)という意味のコードになっているように読み取れ...
DirectX

DirectX10 始めました -第2回-

前回は初期化およびクリア処理までだったので、 今回は最初の三角形をだす部分までをやってみます。 ■ 頂点バッファの準備 DirectX10では頂点およびインデックス格納には、バッファオブジェクトが必須です。 以前のDrawPrimitiveUPとかが消えてしまったので。 今回はインデックスを使わずに頂点バッファだけを準備します。 struct Vertex ...
DirectX

DirectX9のRenderStateからGL読替

DirectX9のRenderState設定がGLのどれにつながるかわからないって話を聞いた。 知っている範囲で書いてみます。 DirectX9 OpenGL D3DFILL_WIREFRAME glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ) D3DCULL_NONE glDisable( GL_CULL_FACE )...
DirectX

DirectX9でATIカードに振り回される

どうもATIのグラフィックボードおよびドライバは DirectXを正しく使わないと描画が不正になる模様。DrawIndexedPrimitiveでnMinVertex, nMaxVertexを正しく設定しないと、 それだけでポリゴンが壊れて描画されたりすることを確認できた。 ちなみにNVIDIAではこれらの情報を参考にしていないのか、 適当な値を放り込んでも...
DirectX

続・CubeMapGS

以前の7/29日記で、CubeMapGSの動作を書いたので、 NVIDIAのGeforce9800GTではどうだったんだろうと思ってチェックしてみた。 ■球体モデルの結果 カード Instancing fps値 RADEON 5450 TRUE 28.2 RADEON 5450 FALSE 38.2 GeForce9800GT TRUE 119.2 GeFo...
DirectX

DirectX10を始めました

■はじめに 今はもうDirectX11が出て使われ始めていますが、 今更DirectX10の勉強を始めてみました。 今回初ということで、画面のクリアをするプログラムを作ってみました。 これをベースにしていろいろと機能を触ってみようかと思います。 ■DXGIのセットアップ DXGIとはスワップチェインとか管理しているレイヤーになります。 ハードウェアデバイス列...
DirectX

CubeMapGS

DirectXサンプルにある、CubeMapGSを動かしてみた。 Radeon5450では実用的な速度で動いているとは言い難い。 Sphereで 25fps程度 Carで 10fps程度 DX11世代のハードでこの状況だとまだ安心して 毎フレーム描画で使えないなと思う。 せいぜいシーンの切り替わりタイミングで1回だけとかになるだろうか。 でもそれくらいだった...
DirectX

Scissorによる挙動違い(DX vs GL)

DirectXとOpenGLとで、シザーの設定時のクリア挙動が異なるようです。座標系がそれぞれ異なるってのもあるけど、 そこは上下を逆転して対処したとしても、それだけでは互換動作は不可能。 フレームバッファの縦横と、ビューポートの縦横と、シザー設定の縦横 それぞれ違う設定にしてみて、双方のAPIで実行してみるとわかりやすいかと。 DirectXではビューポー...