問題タブ [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.
directx - 鏡面反射(dx9)を描いたらシーンがぐちゃぐちゃになりました
私のプロジェクトでは、壁、床、鏡、消防システムをオンまたはオフにするスイッチで構成される家を描きます。ここまではすべて順調です。やっと鏡に映った人物を描きたいのですが、drawReflection
機能を追加したらうまくいかず、めちゃくちゃなシーンになってしまいました。なんで?本に従って関数を書きます。
しかし、drawReflection()
機能を追加したら、めちゃくちゃになりました。なんで?
drawReflection()
機能は以下です。
java - XPボックスでJavaFX 2.0がdirectx 9を使用していることを確認するには?
JavaFX 2.0 アプリケーションを実行したい Intel 945 チップセットを搭載したコンピュータに Windows XP をインストールしています。DirectX 9.29 がインストールされていますが、プロセッサの負荷が非常に高いため、それを利用していないようです (1 秒に 2 ~ 4 回リフレッシュされるいくつかのハンドレット ポイントで 70 ~ 100% です。これは弱いデバイスですが、高すぎます。 ..)
Prism が directx レンダリングを利用していることを確認する方法はありますか?
更新: 最新のドライバーをインストールしました。DirectX 11 を使用する Windows 7 組み込みに移動しました。しかし、JavaFX 2.0 は非常に遅く、GPU ではなく CPU のみを使用します。
c++ - Zバッファが原因で描画されない
DirectX9 で描画する際に問題が発生しています。
ここに私のレンダリング機能があります:
次のコードで DirectX をセットアップしています。
そのまま、何もない BackgroundColour 画面を描画します。
Z バッファをオフにすると [つまり、g_pd3dDevice -> SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);]、すべてが「描画」関数が呼び出された順序で描画されます。後で描画されたオブジェクトは、以前に描画されたオブジェクトを覆い隠します。
私もこれらの変更を試みました:
と
その結果、最初に描画されるオブジェクトは、後で描画されるオブジェクトを、それらの空間位置に関係なく覆い隠します。
私が望む効果は、近くのオブジェクトが遠くのオブジェクトを覆い隠すことです。
誰でもこれに光を当てることができますか?
ありがとうございました。
c++ - DirectX マネージド プール
既存の C++ DirectX9 アプリケーション用のプラグインを作成しています。パフォーマンス上の理由から IDirect3DDevice9Ex に切り替えることを決定するまで、すべてが正常に機能していました。
「D3DXCreateFontA」を使用してテキストをレンダリングすると、「D3DPOOL_MANAGED is not valid with IDirect3DDevice9Ex」というエラーが表示されるようになりました。
質問: IDirect3DDevice9Ex を使用しているときにテキストを描画するための回避策、またはマネージド テクスチャを使用せずにテキストを描画できる優れたライブラリはありますか?
hlsl - HLSL でのシェーダー リソースの使用 (ポート DX9->DX10)
DX9 ボリューム レンダラーを DX10 バージョンに移植しようとしています。現在、次のエラーで立ち往生しています:
D3D10: エラー: ID3D10Device::DrawIndexed: シェーダー コードで宣言されたビューの次元が、ピクセル シェーダー ユニットのスロット 0 にバインドされたビュー タイプと一致しません。シェーダーが実際にビューを使用する場合、これは無効です (たとえば、シェーダー コードの分岐が原因でスキップされません)。[実行エラー #354: DEVICE_DRAW_VIEW_DIMENSION_MISMATCH]
私の推測では、2D および/または 3D テクスチャ (シェーダー リソース) を正しい方法でシェーダーに送信していません。または、正しい (dx10) 方法で使用しないでください。DX9 コードは次のようなものでした (この質問のために単純化されています)。
HRESULT 時間; int nVertexShaderIndex = 0;
実際のデータを含む 3D ボリューム テクスチャも同様の方法で送信されます。対応するピクセル シェーダー コード:
DX10 では、一部のシェーダー コードを単純化できます (私が理解している限り)。空のテクスチャを作成し、このテクスチャを map()/unmap() で塗りつぶします。次に、それをシェーダー リソースとして PS にバインドします。C++ とシェーダー コードは次のようになります。
シェーダーにバインド:
シェーダーで使用:
このコードによってエラーが発生したというのは、経験に基づいた推測に過ぎないことに注意してください。上記のコードが正しいと思われる場合は、そのように返信してください (コメントで)。その場合、解決策を見つけるための新しい方向性が評価されます。
graphics - IDirect3D9#SetTextureStageStateを使用して特定のアルファマスクアプリケーションを理解しようとしています
2番目のテクスチャをアルファマスクとして使用して、テクスチャにフェードアウトを発生させることができるシステムを作成しようとしています。
ステージ0でカラーテクスチャをロードし、ステージ1でマスクテクスチャをロードします。アルファ値がマスクに基づいており、スライドD3DTA_CONSTANTを使用してフェードを出し入れできるように、それらを正しくステージングすることができます。問題は、利用可能なD3DTAから抜け出せないような特定の動作を作成しようとしていることです。
基本的に、「step」と呼ばれる値と「vague」と呼ばれる値の2つの値が必要です。'vague'値はエフェクト全体で一定のままであり、'step'引数は0から始まり、数フレームにわたって255に増加します。次の動作を作成しようとしています。
*'step'の値よりも小さいマスクアルファ値を持つテクセルは、ゼロアルファで描画します。
*「step」+「vague」より上のマスクアルファ値を持つテクセルは255アルファで描画します。
*'step'と('step' +'vague')の間の範囲のマスクアルファ値を持つテクセルは、alpha' step'がゼロalphaであり、alpha('step' +'vague')がで描画するようにスケーリングされたalphaで描画します最大アルファ。
言葉で説明するのは難しいので、これは関数を示すグラフです:
http://imageshack.us/photo/my-images/834/desiredalphamaskfunctio.png/
私が遭遇している主な問題は、中間範囲(stepとstep + vagueの間)が0から255の間の値を「ストレッチ」するようにテクスチャステージを構成する方法を理解できないことです。直接的なものはありません。除算または乗算、変調だけなので、明白な方法でそれを行うことはできませんが、まだ私には起こっていない方法があると確信しています。(私はD3DTOP_MULTIPLYADDにいくらかの希望を持っていましたが、「乗算」は単なる別の変調であることが判明しました。)
誰かアイデアはありますか?
アドバイスをよろしくお願いします。
c# - 隠されたボタンを見つける
私は過去にpartypokerで遊んだり、自分のウィンドウアレンジャーを書いたりしました。見えるボタンに基づいて窓を配置しましたが、今日は別の部屋に切り替えました。
問題は、 spy++でボタンが見つからないことです。spy++はボタンがあることを認識しません。一部のボタンはspy++で見つけることができますが、必要なボタンではありません
この隠しボタンを見つける方法はありますか?
directx - .FX ファイルはほとんど読み込まれず、正しく動作しない
基本的に、アニメーションを含む .x ファイル モデル クラスを作成し、各モデル クラスにはエフェクト ファイル クラスへのポインタがあるため、さまざまなモデルを多数作成し、たとえば、グローのような単一のエフェクトをすべて使用するようにします。問題は私DrawSubset()
の.fxファイルの90%(FX composerBegin()
とEnd()
Rendermonkeyで作ってみた、サンプルを読み込んでみた、単純なものでも)それらが読み込まれず、効果がnullであり、何かがロードされた場合、すべてのジオメトリが灰色になるか、その一部がスライスされます.これは基本的に私のコードです(ああ、d3dデバイスポインターは適切に設定されています,心配しないでください,問題はありませんそこの):
関数本体の場合:
モデル クラスでは、次のようにレンダリングされます。
.fx ファイルに表示される内容に応じて、cPasses でさまざまな値を試してみましたが、実際には違いはありません..fx ファイルがなければ、.x ファイルはテクスチャとアニメーションで完全にレンダリングされます...これは非常に難しいもので、DirectX で最も紛らわしい部分のようです!