問題タブ [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.
hlsl - directcompute hlsl numthreads?
計算シェーダーをディスパッチするときに実行されるスレッドグループを既に定義しているので、シェーダーファイル内の数字は何を意味しますか?例:[numthreads(1、1、1)]
hlsl - DirectCompute のバッファ速度への書き込み
私はパーティクル シミュレーションに取り組んでいて、少しボトルネックに遭遇しました。UAV を使用して RWStructured の単一の float バッファーに書き込むと、約 10 倍遅くなります。実験によると、帯域幅に不足はないように見えますが、アクセス時間自体がそれを妨げているだけです。送信データは特定の順序である必要があるため、追加書き込みは問題外です。これは DX10/SM4 ハードウェア上にあるため、いくつか質問があります: 速度を上げる方法はありますか (シェーダーからの出力が連続していないため、より大きなデータのチャンクを書き込む以外に)? そうでない場合、DX11 グレードのハードウェアは UAV でより高速ですか?
directx-9 - ID3D11Texture2D をメモリ バッファーに変換する
どうすればID3D11Texture2D
メモリ バッファに変換できますか? 私はID3D11Texture2D*
そこからデータをメモリバッファに読み込む必要があります。
c++ - DirectXカメラのポジショニング(サードパーソンビュー)
私は3D飛行ゲームを作成しており、ビューにDXUTCameraを使用しています。
カメラにキャラクターの位置をとらせることはできますが、自分のキャラクターを3人目で見たいと思います。
これが一人称視点の私のコアです
では、カメラを第三者のビューに移動する方法を誰かが知っていますか?カメラの動きがスムーズになるようにタイミングを調整することをお勧めします。(別のカメラクラスを持ち込む代わりに、このコードを編集できることを望んでいます)
slimdx - SlimDX DirectX10 マルチサンプリングが機能しない
DirectX10 で SlimDX プロジェクトをセットアップしていますが、どういうわけかマルチサンプリングが機能しません。これが私のデバイスの初期化です:
シンプルなボックスをレンダリングしています。私もチェックしました
1、2、4、8、および 16 サンプル。関数が 1 を返すたびに。しかし、SwapChainDescription SampleDescription Quality に 1 を入れると、デバイスの作成でエラーがスローされます。
基本的に、品質カウントには 0 しか入れられません。ただし、私のノートブックではさまざまな品質レベルを選択できますが、そこでもマルチサンプリングは機能せず、PC とノートブックの両方のグラフィック カードがマルチサンプリングをサポートしています。
私が間違っていることはありますか?
virtualbox - directx 10 の virtualbox サポート
Mac に VirtualBox をインストールしており、その中で Windows 7 を実行しています。アプリケーションを実行するには、directX 10 が必要です。私が手に入れた最高のものは、directX 9です。
利用可能ですか?私はhttps://wiki.archlinux.org/index.php/VirtualBox_Extras で wine3d を使用できることを発見しましたが、ノートには Windows 7 RC ゲストでのみ動作すると書かれていますが、それは何ですか?
ありがとう
c# - Windows 7/8、Direct3D9、10、および11-エフェクト/シェーダー
現在、私はWindows 8ストア、Windows 8デスクトップ、およびWindows7用のアプリを開発しています。アプリはタブレットでも「通常の」Windows7/8デバイスでもスムーズに実行されるはずです。だから、私は自分の仕事からタブレットを入手し、それにWindows 8をインストールしましたが、気味の悪いIntel Graphics Media Accellerator(600)はDirectX9.0cしかサポートしていないことに気づきました。
そこで、DirectX10 / 11エフェクト/シェーダーをDirectX9で動作させるために何時間も試しましたが、何も動作しないようです。NVidiaのFxComposerを使用したテストでは、DirectX9エフェクトが正常に動作することがわかりました。
私はSharpDX/C#でプログラミングしていますが、technique10とtechnique11はどちらも有効です(MyTechnique.IsValid == true)。エフェクトをロードするには、次のコード行を使用します。
エフェクトのソースコードをここに貼り付けました:http://pastebin.com/KPxBN1DD ..「main_11」と「main_10」を除外しました。テストではコメントアウトしたので、コメントブロックを削除しました。dx9を削除する必要があります。この非常に単純なコードを理解してください。
したがって、私の最後の質問は次のとおりです。-パラメータ「fx_5_0」は、technique、technique10、technique11の読み込みに有効ですか?-私のシェーダーコードは正しいですか?または私はひどく間違ったことをしましたか?-DX9テクニックをロードするために、他の/追加情報/機能/パラメーターを指定する必要がありますか?-多分それはSharpDXのバグですか?これについては、今からコードを見ていきます。
編集:質問を少し明確にしようとしました。
directx-10 - DXDevice が作成されたスレッドとは別のスレッドで作成された頂点バッファーは遅くなりますか?
マルチスレッドを使用して一連の頂点バッファー (つまり、頂点を保持するように設定された DX10 バッファー) を作成すると、DXDevice と同じスレッドで作成されたものより (プリミティブとして描画するために) 遅くなりますか?
DirectX10 DXDevice は、作成されたスレッドとは別のスレッドから表示すると遅くなり、Google で回答が見つからなかったので質問します。
directx - TriangleStrip Topologu を使用して三角形を作成しようとすると、奇妙な動作が発生する
入力アセンブラーを三角形ストリップに設定して、この 2D 三角形を作成しようとしました。
ただし、三角形は描画されませんでした。実際、レンダー ターゲットには何も描画されず、1 本の線も描画されませんでした。2
いじってから、座標とを入れ替え3
たところ、うまくいきました。意図した通りの三角形が描かれました。この奇妙な行動の理由は何ですか?
directx - DWM を無効にしたウィンドウ モードでの Direct3D 10 vsync の問題
DWM を無効にしたウィンドウ モードの Direct3D 10 で vsync に問題があります。
出力をレンダリングして表示するアプリケーションがあります。ウィンドウ モードで動作する必要があり、最低 60 fps の安定した速度を生成する必要があります。アプリケーションの 1 つのバージョンは Direct3D 9 を使用し、別のバージョンの Direct3D 10 を使用しています。ウィンドウ モードで作業しているとき、時々 fps が減少します (これは「安定した」減少ではありません。ほとんどの場合、安定した 60 fps を生成していますが、突然減少することがあります)。数秒後に 60 fps に戻ります)。アプリケーションの両方のバージョンで、fps の減少は ~10 ~ 20 fps です。それは受け入れられません。
Windows Vista と Windows 7 には、「デスクトップ コンポジション」と呼ばれる新しいグラフィック システムがあり、アプリケーションが画面にピクセルを表示する方法を変更しました。デスクトップの構成は、デスクトップ ウィンドウ マネージャー (DWM) によって実行されます。DWM が有効になっている場合、アプリケーションは、DWM によってレンダリングされ、しばらくしてディスプレイに表示されるよりも、ビデオ メモリ内のオフスクリーン サーフェスに描画されます。そのため、タスク マネージャーの dwm.exe が何もしない場合 (処理時間が ~0% の場合)、fps が低下し、dwm.exe の処理時間が 1 ~ 3% かかる場合、安定した 60 fps であることに気付きました。わかった。
私たちはそれに影響を与えることはできません。したがって、高い安定した fps を得るには、DWM をオフにする必要があります。オフにすると、すべて問題ありません。アプリケーションの両方のバージョンで安定した 60 fps があります。ただし、DWM はウィンドウ モードで vsync を実行するため、それをオフにすると、自分で vsync を実行する必要があります。
しかし、DWM をオフにすると、ウィンドウ モードの Direct3D 10 で vsync に問題が発生します。モニターの上部に画像の破れがあります。Direc3D 9 は引き続き正常に動作します。
そのため、60 Hz のリフレッシュ レートのモニターがあります。
スワップチェーンの作成中に、次のようなパラメーターを設定します。
プレゼンテーション中に、vsync をオンにするフラグを設定します。
そして、次の vsync 問題があります。左側から右側に高速で移動する垂直線があります。また、モニターの上部に画像の破れがあります。
http://bit.ly/POQoFq
私たちは最初、何か間違ったことをしていると思います。そこでマイクロソフトのサンプル「Tutorial 07: Texture Mapping and Constant Buffers」を回転立方体でインストールしました。立方体を大きくし、より高く配置し、回転を速くしましたが、同じ問題が発生しました (写真を参照)。
http://bit.ly/SevNqw
http://bit.ly/RSoEhc
http://bit.ly/UjaNPu
したがって、フルスクリーン モードの Direct3D 10 ではすべて問題ありません。垂直同期は完全に機能します。Direct3D 9 でも問題ありません。DWM を無効または有効にしても、vsync は適切に機能します。DWM を無効にしたウィンドウ モードの Direct3D 10 では、問題があります。
さまざまなコンピューター、さまざまなビデオカード (Nvidia 8600 GT、Nvidia 9500 GT、ATI Radeon HD 5870 Eyefinity 6)、さまざまなバージョンのドライバーでテストされました。問題が安定して再現されました。Windows 7を使用しています。
では、なぜこのような問題が生じるのでしょうか。それを解決する方法と次に何をすべきか?
UPD1。上の画像が利用できない場合は、いくつかのミラーがあります。
https://dl.dropbox.com/u/20468014/DSC_2287.JPG
https://dl.dropbox.com/u/20468014/DSC_2308.JPG
https://dl.dropbox.com/u/20468014/DSC_2313. JPG
https://dl.dropbox.com/u/20468014/DSC_2319.JPG
UDP2. タイトルバーを非表示にするために、フラグ WS_POPUP を使用してウィンドウを作成していることにも注意してください (非表示にする必要があります)。画像のティアリングがさまざまな場所で発生します。常に画面の上部に表示されますが、20 ピクセルでも 50 ピクセルでもかまいません。そのため、タイトル バー付きのウィンドウを作成しているときに、画像の上部に画像のティアリングが表示されないことがあります。