問題タブ [directdraw]

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

c++ - DirectX — DirectDraw サーフェス Flip() の類似物はありますか?

提供された 2 つの画像 (3D モデルではない) に基づいて、200 Hz の画面にアナグリフ (立体画像) を描画するアプリケーションを構築しています。したがって、再描画の速度の整合性は非常に重要です。DirectDraw サーフェスとその Flip() (現在のサーフェスのイメージをセカンダリ イメージに切り替える) で最高の結果を達成しました。

しかし、DirectDraw は非常に時代遅れであり、最新の DirectX ライブラリに基づいてこの機能を再実装する方法を探しています。しかし、クワッドを作成したり、テクスチャとして絵を描いたり、2D 画像を出力するためだけに 3D 射影行列を計算したりしたくありません。

これが DirectX でどのように実行できるかについてのスニペットがあれば、本当にうれしいです。前もって感謝します。

0 投票する
0 に答える
865 参照

linux - Linuxコマンドラインで画像をddsに変換する

jpeg 形式の画像がたくさんあり、それらを .dds (DirectDraw サーフェス) にバッチ変換したいと考えています。

このような変換を行うためのコマンド ライン ツールを知っている人はいますか?

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

c++ - GetProcAddressを使用してDirectDrawのプロシージャアドレスを取得する

IDirectDraw7 :: SetCooperativeLevelメソッドのドキュメントに記載されているように、

LoadLibraryを使用してDdraw.dllに明示的にリンクしてから、GetProcAddressを使用してSetCooperativeLevelメソッドにアクセスする必要があります。

発言で。ただし、これを実行しようとすると(以下のコード)、機能しません。私は何か間違ったことをしていますか?

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

c++ - COM インターフェイスの Vtable で特定の関数のインデックスを見つける

SetCooperativeLevelDirectDraw オブジェクトで関数をフックしようとしています。私の目標は、この質問API Hook on a COM object function?の目標と非常に似ています。IDirectDrawただし、唯一の問題は、の vtable for の正確なオフセットがわからないことですSetCooperativeLevel<ddraw.h>おそらくまたはプログラムからこれを収集する方法はありますか?

のインターフェイス宣言はIDirectDraw次のとおりですが、これが vtable にどのように対応するかはわかりません。

0 投票する
0 に答える
1290 参照

png - Compressonator は dds をアルファチャンネル付きの png に変換します

アルファチャンネルでddsをpngに変換するコマンドは何ですか?

このコマンドを使用する場合:

出力pngはアルファチャンネルを使用しません。を開きTheCompressonator.exe、[編集] -> [アルファ チャンネルの作成] を選択し、ファイルを選択してオリジナルを png に保存すると、png ファイルにはアルファ チャンネルが含まれますが、変換が必要な dds ファイルがたくさんあります。

0 投票する
0 に答える
580 参照

wpf - WPFで汚れた領域を検出して取得していますか?

WPF アプリケーションで再描画/ダーティ領域を取得する方法はありますか?

視覚化するだけでなく、プログラムでそれらを作成したいと思います。

私の目標は、一種のリモート アプリケーション用に WPF アプリでいつ、何が再描画されたかを知ることです。

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

directx - DirectDrawSurface (DDS) ピッチ計算

この 2 日間、DDS フォーマットを研究し、DDS テクスチャ ローダーを書いていたのですが、好奇心だけで、「ピッチ計算式」という当たり前のことに出くわしました。正当な理由もなく、それらがそのまま正確に指定されている理由について、私は本当に興味があります。

たとえば、すべて S3TC に基づくブロック圧縮形式 (DXT#n、BC#n) の場合、計算方法は次のようになります。

max( 1, (幅+3) / 4 ) * ブロックサイズ

したがって、max は 2 つの値のうち大きい方を示しますが、なぜそれが機能するのでしょうか? テクスチャの幅に 3 を追加してから、「ニブル境界」に分割するのはなぜですか?

一方、いくつかのレガシータイプは次のとおりです。

((幅+1) >> 1) * 4

したがって、右シフトは基本的に基数をバイナリベースで移動するか、2 で割ることです。では、なぜ 1 を足してから 2 で割って 4 を掛けるのでしょうか? 右端の 2 ビットを失うには?

最後に、他の形式の場合:

( 幅 * bpp + 7) / 8

ピクセルあたりのビット数と最も近いバイト境界分割は理解していますが、なぜ 7 を追加するのですか?

誰かがこれについてもう少し書くことができますか? または、私を正しい方向に向けますか?

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

directx - DirectDraw (2d) オーバーレイを使用した Direct3D 11

基本的に、3D スワップチェーンで 2D 描画を行いたいと考えています。しかし、私のコードは別のプログラムに挿入され、ソース コードはありません。

描画はできますが、スワップチェーンが DXGI_FORMAT_B8G8R8A8_UNORM (BGR) 形式で作成されている場合にのみ機能します。

もともと、プログラムは DXGI_FORMAT_R8G8B8A8_UNORM (RGB) を使用しており、BGR に切り替えると、プログラムはウィンドウ/画面の外側にレンダリングされます。ほとんどすべてが大きくなっています。

RGB を使用して Direct3D 11 を 2D と相互運用する方法、またはアプリケーションのレンダリングを BGR で正しく動作させる方法はありますか?

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

c# - 重なり合う三角形を正しくレンダリングしますか?

私はC#でDirectX9を学び始めました。2つの三角形をレンダリングし、それらをY軸を中心に回転させたいと思います。

このパートでは、デバイスを初期化します。

VertexBufferには、を使用しCustomVertex.PositionColored[]ます。

このパートでは、マトリックスをセットアップし、プリミティブをレンダリングします。

開始位置

白の前に赤の2つの三角形

回転後

同じ三角形ですが、回転しています。 まだ白の前に赤

2番目の写真では、私の問題を見ることができます。赤い三角形は白い三角形の前にあります。白い三角形の後ろに赤い三角形を描くにはどうすればよいですか?

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

c# - 直接描画に相当する Linux

ac# プログラマーとして、私は Microsoft に慣れていますが、Linux 側が本当に好きで、Mono はその世界をよりよく開いてくれます (imo)。

アクティブなビデオを表示するために直接描画のサポートが必要なアプリがありますが、Linux で同等のもの (さらに良いことに、Mono はどのようなサポートを提供するのか) に興味がありますか?