問題タブ [direct3d]
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.
directx - ピクセル データをテクスチャからビットマップ (direct3d) にコピーする方法は?
シーンをテクスチャにレンダリングしてからビットマップに保存したいのですが、テクスチャをロックした後、ロック領域にピクセル データがないことがわかりました。テクスチャを画面に正しく表示できます。なぜかわからないのですが?1>フォーマットが間違っていますか?A8R8G8B8 が使用されています。2> ピクセル データを取得する前に、いくつかの重要な手順を見逃していませんか?
c++ - Direct3D10: 32 ビット ARGB フォーマットはありませんか?
既存の d3d9 グラフィックス バックエンドに合わせて d3d10 サポートを追加し始めています。
問題は、既存のすべてのコード (いくつかのアプリケーションで...) が ARGB 形式の色を使用していることですが、d3d10 に一致する形式モードが見つかりませんでした。d3d10 は ARGB カラー形式をまったくサポートしていないのでしょうか? それらの間で変換するための良い方法を見逃していない場合、最初のバイトを最後に移動するだけで済みます。これは非常に単純な概念のように思えますが、色をコンポーネントに分割する以外にそれを行う方法がわかりませんそしてそれを再構築します...例:
windows - 解像度を変更するときに他のアプリケーションウィンドウのサイズと位置を保持するにはどうすればよいですか?(たとえば、デスクトップ以外の解像度でのフルスクリーンゲームとの間)
Windowsで全画面表示にしたときに、D3DまたはOpenGLを利用するアプリケーションのこの奇妙な動作に気付いた人はいますか?これは、アプリケーションが全画面表示になり、ウィンドウに戻るか終了した場合にのみ適用されます。他のアプリケーションのウィンドウ位置をシャッフルするか(単一のモニターマシンを使用している場合)、複数のモニターマシンを使用している場合は他のすべてのアプリケーションウィンドウを別の画面に移動します。
この2つの異常を示さないアプリケーションがなければ、これは当然のことと思います。それで、私の質問は、これらの2つの問題を軽減するためにアプリケーションを作成するときに、正確に何を処理する必要があるかということです。また、この問題がWindows以外の他のプラットフォームに存在するかどうかわかりませんか?
これに関する私の主なセットアップはOpenGL/C ++ですが、これは、処理する必要のあるプラットフォームAPIのことのように思われるため、どのようなセットアップにも当てはまると思います。
編集:OK、これが私の観察についてのもう少しの説明です。デスクトップと同じ解像度でも問題は解決しません。つまり、解像度の切り替えとは関係がないようです。デスクトップと同じ解像度でなくても、元に戻すと、デスクトップのウィンドウが以前と同じように復元されるアプリケーションやゲームを見たことがあります。フルスクリーンアプリケーションが実行されました。
edit2:解像度スイッチの問題のようです。Windows(少なくともXP)は、アプリケーションウィンドウの位置とサイズ(マルチモニターセットアップの場合)を記憶していないようです。質問への回答で私が提供したのは解決策だけのようです-少なくともAPI呼び出しとして1つか2つは、OSが提供すべきもののように見えますが。これが唯一の解決策であるとはまだ確信していません。優雅で簡単な復元の簡単な方法が必要ですよね?
c++ - Direct3D & iPhone 加速度計マトリックス
WinSock 接続を使用して、加速度計情報をオフにし、iPhone を Direct3D アプリケーションに取り込みます。Apples GLGravity のサンプル コードを修正して、ヘリコプタが重力に関連して動くようにしました。私はそのように加速度計の出力を制限しようとしました
これが機能しないように見えることを除いて!? 私が考えることができる唯一のことは、カスタム マトリックスを変更する必要があるということですが、何を変更する必要があるのか 理解できないようです。マトリックスは以下のコードです。
誰かが助けることができれば、それは大歓迎です!
c++ - Direct3D テクスチャの単一ピクセルの色を設定するにはどうすればよいですか?
Direct3D で画面に 2D 画像を描画しようとしていますが、これは、画面いっぱいに投影された長方形のビルボード ポリゴンにテクスチャをマッピングすることによって行う必要があると想定しています。(私は興味がないか、Direct2D を使用できません。)SDK で見つけたすべてのテクスチャ情報は、ファイルからビットマップをロードし、そのビットマップを使用するテクスチャを割り当てることを説明していますが、まだ操作する方法を見つけていません。ピクセルごとのビットマップとしてのテクスチャ。
私が本当に欲しいのは、次のような関数です
void TextureBitmap::SetBitmapPixel(int x, int y, DWORD color);
テクスチャ オブジェクトにピクセルを直接設定できない場合、ビットマップである DWORD 配列を保持してから、すべてのフレームにテクスチャを割り当てる必要がありますか?
最後に、最初はこれを CPU で行うことを想定していましたが、ピクセルごとの色の計算もおそらく GPU で行うことができます。テクスチャ内の単一ピクセルの色を設定する HLSL コードですか、それともピクセル シェーダーは表示ピクセルの変更にのみ役立ちますか?
ありがとう。
com - Direct3D 10 の COM 公開はありますか
紳士淑女の皆様。
この質問を Code Project の COM フォーラムに投稿したところ、気の利いた返事が返ってきたので、お役に立てれば幸いです。
Microsoft は Direct3D 9 用の COM ライブラリを GUID 81BDCBCA-64D4-426d-AE8D-AD0147F4275C で公開しているようです。
Microsoft は COM で Direct3D 10 を公開していますか? もしそうなら、インターフェイスの GUID は何ですか?
前もって感謝します。
direct3d - Direct3D 10 とシェーダー管理
DirectX 10 を使用して 3D アプリケーションをコーディングしていますが、Shadermanagement のタックリングがどうなっているのか疑問に思っています。
アプリケーションの起動時に存在するすべてのシェーダーをプリロードしてから必要に応じて使用するのが最も効果的ですか、それとも数値が高くなった場合にハードウェアのリソースをトレーニングしますか?
また、シェーダー スイッチが最小化されるように、シェーダーごとにレンダリングを注文するのは速度を考慮したものなのだろうかと思います。