問題タブ [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 に答える
759 参照

windows - クロスプラットフォームの .DDS ファイルを作成する必要があります。誰か例を教えてもらえますか?

OSX と Windows の両方で実行されるコードを含む .DDS ファイルを作成する必要があります。フォーマットは難しそうに見えませんが、ファイルの書き方の例が欲しいです。読む必要はありません。ただ書いてください。

C または C++ および RGBA ビットマップ。

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

c - YUV444からRGB888への変換

私はこの分野で新しいです、そして私はあなた全員からのいくらかの指導を必死に必要とします。

ディスプレイドライバモジュールでサポートyuv444する必要があります。rgb 888

以下に述べるwince6.0r3 yv12で私が行ったテストが1つあります。rgb565

この関数のフローは次のとおりです。このテストの開始と終了を示します。

yuv444->rgb888の上記の関数に変更を加えるのを手伝ってください。

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

message-queue - IVideoWindow::put_Visible がメッセージを投稿しないようにすることはできますか?

IVideoWindow::put_Visible() が呼び出されるたびに、メッセージ キューからメッセージを取り出してディスパッチします。それは呼び出しシーケンスを完全に台無しにします。

ケースバイケースのバイアスで、これによって引き起こされたいくつかのクラッシュを修正しました。つまり、put_Visible() を呼び出す前にフラグを設定し、フラグを消去します。そして、イベント ハンドラーでは、最初にフラグを確認し、フラグが設定されている場合は、イベントをメッセージ キューに戻し、イベント ハンドラーを終了します (つまり、put_Visible() が戻るまで処理を延期します。問題は、コード ベースが大きすぎることです)。そしてその方法は持続しません。

put_Visible() の動作を単純に変更して、メッセージ キューとディスパッチを混乱させないようにする方法はありますか?

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

c++ - DDS圧縮画像を使用したOpenGLでのキューブマッピング?

DDS キューブ マップを使用しているときにキューブ マッピングに問題があります。単純な何かが欠けていると思われる黒いキューブが表示されます。これまでのコードは次のとおりです。

このコードが呼び出されたら、glBindTexture を使用してテクスチャをバインドし、GL_QUADS と glTexCoord3f を使用して立方体を描画します。

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

directdraw - Direct Draw ライブラリを介してオーバーレイ ハードウェアの最大サイズを検出するにはどうすればよいですか?

Direct Draw ライブラリを介してオーバーレイ ハードウェアの最大サイズを検出するにはどうすればよいですか?

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

c++ - カラーキー情報を失うことなくスプライト画像を拡大縮小するにはどうすればよいですか?

私は現在、地図を表示し、その上にいくつかのマーカーを描画する簡単なアプリケーションを開発しています。私はWindowsMo​​bile用に開発しているので、DirectDrawおよびImagingインターフェイスを使用して、アプリケーションを高速できれいにすることにしました。ユーザーがタッチスクリーン上で指を動かすと地図が移動するため、地図の移動/スクロールアニメーション全体を高速にする必要がありますが、そうではありません。

マップを更新するたびに、マップの一部、コントロールボタン、およびマーカーを描画する必要があります。ボタンとマーカーは、ミップマップとしてDirectDrawサーフェスにプリロードされています。したがって、私が行う唯一のことは、ミップマップからバックバッファーへ、およびバックバッファーからプライマリサーフェスへのBitBlitです(アプリケーションのウィンドウモードのため、ページめくりを使用できません)。

以前は、画像のミップマップに32ビットARGBピクセル形式の事前乗算アルファサーフェスを使用していましたが、すべてが見栄えが良かったのですが、「シーン」全体の描画がひどく遅く、スムーズなマップスクロールを忘れることができました。現在、ネイティブ(RGB565)ピクセル形式とフクシア(0xFF00FF)カラーキーでミップマップを使用しています。描画ははるかに優れています。

私のミップマップサーフェスはプログラムのロード時に生成されます-画像はファイルからロードされ、スケーリングされ(フィルタリングを使用して)、ミップマップに描画されます。問題は、画像スケーリングプロセスでピクセルの色がブレンドされ、スプライト領域の境界にあるピクセルが周囲のフクシアピクセルとブレンドされて、カラーキーとして扱われないセミフクシアカラーが生成されることです。カラーキーオプションを使用してブリッティングを行うと、スプライトにはフクシアのような小さな境界線があり、非常に見栄えが悪くなります。

この問題を解決する方法は?アルファブリッティングを使用できますが、ARGB1555形式でも遅すぎます。

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

c++ - Silverlight for Windows Embedded でグラフィックスのハードウェア アクセラレーションを実装する

Wince で DDraw & OpenGL を使用する方法のサンプル コードはありますか?

ネットを検索しましたが、DDraw と OpenGL を使用して wince でハードウェア アクセラレーションを実装する方法については何も見つかりませんでした。

ハードウェア アクセラレーションを実装するために wince 6.0 r3 で OpenGL API を使用する方法を教えてください。

ひるみ6.0 r3で。

4 つのボタンで構成される 1 つの xaml を作成しました。いずれかのボタンをクリックすると、特定のイベントが呼び出されます。その xaml ファイルを使用するために、サブプロジェクトに C++ コードを記述しました。

今、OpenGL API を使用して埋め込まれた Windows の Silverlight でグラフィックスのハードウェア アクセラレーションを実装する必要があります。

OpenGL API に慣れれば、DDraw API にも慣れることができる

私はこれらの API に非常に慣れていないので、私を案内してください。

前もって感謝します

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

winapi - Win32: DirectDraw が有効になっているかどうかを確認する方法は?

GDIPlusで使用CachedBitmapsする場合、Windows ビデオの「ハードウェア アクセラレーション」を下げすぎると、DirectDrawが無効になるなど、グラフィックの破損が発生します。

ここに画像の説明を入力

ハードウェア アクセラレーションには 6 つのレベルがあります。

  • すべての加速を無効にする
  • 基本的なアクセラレーションを除くすべてを無効にします。(サーバーマシンのデフォルト)
  • すべての DirectDraw と Direct3D アクセラレーション、およびすべてのカーソルと高度なアクセラレーションを無効にする
  • すべてのカーソルと高度な描画アクセラレーションを無効にする
  • カーソルとビットマップの加速を無効にする
  • すべてのアクセラレーションが有効になっています (デスクトップマシンのデフォルト)

DirectDraw が無効になっている場合DrawCachedBitmap、GDI+ で使用するとグラフィックが破損します。DrawImage()DirectDraw が有効になっていない場合、低速の API を使用するのは簡単ですが、DirectDraw が無効になっていることを検出できるようにする必要があります。

DirectDrawが有効になっているかどうかをプログラムで確認するにはどうすればよいですか?


問題は、dxdiag がこれをどのように行うかです。

代替テキスト

こちらもご覧ください

KB191660 - DirectDraw または Direct3D オプションが利用できない (アーカイブ)

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

c++ - DirectDraw: サーフェスがバックバッファより大きい場合、クリッピングが失敗する

モバイル デバイス用のゲーム エンジンを作成しており、複数の解像度をサポートしようとしています。ゲームの世界は画面よりもはるかに大きくなる可能性があるため、クリッパーを使用して世界にビューポートを作成しています。

私のデバイスの解像度は 240x320 です。ビューポートを 240x320 に設定し、ワールドを 240x320 に設定すると、すべて問題ありません。画面外の世界を問題なくスライドできます。ただし、ビューポートが 220x320 でワールドが 240x320 のDDERR_INVALIDPARAMS場合、サーフェスが左側の画面の外に移動すると、ブリッティングが失敗します。

右側の画面の外にサーフェスを移動しても問題なく動作し、サーフェスは正しくクリップされます。

サーフェスがバックバッファよりも大きい場合、バックバッファでサーフェスをクリップするにはどうすればよいですか?

前もって感謝します

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

delphi - Delphi+ウェブカメラ

写真を撮るために主にデルファイでウェブカメラを使用する方法を探しています。何らかの理由でTWAINドライバーを使用できません。