問題タブ [directx-9]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
891 参照

graphics - GetFrontBufferData をシステム メモリではなくビデオ メモリに

DirectX 9 を使用して、画面に表示されているものをキャプチャし、それを縮小してプログラムに表示したいと考えています。

それをキャプチャするために、GetFrontBufferData を見つけて使用しています。ただし、システム メモリ (D3DPOOL_SYSTEMMEM) で定義されたサーフェスに書き込む方法で動作します。その結果、スクリーン ショットをビデオ メモリに戻して描画できるようにする必要があります。

ご想像のとおり、(ビデオ メモリ -> システム メモリ -> ビデオ メモリ) からのこの不必要な転送により、プログラムでかなりのシャッターが発生します。

画像をフロント バッファに格納して、ビデオ メモリのサーフェスに配置する方法はありますか?

この質問は、私の最近の質問から派生したものです: DirectX を使用してスクリーンショットをキャプチャして描画する

0 投票する
1 に答える
529 参照

c++ - D3DXCreateCylinderで作成されたメッシュのカラーリング/マテリアルが機能しないのはなぜですか?

この質問は、「D3DXCreateCylinderがシリンダーを作成しないのはなぜですか?」の続きです。円柱を描くことはできますが、としか描いていませんフルホワイト

コードは次のとおりです

またはプロジェクトをダウンロードします。ここに自分のコードを引き付けました。「プロジェクトコード」デフォルトでレンダリングされた場合に一般的に3Dメッシュが持つ3Dシェードを使用して描画したいと思います。私は材料をよく知りません。それとも、グラフィックカードの問題ですか(私は:Dと思っただけです)。

さらに、どこで情報とサンプルを入手できますか?SetRenderState

0 投票する
1 に答える
188 参照

c - IDirect3DDevice9::Reset を呼び出したときに送信されるメッセージ

