問題タブ [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.
visual-c++ - Visual C++ DirectX コンパイル エラー
誰でもこのエラーで私を助けることができますか? そして、d3d10.lib と d3dx10.lib にリンクしました。
私はdirectXのことは初めてで、ウェンディ・ジョーンズのDirectX 10 toturialに従っていました
1>t1.obj : エラー LNK2019: 未解決の外部シンボル _D3D10CreateDeviceAndSwapChain@32 が関数 "bool cdecl InitDirect3D(struct HWND *,int,int)" で参照されました (?InitDirect3D@@YA_NPAUHWND__@@HH@Z) 1>C:\Users \Ehsan\Documents\Visual Studio 2010\Projects\DirectX\t1\Debug\t1.exe: 致命的なエラー LNK1120: 1 つの未解決の外部
ソースコード :
directx - DirectX10で単一のビューポートをクリアする
さまざまな種類の情報を表示するための複数の「パネル」で構成されるC++DirectX10アプリケーションを開始する準備をしています。1つのRenderTargetViewで複数のビューポートを試してみました。ただし、一度に1つのビューポートをクリアする方法に関する明確な答えは見つかりません。アプリケーションのこれらのパネル(ビューポート)は一部の領域で重なるため、下のパネルからの描画が透けて見えないように、各ビューポートをクリアして「下から上」に描画できるようにしたいと思います。より高いもの。DirectX 9では、現在設定されているビューポートのみをクリアするデバイスオブジェクトのClear()メソッドがあったようです。DirectX 10はClearRenderTargetView()を使用して、描画領域全体をクリアします。
DirectX 10で、作図領域内のビューポート/長方形のみをクリアする方法はありますか?ある人は、その空間にクワッドを描くことが唯一の方法かもしれないと推測しました。別の可能性として、パネルごとに個別のRenderTargetViewを設定することも考えられますが、個別の深度/ステンシルバッファーなど、他の冗長なリソースが必要になるため、これは避けたいと思います(私の誤解がない限り)。
どんな助けでも大歓迎です!ありがとう!
texture2d - 複数のテクスチャが表示されない
私はDirectX10の初心者です。現在、Direct10 アプリケーションを開発しています。ユーザーの入力に従って手動で塗りつぶされた 2 つのテクスチャを混合します。現在の実装は
- D3D10_USAGE_STAGING を使用して 2 つの空のテクスチャを作成します。
- シェーダーが必要とするため、ピクセル シェーダーにバインドする 2 つのリソース シェーダー ビューを作成します。
- CopyResource を呼び出して、テクスチャを GPU メモリにコピーします。
問題は、最初のテクスチャしか見えず、2 番目のテクスチャが見えないことです。バインディングが 2 番目のテクスチャでは機能しないようです。
何が悪いのかわからない。ここで誰かが私に光を当てることができますか?
ありがとう、マーシャル
クラス COverlayTexture は、テクスチャの作成、リソース ビューの作成、別のアプリケーションからのマップされたビットマップでのテクスチャの塗りつぶし、リソース ビューのピクセル シェーダーへのバインドを担当します。
クラス COverlayTexture の 2 つのインスタンスを使用します。それぞれが独自のビットマップをテクスチャに塗りつぶし、シーケンス COverlayTexture[1]、次に COverlayTexture[0] でレンダリングします。
FX ファイルのブレンド状態設定は、次のように定義されています。
FX ファイルのピクセル シェーダーは次のように定義されています。
再度、感謝します。
パウロの編集:
どうもありがとう、パウロ。問題は、オブジェクトのどのインスタンスをアルファ テクスチャまたはディフューズ テクスチャにバインドする必要があるかということです。テストとして、COverlayTexture[0] をアルファにバインドし、COverlayTexture[1] を拡散テクスチャにバインドします。
2 つのリソース ビューの PSSetShaderResources を呼び出しました。
結果、何も見えません。チャンネル x、y、z、w も試しました。
c++ - DirectX 10 でのマルチサンプリングの操作順序
DirectX 10 でアンチエイリアス処理を行うために必要なプロセスについて混乱しています。これまでまったく行ったことがないので、一般的な手順で混乱している可能性があります。
私がこれまでに知っている (または知っていると思う) ことは次のとおりです。シェーダーで使用する RasterizerState オブジェクトのマルチサンプリングを有効にする必要があり、スワップ チェーンの説明 (DXGI_SWAP_CHAIN_DESC) の SampleDesc をサポートされている値に設定する必要があります。カウントします(そして、他の値またはハードウェア固有であるため、品質は0のままにする必要がありますが、何のためにあるのかわかりません)。さらに描画するための呼び出し (ClearRenderTargetView および IASetInputLayout) と Present の呼び出しの間に、バック バッファーを (ResolveSubresource を介して) ダウンサンプリングして、同じサイズのテクスチャにする必要があります。次に、(これは私が何も見つけることができない部分です) どういうわけか、ダウンサンプリングされたテクスチャを提示します。
途中で何かがおかしいのでしょうか?それとも、最後のステップで間違っていますか?マルチサンプリングされたシェーダー テクスチャ (Texture2DMS<>) を使用したフルスクリーン クワッドへの最後の描画中にサンプリング解像度を実行することを参照しているリソースをいくつか見ましたが、それが何を伴うのか、またはなぜそれをやり直すのかを理解できません。そのように解決するためのデバイス呼び出し。
私がこれを試みたとしても、画質は向上しません。
c++ - DXUT構成
これは実際には1つに2つの質問ですが、どちらもDXUTに関連しています。
Visual Studio 2010でDXUTを使用するようにプロジェクトをどのように構成しますか?DXUTを使用するプロジェクトにすべてのヘッダーファイルとソースファイルを追加する必要がありますか?($ DXSDK_DIR)\ Samples \ C ++ \ DXUT \ Coreをインクルードディレクトリに追加できますか?
次と同等のD3D10はありますか?
DXUTSetCallbackD3D9DeviceReset(OnResetDevice); DXUTSetCallbackD3D9DeviceLost(OnLostDevice);
そうでない場合、なぜですか?
そして、私が構築しようとすると:
そして、これが私のVS設定です。
プロジェクトにDXUT.cppファイルを含めてビルドしようとすると、リンカーエラーが発生します。
c++ - DirectX 10 での .x モデルのインポート
DXUT を使用すると、CDXUTSDKMesh::Create() メソッドを使用して .x モデルをインポートできることを知っています。
DXUT を使用せずに .x モデルをインポートする簡単な方法はありますか?
私はネット上でこれについてあまり見つけていません.誰かが私を正しい方向に向けることができるかどうか疑問に思っています.
または、x をインポートする簡単な方法がない場合。モデルを DX10 で使用する場合、推奨するモデル形式と ID3DX10Mesh へのロード方法を教えてください。
c++ - DirectX 10 デバイスとスワップ チェーンの作成に関する問題
D3D10CreateDeviceAndSwapChain を使用して有効な DirectX 10 デバイスとスワップ チェーンを作成する際に問題が発生しています。提供された SwapChainDesc の OutputWindow が使用されていないと言われているので、何かがうまくいかないのは私のウィンドウの作成であると思います=??? (またはランダムな int 値)
プロジェクトコードの何が問題なのかわからないように見えるので、この問題は私にストレスを与えてきました
CDirect3D.cpp の 193 行目で失敗することがわかっています。
誰かがコードを見てくれたら、とても感謝しています。プロジェクトとそのソースをhttp://dl.dropbox.com/u/3605545/files/LearningEngine.zipにアップロードしました
(巨大なコードベースではなく、これまでのところ 4 つのクラスのみ)
プロジェクトは VS2010 で、2010 年 6 月から DirectX SDK を使用しました。
direct3d - Direct3D 10 との最適な 2D 統合は?
この時点で、ほとんどが DirectX 10 3D グラフィックスであるアプリケーションがあります。ここで、画面の一部に表示するリアルタイム 2D 画像を生成したいと考えています。2D グラフィックスは、外部ハードウェアからの生データを使用して生成されます。各値は、ピクセルの色と位置に変換されます。
Direct2D 統合オプションを見てきましたが、ピクセル単位でサーフェスに描画する簡単な方法は見当たりませんが、一般的な線と形状だけです。
Direct3D のみ (Direct2D を使用しない) でこれを行うことも可能であり、各ピクセルに単純な頂点を持ち、直交ビューで描画することも可能だと思います。
Direct2D を使用すると、リアルタイム 2D グラフィックスを生成するときに効率がまったく向上しますか? 私はシェイプツールを使いたくないので、それは私にとってセールスポイントではありません. Direct3D アプリケーション内で 2D グラフィックスを生成するための他の一般的な方法はありますか?
任意のポインタをいただければ幸いです。ありがとうございました。
graphics - DirectX10 スカイドーム
私は現在、DirectX10 でスカイドームを実装しようとしていますが、これを行う方法についてオンラインで優れたチュートリアルを見つけようとすると、実際に問題が発生します。検索機能で「DirectX10 スカイドーム」を検索して得た結果の 4 ページすべてに目を通しました。
ここにいる誰かが、見栄えの良いスカイドームを作成するのに役立つサイト/書籍/チュートリアルなどを知っていますか?