問題タブ [directx]

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 に答える
3784 参照

c++ - Direct3D テクスチャの単一ピクセルの色を設定するにはどうすればよいですか?

Direct3D で画面に 2D 画像を描画しようとしていますが、これは、画面いっぱいに投影された長方形のビルボード ポリゴンにテクスチャをマッピングすることによって行う必要があると想定しています。(私は興味がないか、Direct2D を使用できません。)SDK で見つけたすべてのテクスチャ情報は、ファイルからビットマップをロードし、そのビットマップを使用するテクスチャを割り当てることを説明していますが、まだ操作する方法を見つけていません。ピクセルごとのビットマップとしてのテクスチャ。

私が本当に欲しいのは、次のような関数です

void TextureBitmap::SetBitmapPixel(int x, int y, DWORD color);

テクスチャ オブジェクトにピクセルを直接設定できない場合、ビットマップである DWORD 配列を保持してから、すべてのフレームにテクスチャを割り当てる必要がありますか?

最後に、最初はこれを CPU で行うことを想定していましたが、ピクセルごとの色の計算もおそらく GPU で行うことができます。テクスチャ内の単一ピクセルの色を設定する HLSL コードですか、それともピクセル シェーダーは表示ピクセルの変更にのみ役立ちますか?

ありがとう。

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

visual-studio - Visual Studio Debugger の出力 - 同じ出力ですが、形式が異なります (あるプロジェクトでは 10 進出力、別のプロジェクトでは 16 進出力など)。

いくつかの DirectX コードを別のプロジェクトに再実装することで、いくつかの DirectX プログラミングを学習していますが、デバッガーが 2 つのプロジェクト (サンプルと私のプロジェクト) 間で異なるデータを出力するように見えることがわかりました。

私のプロジェクトでこれを行うと:

デバッガー出力の幅と高さを 10 進数で結果を取得しますが、directx サンプルでは結果は 16 進数です (どちらも実際には正確です。16 進数を 10 進数に変換すると適切なようです)。

もう 1 つの (わずかに) マイナーな問題は、デバッガーがさまざまな DirectX 関連のポインターに関する情報を提供する方法です。たとえば、私のプロジェクトでは、実行を停止してポインタの上にマウスを移動すると、いくつかの漢字、null ポインタなどを取得します (テクスチャはまだ有効で、100% 動作します)、DirectX サンプルでは取得しませんつまり、実際には、DirectX の基本型 (私のプロジェクトでは行わないもの) である以外に、ポインターに関する情報は提供されません。

だから私はただ疑問に思っています.なぜこれがそうであり、それらを同じように動作させるために使用できるデバッグオプションはありますか?

0 投票する
3 に答える
2098 参照

c++ - Microsoft オブジェクト、Release() 関数は値を返しますか?

MSDNでこれについて知ることができなかったので、私は興味があります。Release()この関数は、ポインターを削除するために使用するはずのさまざまな COM オブジェクトに存在することがわかりました。しかし、それが正確に何を返すのかわかりませんか?私は、残りのオブジェクトにまだ存在する参照の数を返すと思っていたので、次のようになります。

そのポインターへのすべての参照を明らかに解放しますか?

それとも私は何かを見ていませんか?

IDirect3DTexture9::Release()*関数の概念からこれについて話していることに注意してください

0 投票する
3 に答える
2731 参照

c# - Microsoft はマネージド DirectX を復活させていますか?

今日、マイクロソフトが次の 0.85 バージョンを発表したのを見ました。

「Microsoft® .NE​​T Framework 用 Windows® API コード パック」

ほとんどの機能は Vista で動作するはずですが、このパックは Windows7 OS を対象としています。このパックの機能の 1 つは、DirectX 11 のサポートです。

数年前に Microsoft がマネージド DirectX の開発を停止し、その間に XNA Game Studio を開発したことを知っていると、この目的を理解するのは困難です。展開の簡素化? W7 デスクトップ アプリケーションは、DirectX に大きく依存するように意図されているのでしょうか? または?

この復活したマネージド DX に関して、良いコメントをお持ちの方はいらっしゃいますか?

0 投票する
4 に答える
37365 参照

windows - 3Dフルスクリーンアプリケーションへのオーバーレイ

サードパーティのフルスクリーンWindowsアプリケーションの上にカスタムグラフィックを表示したい。

Steamゲームをプレイしたことがありますか?ゲーム内からSteamウィンドウにアクセスできる実行可能ファイルGameOverlayUI.exeがあります。(GUI要素はカスタム描画されているように見えますが、それが必要かどうかはわかりませんが、ゲーム内ではデスクトップとまったく同じように見えます。)ゲームのグラフィックを「暗く」することさえできます。背景。

どうすればそのようなアプリケーションを作成できるのだろうか。

また、ソリューションの範囲がどれほど広いのか疑問に思っています。すべてのOpenGLアプリケーションに1つの方法を使用できますか?すべてのDirect3DからDirectDrawアプリケーションを除いたものですか?すべてのフルスクリーンWindowsアプリケーションの場合?

私はもっ​​と「現代的」で一般的な解決策を探しています-コマンドプロンプトや320x240インデックスカラーアプリケーションのオーバーレイは問題ではありません。

編集:いくつかの説明:フルスクリーンアプリケーションは私のものではありません。何でもかまいません。おそらく、それは3Dゲームになるでしょう。たとえば、画面の右下隅のゲームグラフィックの上にデジタル時計を表示したいと思います。可能であれば、コードの挿入やプロセスのデバッグなどのトリックは避けたいと思います。

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

windows - ウィンドウ内の DirectX オーバーレイ

画面上の任意の場所に (DirectX/DirectDraw メソッドを介して) オーバーレイされたグラフィック領域を設定できるようにするか、少なくともウィンドウ領域内で使用できるようにする必要があります。誰でもこれを行うことができましたか?

0 投票する
6 に答える
20872 参照

windows - ボイスチェンジャーの実装方法

マイクの入力音声を変更して、ロボットや変な男の声のようにするアプリを書きたいのですが、変更された音声を IM ソフトウェアやゲーム クライアントなどのすべてのアプリケーションに送信できるようにする必要があります。どの技術を取り上げるべきですか?Windows WaveForm API? ダイレクトX? オーディオドライバー?

どうもありがとうございました!

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

c++ - DirectX での Photoshop の「スクリーン」モード

編集:問題は解決しました!投稿の最後を参照してください。

DirectX 8 で Photoshop から「スクリーン」描画モードを実装するにはどうすればよいですか?

情報、このトピックで見つけました ( http://www.ziggyware.com/readarticle.php?article_id=228 ):

計算が完了したので、あとはブレンド モードを設定するだけです。

DirectX のブレンディング状態は次のようになっている必要があると思います。

それが正しいか?(結果が間違っています)

サンプル プロジェクト:リンク ミラー

Photoshop の結果:

http://img192.imageshack.us/img192/7015/photoshopf.jpg

DirectX での私の結果:

http://img193.imageshack.us/img193/2969/directx.jpg

問題の解決: 式は画像のアルファを考慮していません。これを修正するには、画像の背景を不透明度 100% の黒一色にする必要があります。