MSDN のドキュメント (http://msdn.microsoft.com/en-us/library/bb174425%28v=vs.85%29.aspx) には、「Direct3D 9 アプリケーションは、この呼び出し中にメッセージが送信されることを期待できます。 " アプリケーションがその WndProc 関数に送信されることを期待する正確なメッセージは何ですか?

0 投票する
2 に答える
1449 参照

c++ - インデックス付きプリミティブへのテクスチャの適用。C ++ DX9

48個の四面体から立方体を描く基本的なプログラムがあります。より正確には、27個の頂点とインデックスバッファを使用して、これらの四面体を描画します。すべての四面体にテクスチャを適用したいのですが、テクスチャについて見つけたすべてのチュートリアルはインデックスを使用してレンダリングされず、プログラム内のすべての頂点が他の16の四面体で使用されているため、方向付けの方法さえわかりません。テクスチャ。プログラム自体は長すぎて面倒なので投稿できませんが、インデックス付きプリミティブにテクスチャを配置できるかどうかを教えていただければ、チュートリアルへのリンクを教えていただければ幸いです。

編集:コードici:

わかりました。これで、アイデアを提供するための頂点とインデックスの宣言です。非常に厄介なので、申し訳ありません。それが何をするのかわからない場合は、らせん状の頂点のセットを宣言した後、四面体のすべてのインデックスを宣言します。次に、関数fromのint配列を使用して、指定された四面体のみを描画します。

そして、はい、私は3D照明を使用していますが、その理由はそれほどはっきりしていません。

0 投票する
1 に答える
713 参照

winapi - DirectX テクスチャ ワーピング

いくつかのテクスチャ (人物と背景) をロードして画面に表示する WIN32 DirectX 9 プログラムを作成しています。ただし、ペイントで描いたものと 1 対 1 の表現ではなく、ゆがんで (伸びて) しまいます。さまざまなウィンドウ サイズとさまざまな画面解像度を試しましたが、それでもうまくいきません。

スプライトを描画する前に D3DXMatrixTransformation2D を呼び出すことで、元のものに非常に近い模倣を行うことができます。ただし、それで問題は解決しません。私のプログラムは、人物が背景と関連している場所を正確に知ることに依存しています (実際には、背景が移動し、人物は画面の中央にとどまります)。

私が見逃している単純なものはありますか、それとも何らかの理由でそれができないのですか? 単純な修正以上のものであれば、コードを提供できますが、そうでないことを願っています。記録として、私はエラーや警告を受け取りません。それは単なる視覚的および動きの追跡の問題です。ありがとうございました。

編集:ここにいくつかのコードがあります:

0 投票する
1 に答える
1229 参照

wpf - フロントバッファが失われた後のHRESULT0x8876086a

DirectXを使用してアンマネージコードで画像をレンダリングし、WPFでD3DImageを使用してサーフェスをホストしています。システムがスリープ状態になると、frontBufferLostイベントが発生します。イベントが処理され、すべてのリソースが破棄されて再作成されます。

アンマネージコードでDirect3D9を使用している間は、すべてが正しく機能します。イベントが発生すると、デバイスが再作成され、エラーなしでレンダリングが実行されます。

しかし、エンジンでDirectX10を使用する場合、Surfaceキューの目的でDirect3D9デバイスも必要になるため、10個と9個のデバイスの両方を削除して再作成しようとします。この段階で、GetDeviceCapsの呼び出し中に、常に0x8876086aを取得します。これは、デバイスが使用できないと思います。

誰かがこの問題で私を助けることができますか?

0 投票する
1 に答える
1071 参照

c++ - Direct3D9シャドウマッピングブレンドモード

現在、direct3d 9でシーンに影を描画しようとしています。マルチパスレンダリングを実行しようとしていますが、ブレンドモードの使用/設定方法を理解するのに問題があります。

デプスバッファを埋めるデプスパスを実行した後、シーン内のすべてのライトをループするループが作成されました。そのループ内に2つのループがあり、どちらもシーン内のすべてのシェイプをループします

私はこの種の設定をしています

pixでは、各ライトをループしていることがわかりますが、実行すると、ライト配列の最後のライトのみが表示されます。ブレンドモードと関係があると思います。

ブレンドモードを調べて、ソースブレンドとデスティネーションブレンドに関する情報を見つけました。これは私が必要としているものですか/誰かがそれを説明するのを手伝ってもらえますか?

前もって感謝します、

マーク

[編集]次のコードを使用して両方のライトを表示しました

影は正しく見えませんが、目的の結果に近づいています。

これ以上のアドバイスは素晴らしいでしょう、

ありがとう、

マーク

0 投票する
1 に答える
338 参照

text - テキストをLPDIRECT3DTEXTURE9にレンダリングします

テクスチャにテキストをレンダリングして表示するにはどうすればよいですか?

DirectX10テクスチャにテキストを描画

これは基本的に私にはうまくいきません。(単にテキストを描画しません。)

前もって感謝します。

0 投票する
1 に答える
2109 参照

maps - シャドウ マップに pcf を追加する方法

pcf シャドウ マッピングについて少し説明しているこのリンクを見つけました。提供されたコード サンプルを調べましたが、オフセット配列が何であるかがわかりません。私はそれがfloat2の配列であると仮定しており、ピクセルをオフセットして隣接するピクセルを与えることを知っています。オフセットを何に設定すればよいかわかりません。

リンク: http://www.gamerendering.com/2008/11/15/percentage-closer-filtering-for-shadow-mapping/

ここにコードがあります

私は単純なものが欠けているに違いない

どんな助けでも大歓迎です

ありがとうございました、

マーク

0 投票する
1 に答える
1717 参照

c++ - D3DVERTEXELEMENT9 構造体を使用したワイヤーフレームの無色立方体のレンダリング

私はこの構造にかなり慣れていないので、それを学んでいる本はとてつもなく直感的ではありません。コードをトリプルチェックしましたが、画像がポップアップ表示されない理由がわかりません。背景は白で HUD はありますが、立方体は表示されません。カラーで作ってみても同じでした。