問題タブ [directx-10]

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 投票する
1 に答える
472 参照

visual-studio-2010 - DirectX10でIDirect3DSurface9を描画する

私はDirectX9をかなりの量使用してきましたが、最近DirectX 10に切り替えました。9のデバイスメソッドの多くが欠落しているか、変更されていることに気付きました。たとえば、DX9では、StretchRectメソッドを使用して画面にサーフェスを描画しました。

私の問題はこれです:画面に描画する必要があるIDirect3DSurface9がありますが、DirectX 10を使用しています。10のグラフィックスデバイスでこれを実行できますか?または、9のグラフィックスデバイスを入手して、それを使用する必要がありますか?IDirect3D9DeviceとIDirect3D10Deviceの両方を同時に持つことさえ可能ですか?

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

directx - HLSL ジオメトリ シェーダーを使用した 20 面体の複数の細分割

現在、次のジオメトリ シェーダーを使用して 20 面体を 1 回細分割しています。

ただし、サブディビジョン レベルを指定したい。出力された頂点でシェーダーを再度呼び出す可能性はありますか、それとも他のアプローチに従う必要がありますか?

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

memory - Visual Studio 2008 で f5 と ctrl + F5 の間のバグを修正したい場合は?

プロジェクトをビルドしてゲームを実行すると、常にこのエラーが発生します。

このエラーをデバッグすると、free.c ソース ファイルが表示されます。

.....

……

このデバッグ パスをたどると、screen.cpp ファイルのこの行でエラーが発生していることがわかりました。

このゲームを実行すると、このエラーが常に発生する理由がわかりません。

君の力が必要!

あ、はい。

ひとつ忘れてました。

F5 キーを押してプロジェクトを実行すると、フル スクリーン モードでもウィンドウ モードでも、ゲームは正常に動作します。

Ctrl + F5を押したときのみ、エラーが発生します。

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

visual-studio-2008 - Visual Studio 2008を使用したリンクエラー(DirectXライブラリを含む)

大学から提供されたDirectXの例を見ようとしていますが、Visual Studio 2008で(デバッグモードで)コンパイルしようとすると、次のエラーが発生します-

エラー1致命的なエラーLNK1104:ファイル'd3d10.lib'を開くことができません

問題が何であるかわかりません。同じモジュールからの別のDirectXの例がありますが、これは広範囲にわたって作業しており、この問題は発生していません。

VCディレクトリでディレクトリを\includeおよび\Lib\ x86に設定することにより、VisualStudioがリンクされたファイルを探す場所を確実に認識できるようにしました。

また、ソリューションのプロパティに移動し、次のファイルを[プロパティ]->[リンカー]->[入力]に追加しました

d3d10.lib、d3dx10d.lib、dxerr.lib、dxguid.lib

(これらは両方とも他の例でも同じであり、コンパイルされて完全に機能します)

何が問題になるのかについての提案をいただければ幸いです-ありがとうございます。

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

c++ - DirectX フレームワークがスワップチェーンとデバイスの作成に失敗する

DirectX10 フレーム ワーク コードに大きな問題があります。

コードD3D10CreateDeviceAndSwapChain()は引数の関数で停止し、ID3D10Device次を出力します。

pD3DDevice CXX0017: エラー: シンボル "" が見つかりません

エラーハンドラなどpSwapChain、ほとんどすべてでこれを取得しています。pDepthStencilView

私のコードは次のように構成されています:dxGeometry -> dxD3D -> dxSystem -> winMain

これが私のコードです:dxD3D.hdxSystem.h

助けてくれてありがとう、これは過去 2 日間の問題でした。ほぼすべてを試しましたが、解決策が見つかりません。

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

directx - グラフィックス ドライバー内での Draw() API 呼び出し以外の DirectX 10.0 または 11.0 頂点またはピクセル シェーダーの使用

私たちのプロジェクトは、DirectX 10 または 11 SDK アプリケーション内またはゲーム (BioShock、Far Cry など..) アプリケーションで使用されるさまざまな Vertex および Pixel、Geometry シェーダーをプロファイリングすることです。

ここで、シェーダー (VS、GS、PS) がいつ使用されているか、パイプライン内で実行されているかを技術的に理解する必要があります。Draw() DirectX API 呼び出し中に、シェーダーの設定がパイプライン内で実行されることがわかっています。

  1. SetShader() を使用してパイプラインに設定されているシェーダーを内部的に実行または利用できる、Draw() 呼び出し以外の API はありますか?

  2. デバイス API (Map、unmap、getResourcem、Copy リソースなど) はシェーダーを間接的に操作しますか?

DirectX Draw() API 呼び出し以外の DirectX ランタイムまたはグラフィックス ドライバー内のシェーダーの使用に関連するポインタは、特定して堅牢な実装を行うのに役立ちます。

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

hlsl - HLSL でのシェーダー リソースの使用 (ポート DX9->DX10)

DX9 ボリューム レンダラーを DX10 バージョンに移植しようとしています。現在、次のエラーで立ち往生しています:

D3D10: エラー: ID3D10Device::DrawIndexed: シェーダー コードで宣言されたビューの次元が、ピクセル シェーダー ユニットのスロット 0 にバインドされたビュー タイプと一致しません。シェーダーが実際にビューを使用する場合、これは無効です (たとえば、シェーダー コードの分岐が原因でスキップされません)。[実行エラー #354: DEVICE_DRAW_VIEW_DIMENSION_MISMATCH]

私の推測では、2D および/または 3D テクスチャ (シェーダー リソース) を正しい方法でシェーダーに送信していません。または、正しい (dx10) 方法で使用しないでください。DX9 コードは次のようなものでした (この質問のために単純化されています)。

HRESULT 時間; int nVertexShaderIndex = 0;

実際のデータを含む 3D ボリューム テクスチャも同様の方法で送信されます。対応するピクセル シェーダー コード:

DX10 では、一部のシェーダー コードを単純化できます (私が理解している限り)。空のテクスチャを作成し、このテクスチャを map()/unmap() で塗りつぶします。次に、それをシェーダー リソースとして PS にバインドします。C++ とシェーダー コードは次のようになります。

シェーダーにバインド:

シェーダーで使用:

このコードによってエラーが発生したというのは、経験に基づいた推測に過ぎないことに注意してください。上記のコードが正しいと思われる場合は、そのように返信してください (コメントで)。その場合、解決策を見つけるための新しい方向性が評価されます。

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

c++ - D3DXVec3Project が D3DXVECTOR3 を返すのはなぜですか?

この関数は 3D ポイントをスクリーン座標に変換しますが、ベクトルを返します3. Z値のポイントは何ですか? D3DXVECTOR2 を返さないのはなぜですか?

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

c++ - 配列を必要とするメソッド呼び出しでベクトルを利用するにはどうすればよいですか?

たとえば、このメソッドは次のとおりです。

配列が事前定義されたサイズであるインスタンス化でこのメソッドを1回呼び出していたため、これは以前は問題ありませんでした。ただし、「配列」内の情報を動的に変更する必要が生じたため、代わりにベクトルを使用しています。ベクトル内の情報は連続していることが保証されていますか?

私は次のようなことをすることができますか