問題タブ [directx-9]
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.
visual-studio-2010 - インクルード ファイル "d3dx9.h" を開けません
編集:もちろん、1時間作業してからここに投稿した直後に、愚かな間違いを見つけました...
プロジェクトを実行しようとすると、コンパイラ エラーが発生し#include <d3dx9.h>
ます。「致命的なエラー C1083: インクルード ファイルを開けません: 'd3dx9.h': そのようなファイルまたはディレクトリはありません」というメッセージが表示されます。
- DirectX SDK がインストールされています (再インストールしても無駄でした)。
- プロジェクトのプロパティで:
- VC++ ディレクトリは、すべての構成でインクルード ディレクトリとライブラリ ディレクトリにそれぞれ"
$(DXSDK_DIR)Include;$(IncludePath)
" と " " に設定され、環境変数は期待どおりにポイントします。$(DXSDK_DIR)Lib\x86;$(LibraryPath)
%DXSDK_DIR%
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\
- C/C++ > 一般設定は
$(DXSDK_DIR)include
、追加のインクルード ディレクトリにリストされています。 - [リンカー] > [入力] > [追加の依存関係] には
d3dx9d.lib
、デバッグ用とd3dx9.lib
リリース構成用が含まれています。
- VC++ ディレクトリは、すべての構成でインクルード ディレクトリとライブラリ ディレクトリにそれぞれ"
- DirectX サンプル ブラウザからチュートリアル プロジェクトを正常にコンパイルおよび実行できます。
- Visual Studio の Intellisense/autocomplete は
d3dx9.h
、ファイル内にある (そして私が行っている他のものには含まれていない#include
) 型と関数の名前を見つけて提案するので、Intellisense はそれを見つけることができるようです。
私が忘れていること、または他に何を試すべきかについての提案はありますか?
ありがとう
windows-phone-7 - Windows Phone 7 DirectX の開発
ばかげた質問かもしれませんが、私にとっては本当に興味深い質問です。Silverlight または XNA を使用して Windows Phone 7 用のアプリを作成できることはわかっていますが、Windows Phone 7 で実行できる純粋な DirectX 9 アプリケーションを開発することは可能ですか?
ご回答ありがとうございます。
c++ - 固定関数レンダリングパイプラインを使用したDirectX9の頂点ごとの事前計算されたライティング
固定関数パイプラインを使用してDirectX9C ++アプリケーションを作成していますが、各頂点に事前に計算された照明が与えられています(法線などに関係なく)これを最終的な画像に適用するにはどうすればよいですか?
現在、テクスチャプリミティブを使用しており、全体として(グラデーションを使用するのではなく、プリミティブ全体で)色を変更しようとしています。ライトの数とアプリケーションが設計されているため、ライティングを事前に計算する必要があります。ローエンドのマシンでも適切なフレームレートを取得します。(つまり、ライトごとに1つのパスが多すぎます)
私の頂点構造体は次のようになります
基本的に、それにライティング値を追加し、頂点ごとの固定関数パイプラインを使用して(実際の「ライト」を使用せずに)適用したいと思います。
どんな助けでも大歓迎です...
opengl - DX9 および DX10): デフォルトのピクセル (および頂点) シェーダーは何ですか? (可能であれば OpenGL も。)
DX9 ではオプションでシェーダーを指定できること、および DX10 ではシェーダーを指定する必要があることを認識しています。私が持っている質問は、シェーダーを使用したいと言って、シェーダーを指定しないとどうなるかということです。一言で言えば、私が探しているのはデフォルトの動作です。デフォルトのシェーダーはありますか?
次のシナリオに興味があります。
- DX10、ピクセル シェーダーを指定しないでください。(PSSetShader(NULL) を呼び出さなければなりませんか? そうでない場合はどうなりますか?) 実行される既定のシェーダーは何ですか?
- 同じ質問、頂点シェーダー。
- DX9 で、ピクセル シェーダーを使用するように指定したのに指定しなかった場合はどうなりますか? デフォルトはありますか?固定機能インターフェースの使用を選択した場合、デフォルトはありますか? それらのデフォルトは同じですか?
- おまけの質問: OpenGL と GLSL はどうですか? DX9と同じ質問です。
これに関するドキュメントへのポインタを見てみたいです.MicrosoftのオンラインDXドキュメントを熟読しましたが、デフォルトの動作を見つけることはできませんでした.
ありがとう!
directx - 構造体内のHLSLサンプラーは可能ですか?
DirectX 9 エフェクト フレームワークを使用しています。
次のようなサンプラーを含む構造体を作成したいと思います。
ただし、シェーダー コンパイラは次のエラーで失敗します。
this-relative 参照のアイデアは機能しているようですが、関数内で何らかの方法で宣言する必要がありますが、関数内でサンプラーを宣言すると機能しないため、どのように機能するかわかりませんか? 誰にもアイデアはありますか?
c++ - D3D での 2D グラフィックスのレンダリング速度
d3dで2Dグラフィックスをレンダリングする方法はどれが速いですか? スプライトを使用するか、四角形/他のポリゴンをテクスチャリングしますか?
random - ピクセル シェーダー内で乱数を生成できますか?
適用可能なオブジェクトにランダムな輝きを追加する非常に単純なシェーダーを作成しようとしています。これを行う方法は、ピクセル シェーダー内のピクセル値に白 (R = G = B) のランダムな色合いを追加することです。
それはnoise()
私が望むようには機能しないようです:
への呼び出しを参照すると、「エラー X4532: 式をピクセル シェーダー命令セットにマップできません」というメッセージが表示されnoise()
ます。
シェーダーの呼び出し間で数値を保持する方法がわからないため、レンダリング前に渡されたシードに基づいて単純な乱数生成関数を作成することはできないと思います。
ピクセル シェーダー内から乱数を生成する方法はありますか? 方法があるとすれば、どのように?
visual-c++ - C ++で直接x 9を使用した上部表現の3Dアイコン
シミュレーションの要素を表す多くの 2D アイコンと、別のより重要な要素を表す 3D (.x は Blender で作成) のアイコンがあるシミュレーターのビジュアルを作成しています。
これを他の 2D アイコン (.tga) の上に作成する必要がありますが、これを作成する方法が見つかりません。Direct x で残りの 2D アイコンの上に 3D アイコンを描画することはできますか? この時点で、2D アイコンは常に 3D の上に表示されます。
誰かがこれを手伝ってくれませんか。私は C++ でプログラミングしています。
c++ - DirectX 9 固定機能テクスチャ
DirectX 9 の Fixed Function レンダリング パイプラインを使用すると、次のようにしてテクスチャを設定し、頂点をレンダリングするのは非常に簡単です。
ただし、各頂点に追加の float 値を追加したいと思います。これは、テクスチャからの結果のカラー出力で乗算されます。(したがって、値は 0 から 1 の間になります)
EG (疑似コード)Colour = TextureColour(u, v) * CustomFloat
を使用する方法があると思いますが、その方法device->SetTextureStageState
がわかりません...誰か助けてくれますか?
graphics - directX を使用してスクリーンショットをキャプチャして描画する
DirectX (DX9) でデスクトップのスクリーンショットを取得し、すぐにフォームに (小さいサイズで) 描画しようとしています。
デバイスがいくつかのサーフェスと共に作成され、それらを画面にレンダリングできるように、DirectX を機能させています。F3F3Surf9_SS
デスクトップのスクリーンショットを取得するために1 つのサーフェスを使用しています。
これが変数の宣言と初期化です
...
これは、スクリーンショットを取得してレンダリングするために使用するコードです
ただし、これは機能しません。
画像は画面に描画されません。面 A または B を画面に描画すると、それは機能しますが、Surface SS では機能しません。ただし、Surface SS にスクリーンショットが含まれていることはわかっていD3DXSaveSurfaceToFile
ます。これは、ハードディスクに配置した結果のビットマップを呼び出すと、有効なスクリーン ショットになるためです。
これを行う適切な方法について何か考えはありますか?