問題タブ [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.
language-agnostic - DirectX または OpenGL を使用して 100 個のフローティング キューブを表示する
DirectX
またはを使用して 100 個のフローティング キューブを表示したいと考えていますOpenGL
。
サンプルソースコードか、テクニックの説明を探しています。複数の立方体を正しく表示するのに問題があります。
私は一連の優れたチュートリアルを求めてネットをくまなく調べました。それらはプリミティブの実行方法について説明してい3D
ますが、多数の3D
プリミティブ ( cubes
、spheres
、pyramids
、など) の実行方法に関する情報は見つかりません。
c# - C# と矢印キー
私は C# を初めて使用し、既存のアプリケーションでいくつかの作業を行っています。矢印キーを使用して配置できるコンポーネントを含む DirectX ビューポートがあります。
現在、ProcessCmdKey をオーバーライドして矢印入力をキャッチし、OnKeyPress イベントを送信しています。ALTこれは機能しますが、修飾子( + CTRL+SHIFT )を使用できるようにしたいです。モディファイアを持って矢印を押すとすぐに、聞いているイベントがトリガーされません。
これでどこに行くべきかについて誰かアイデアや提案はありますか?
graphics - DDS ファイルで、アルファ ビットが 0/1 のテクスチャを検出できますか?
私のエンジンでは、アルファが 0 のテクセルを持つ DXT1 テクスチャを検出できるようにする必要があります (ウィンドウ フレームのカットアウトなど)。これは、自分で圧縮したテクスチャでは簡単ですが、既に圧縮されているテクスチャについてはわかりません。
DDS イメージにアルファが含まれているかどうかをヘッダーから簡単に判断する方法はありますか?
video - DirectShow グラフをリバース エンジニアリングするにはどうすればよいですか?
ネットワーク ストリームから MPEG2/4 ムービーをレンダリングする DirectShow グラフがあります。ピンを手動で接続してグラフを組み立てると、レンダリングされません。しかし、GraphBuilder で Render を呼び出すと、正常にレンダリングされます。
明らかに、GraphBuilder が実行しているグラフの一部のフィルターで実行していないセットアップ手順があります。
グラフをアセンブルするときに GraphBuilder からのデバッグ出力を表示する方法はありますか?
作業グラフをダンプして、それがどのようにまとめられたかを確認する方法はありますか?
DirectShow ボックスにあるミステリーを解明するための他のアイデアはありますか?
ありがとう!-Z
directx - DirectX アプリケーションをリモートで表示する
Direct3D ビジュアライゼーションを通じて情報を表示するアプリケーションに取り組んでいます。遅いクライアント要求は、リモート デスクトップ ソリューションを介してこのアプリケーションを表示する機能です。
誰かが似たようなことをしましたか?利用可能なオプションと利用できないオプションは何ですか? 私はRDC、VNC、Citrixを考えています...
何かアドバイス?
windows - 新しい Windows ゲーム プロジェクトでは、OpenGL または Direct3D を使用しますか? または、他の何か?
Windows で 3D グラフィック効果を多用する趣味のゲーム プロジェクトを開始しています。ほとんどの場合、C++ で記述されます。
グラフィック バックエンドに OpenGL または Direct3D を使用する必要がありますか? なんで?
それとも、 OGRE 3Dなどの既製のグラフィック エンジンを使用する必要がありますか? どれ?
いくつかの「開始方法」リンクが役立ちます。(いずれかのテクノロジ、または両方で。)
編集- はい、明確化のためのgraham.reedsのおかげで、DirectX ではなく Direct3D を意味していました
編集- Mihai Lazarは、OGRE 3D などのグラフィック エンジンも使用できると指摘しました。この代替案を反映するように質問を編集しました。
c++ - Linux で DirectX アプリを開発することは可能ですか?
何よりも興味深いのですが、Linux で DirectX アプリをコンパイルできますか?
明らかに公式の SDK はありませんが、wine で可能かもしれないと考えていました。
おそらくワインには、ゲームを実行するための DirectX インターフェイスが実装されていますか? それに対してリンクすることは可能ですか?(編集: これは winelib と呼ばれます)
それができない場合は、ワインの下で実行されているアプリを使用した mingw クロスコンパイラかもしれません。
半分はここで私自身の質問に答えましたが、誰かがこのようなことが行われたことを聞いたことがありますか?
c++ - グラフィックカードのアップグレード時にフレームレートが低下する原因は何ですか?
以前は NVIDIA 8400GS (256MB) を使用して一貫した 60 FPS (モニターの同期速度) で実行された 2 画面の DirectX アプリケーションがあります。ただし、512 MB の RAM を搭載したカードに交換したところ、フレーム レートが 40 FPS を超えるのに苦労しました。(トリプルバッファリングを使用しているため、これだけ高くなります。) 2 枚のカードは同じメーカー (PNY) のものです。他のすべての条件は同じです。これは Windows XP Embedded アプリケーションであり、各カードの新しいイメージから始めました。ドライバーのバージョン番号は 169.21 です。
アプリケーションはすべて 2D です。つまり、テクスチャ化されたクワッドの束と、事前にレンダリングされたグラフィックスがたくさんあります (したがって、カードのメモリをアップグレードする必要があります)。また、CPU がオンザフライでデコードする圧縮アニメーションもあります。これにはテクスチャ ロックが含まれます。ロックには永遠に時間がかかりますが、CPU が更新する別のシステム メモリ テクスチャを用意してから、デバイスの UpdateTexture メソッドを使用してレンダリングされたテクスチャを更新することも試みました。全体的なパフォーマンスの違いはありません。
DirectX のパフォーマンスに関してインターネットで見つけられるすべての FAQ を読みましたが、DirectX プロジェクトに取り組むのはこれが初めてなので、難解な知識があれば役に立ちます。:)
私が主題に取り組んでいる間、もう1つ。スワップ チェーンで Present を呼び出すと、現在のパラメーター (PresentationInterval) と呼び出し自体のフラグの両方で D3DPRESENT_DONOTWAIT を使用しているにもかかわらず、DirectX は現在の完了を待機しているようです。これは 2 画面のアプリケーションであるため、2 つのモニターがゲンロックされていないように見えるため、これは問題です。スレッドプールを介して Present 呼び出しを実行することで、この問題を回避しています。この根本的な原因は何でしょうか?
graphics - DirectX 9 と 10 の両方をサポートするアプリ
グラフィックス プログラマーに初歩的な質問があります。
一部のゲーム (Crysis など) が DirectX 9 (XP の場合) と 10 (Vista の場合) の両方をどのようにサポートできるのか混乱していますか?
これまでのところ、DX10 アプリを作成すると、Vista でしか実行できないことがわかりました。
多分彼らは 2 つのコード ベースを持っています.1 つは DX9 で書かれ、もう 1 つは DX10 で書かれていますか? でもそれってやり過ぎじゃない?
directx - Direct3D を使用してライトをワールド内で固定したままにする方法
私は OpenGL を何年も使用してきましたが、初めて D3D を使用しようとした後、シーン ライトをオブジェクトに固定するのではなく、ワールド内に固定したままにする方法を見つけるのにかなりの時間を費やしました。
OpenGL では、ライトの位置は MODELVIEW マトリックスを使用して他のすべてと同じように変換されるため、ライトを空間に固定するには、MODELVIEW をライトに必要な方法で設定し、glLightPosition を呼び出してからジオメトリ用に設定し、ジオメトリ呼び出しを行います。 . D3D では役に立ちません。
(コメント -- 私は最終的にこの回答を見つけましたが、Web や MSDN で役立つ情報を見つけることができませんでした。その時点でこの回答を見つけることができれば、数時間頭を悩ませる必要がなかったでしょう。 )