問題タブ [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.
c# - DirectX 9 - デバイスを作成し、DLL 内のテクスチャにレンダリングしますか?
DLL でマネージド DirectX 9 デバイスを作成し、その DLL を使用してシーンをオフスクリーン サーフェスにレンダリングしようとしています。オフスクリーン レンダリングの方法は知っていますが、私の質問は次のとおりです。
DLL 内で directx デバイスを作成することは可能ですか?
弱い試み #1 ( InvalidCallException
):
弱い試み #2 ( InvalidCallException
):
使用可能なデバイス コンストラクターのオーバーロードは次のとおりです。
助けがあれば、私の一日がうまくいく可能性があります!
c# - DirectX9の単純なHLSLグロー/ブラー効果
High LevelShaderLanguageとDirectX9マネージドライブラリを使用して単純なグロー/ブラーシェーダーを作成するのに役立つリソースを見つけるのに何日も苦労してきました。
私がする必要があるのは、CustomVertex.TransformedColored
頂点の配列を単純な線として描画し、HLSL効果によってぼかし/光らせることだけです。
私はインターネットを約3日間検索していくつかの結果を出しましたが、本当に良いチュートリアルや例を見つけることができません。私はHLSLの基本的な知識を持っていますが、このシェーダーの書き方を理解するのに十分な理解はありません(3冊のDirectXブックのHLSLの章も読んだことがあります)。
ここにいくつかの(要約された)コードがあります:
投稿する必要のある質問の数とコードの量を考えると、HLSLの特定の部分に関するヘルプをあまり探していないと思います。実際には、リソースを見つけるためのヘルプを探しています。
directx-9 - 頂点からの VertexBuffer
頂点から頂点バッファーを作成する必要があります。MSDN のこのチュートリアルは素晴らしいです。
しかし、これは DirectX10+ に適しています。DirectX9を使用しています。ここで同じことを達成する方法は?
ありがとう。
directx - Direct3DCreate9が遅いのはなぜですか?
Direct3Dアプリの開始時間を少し短縮しようとしていますが、プロファイラーによると、Direct3DCreate9には1秒かかることに気づきました(何よりも)。なんで?そして、それについて何ができるでしょうか?
OS:XP、DirectX:9.0。DirectXが異なるWindows7でも同じ動作をします。また、多くのゲームがこの「Direct X初期化」の遅延に悩まされていることに気づきました。したがって、構成だけで問題になるわけではありません。
visual-studio - Visual C ++ 2005は、インクルードディレクトリの最初のフォルダーにあるにもかかわらず、dxtrans.hを見つけることができません。
Visual C++2005のインクルードファイルディレクトリリストの最初のエントリとして2007directxsdkインクルードディレクトリが設定されており、そのディレクトリにはdxtrans.hが含まれています。しかし、プロジェクトをビルドしようとすると、「qedit.hをコンパイルするには、DirectX 9 SDKをインストールして、dxtrans.hヘッダーを取得する必要があります。」というメッセージが表示され、Windows sdkヘッダー(amstream.h、 qedit.hなど)。コンパイラにdxtrans.hを検出させるために実行する必要のある他の魔法の呪文はありますか?エラーメッセージは赤いニシンですか?
c# - メッシュのちらつきの問題:DirectX HLSL
問題: Managed DirectX 9でHLSL (High Level Shader Language)を使用してメッシュをレンダリングしています。メッシュの複雑さ(頂点と面の数)によっては、ちらつきの問題が発生することがあります。
明らかに、複雑度の高いメッシュはレンダリングに時間がかかるはずであり、ちらつきの量はメッシュの複雑さとともに増加します。ただし、発生するのはメッシュがまったくレンダリングされておらず、メッシュの描画にかかる時間が大幅に短縮されていることです。
Increased Mesh Complexity -> Increased Flickering
コード:
結果:これは私が得た出力です(読みやすくするために上記のコードに含まれていないタイマーを挿入しました):
HLSLコード:これは省略されたHLSLコードです。これは実際のコードではないことに注意してください。構文エラーを掘り下げないでください。実際のコードは非常に似ていることを保証します。
ヘルプ/アイデア/提案をいただければ幸いです。ありがとう!
c++ - 2Dウィンドウの設定方法
Directx で 2D ビューを設定するには? この OpenGL に似た機能はありますか?
directx - セカンダリ スクリーンでハードウェア アクセラレータの DirectX ウィンドウを開くにはどうすればよいですか
セカンダリ スクリーンにハードウェア アクセラレータの DirectX (現時点では 9) ウィンドウを作成しようとしています。この画面は、プライマリ画面と同じグラフィック ディスプレイに接続されています (少なくとも現時点では)。
現在、ウィンドウの位置に基づいて、またはそこにドラッグしてセカンダリ スクリーンでウィンドウを開こうとすると、CPU 使用率が約 10% 跳ね上がります。これは、ウィンドウがハードウェア アクセラレーションではなくソフトウェア フォールバックに切り替わっていることを示しているようです。
マシンは、NVIDIA グラフィックス カード (これは複数のマシンで実行されるため、さまざまなカード) を実行している Windows XP であり、最新のドライバーがインストールされています。それが重要な場合は、同時にCUDAを実行して画像を生成しています。プログラミング言語は c++ で、手動でウィンドウとメッセージ キューを作成します。現在、GUI を管理するために takebox は使用していません。
ありがとう
visual-c++ - 3D(x、y、z)をその方向に沿って2D(x、y)(直交)に変換します
私はインターネットで利用可能なすべての研究リソースを可能な限り調べました。これらは単純な方程式、ベクトル、または三角方程式の形式です。私は次のことをする方法を見つけることができませんでした:
Yが3Dの世界にいると仮定します。3D軌道の場合は2つの2D軌道を直交して(投影ではなく)描画する必要があります。たとえば、軌道自体の側面図の場合はXY平面、上面図の場合はXZ平面を描画します。
私は3D軌道のすべての3Dポイント、初速度を持っています。両方の角度はベクトル数学で計算できます。
どうすればさらに先に進むことができますか?
参照:さまざまな角度の曲線の下。XY平面に沿って投影すると、その重要性が失われる可能性があります。私が欲しいのは、それ自体に沿った赤い曲線、緑の曲線に沿った緑の曲線などを変換することです。さらに、側面図を平面にマップするにはどうすればよいですか。上面図は比較的簡単で、各ポイントのXおよびZ縦座標を取得するだけで実行できます。
私はこれが要件を意味します。:)
c++ - 呼び出し元の関数の名前にプログラムでアクセスできますか?
私が取り組んでいるプロジェクトのログ ファイル システムに少し機能を追加したいと考えています。私のLogError()
呼び出しには、エラーが発生した関数を含めたいと思います。呼び出した関数の名前にアクセスして、LogError()
プログラムでその情報にアクセスしてログに追加できる方法があるかどうか疑問に思っています。
例えば:
上記の例では、手動でどこにでもそれを配置するのではなく、その関数の名前 (少なくとも一部)LogError()
から呼び出されたことを判断して出力できるようにしたいと考えています。GraphicsManager::Initialize()
EDIT:私のLogError()
関数(および他のロギング関数)は基本的にラッパーでvfwprintf_s()
あるため、可変長の引数リストを取得できることに言及する必要がありました。「マクロを使用する」という提案は気に入っていますが、その潜在的な問題に対処する方法がわかりません (これはおそらく別の質問です)。
これはまだ合理的/可能ですか?
ありがとう!