問題タブ [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 投票する
4 に答える
1036 参照

graphics - DDS ファイルで、アルファ ビットが 0/1 のテクスチャを検出できますか?

私のエンジンでは、アルファが 0 のテクセルを持つ DXT1 テクスチャを検出できるようにする必要があります (ウィンドウ フレームのカットアウトなど)。これは、自分で圧縮したテクスチャでは簡単ですが、既に圧縮されているテクスチャについてはわかりません。

DDS イメージにアルファが含まれているかどうかをヘッダーから簡単に判断する方法はありますか?

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

opengl - 同じアプリケーションの異なるウィンドウでopenglとdirectdrawを混在させますか?

私は2つのウィンドウを持つアプリケーションを開発しています:

  • ウィンドウ 1: 直接描画サーフェスをレンダリングします
  • ウィンドウ 2: 純粋なOpenGL 呼び出しを実行したい

同じウィンドウで OpenGL と DirectDraw を混在させたくありません。

Open GL FAQ ( http://www.opengl.org/resources/faq/technical/mswindows.htm ) から、同じウィンドウ内で API 呼び出しを混在させることはできないことがわかります。

ですから、私の質問は、あるアプリケーションで直接描画を行うウィンドウと、別のアプリケーションで OpenGL を行うウィンドウを持つことができますか?

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

c++ - DirectDraw に関する質問 - アプリケーションを通常の Windows アプリケーションとして実行する

ビデオ録画用のアプリケーションを開発しており、ビデオ プレビューにロゴと録画タイマーを重ねたいと考えています。

フルスクリーン アプリケーションを実行しようとしましたが、すべて正常に動作しました。次に、アプリケーションを通常の Windows アプリケーションとして実行しようとしましたが、エラーが返されました。

アプリケーションを通常の Windows アプリとして実行するように変更する方法がある場合は、以下のコードを見てもらえますか?

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

c++ - DDS テクスチャの読み込み

dds テクスチャ ファイルを OpenGL 2dtexture またはキューブ マップ テクスチャにロードするにはどうすればよいですか?

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

c# - .ddsファイルをピクチャーボックスにロードする方法は?

.ddsテクスチャファイルをC#の画像としてロードするにはどうすればよいですか?私が見つけることができるグーグルで役に立つものは何もありません。

サンプルの情報が多ければ多いほど、理解しやすくなります。

0 投票する
5 に答える
4366 参照

gdi - 「排他的」DirectDrawパレットは実際には排他的ではありません

DirectDrawでフルスクリーンの256色グラフィックモードを使用する古いビデオゲームを維持しています。問題は、バックグラウンドで実行されている一部のアプリケーションが、ゲームの実行中にシステムパレットを変更しようとすることがあり、その結果、グラフィックが破損することです。

WM_PALETTECHANGEDメッセージを処理することで、これがいつ発生するかを(場合によっては)検出できます。いくつかの更新バージョンでは、ログを追加しました(ウィンドウのタイトル/クラス/プロセス名をログに記録するだけです)。これにより、ユーザーは問題のあるアプリケーションを特定して閉じることができます。MSNLiveMessengerが一般的な原因でした。

Windows Vista(および7)が「単独で」それを実行することがわかったとき、問題はさらに悪化しました。WM_PALETTECHANGEDパラメーターは、CSRSSとデスクトップウィンドウを指します。Vistaでは、よく機能する回避策は、任意のフォルダー(コンピューター、ドキュメントなど)を開き、ゲームの実行中は開いたままにすることでした。ばかげているように聞こえますが、ほとんどの場合、うまくいきました。Windows 7では、この回避策でさえ機能しなくなりました。一部のサービス(Windows Updateおよびインデックスサービス)を停止しても、一部の構成で問題が解決したことがユーザーからわかりました。

少し前に、私は解決策を見つけることを期待してランダムなことを試し始めました。DirectDrawパレットを設定する前に(Create / SelectPaletteを使用して)GDIパレットを設定すると(IDirectDrawPalette :: SetEntriesを使用)、破損したパレット(WM_PALETTECHANGEDハンドラー)が復元されることがわかりました。SetSystemPaletteUseとプライマリサーフェスでのSetPaletteの呼び出しは、さらに役立ちました。ただし、アプリケーションがパレットを盗もうとすると、ちらつきが認識されます。これは、フェード時に特に顕著です。

質問:ゲームがフォーカスを保持している限り、他のアプリケーションがWindowsパレットを変更することを完全に禁止する「本物の」排他的なパレットを取得する方法はありますか?

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

windows-mobile - Windows Mobile プログラミングで画像を回転する

Windows Mobile プログラミング内にビットマップを回転させるメカニズムはありますか?

これを任意の角度に回転させたいと思います。

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

compression - * .DDSファイルはすばやくロードできるようになっていると思いましたか?

さて、私はさまざまな異なるテクスチャ圧縮技術を使用することの賛否両論を比較検討しようとしています。DirectXを使用してWindowsマシン用の2Dスプライトゲームをコーディングする時間の99.999%を費やしています。

これまで、アルファトリミングを使用したテクスチャパッキング(SpriteSheets)を見てきましたが、これはもう少しパフォーマンスを上げるための適切な方法のようです。今、私はそれらが保存されているテクスチャフォーマットを見始めています。現在、すべてが*.PNGとして保存されています。

* .DDSファイルは、テクスチャがVRAMで圧縮されたままなので、特にDXT5(タスクによっては/3/1)圧縮で使用する場合に適していると聞きました。また、すでにDirectDrawサーフェスであるため、ロードもはるかに高速であると言われています。

そこで、これをテストするためのアプリケーションを作成しました。下の行を20回呼び出し、各呼び出しの間にテクスチャを解放します。

DXT5テクスチャでこれを試してみると、単純な*.PNGでロードする場合よりも完了するのに5倍の時間がかかります。ミップマップを生成しないと遅くなる可能性があると聞いたので、それを再確認しました。次に、*。DDSファイルを生成するために使用していたプログラムを変更し、NVIDIA独自のnvcompress.exeに切り替えましたが、いずれも効果がありませんでした。

編集:ファイル(*.pngと*.ddsの両方)は両方とも同じ画像であり、異なる形式で保存されていることを忘れました。(同じサイズ、アルファの量、すべて!)

編集2:次のパラメータを使用すると、ロードがほぼ2.5倍速くなり、消費するVRAMが大幅に少なくなります。

ただし、テクスチャの透明度がすべて失われています。DXT5テクスチャを確認しましたが、Paint.NETおよびDirectXDDSViewerでは問題なく表示されます。ただし、すべての透明度をロードすると、黒一色に変わります。ColorKeyの問題?

編集3:その最後のビットを無視して、私はばかげていて、私の「簡単な例」では、D3DXSprite-> Begin()でアルファブレンドを有効にするのを忘れていました。ドー!

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

c++ - DirectDrawサーフェスにレンダリングされたInternetExplorerコントロール(またはその他)

UIにdirectdrawを使用する既存のc++コードベースを変更する必要があります。(既存の)直接描画サーフェスの1つにレンダリングするブラウザコントロールを利用することは可能ですか?もしそうなら、誰かが私を始める方法について正しい方向に向けることができますか?(または代替アプローチ)

よろしく、

ハイメ

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

c++ - DDS DXT1 を OpenGL にロードするとクラッシュする

私のコードの何が問題なのですか?glCompressedTexImage2D() を実行すると、プログラムがクラッシュします (Windows XP のクラッシュ メッセージが表示されます...)

ミップマップなしで DDS イメージを読み込もうとしています。イメージ形式は DDS DXT1 です

インクルード ファイルが不足していますか、それとも何が間違っていましたか? 含まれているファイルを http://sourceforge.net/projects/glew/files/glew/1.5.1/gew-1.5.1-win32.zip/downloadからダウンロードしました

.exe と同じフォルダーに glew32.dll があります。

以下のコードには、DDS イメージをロードできるように変更した部分のみが含まれています。