問題タブ [direct3d]
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.
.net - Windowsフォームで画像にオーバーレイを描画する最速の方法
.net で画像に描画する最速の方法は何ですか?
Windowsフォームコントロールにある別の画像の上に画像を描画しようとしています。ループを使用して直接描画しようとすると、Eon がかかることがわかっています。
私が聞いたオプションは、GDI+、Direct Draw、または DX10 です。固定サイズのビットマップから始めて、3 つ以上のオーバーレイ、レイヤーを適用した後、フォーム オブジェクトに割り当てます。
ありがとう、
directx - さまざまな HLSL サンプラーの種類は何ですか?
私は現在 DX9/SM3 を使用していますが、HLSL サンプラーに関する MSDN ドキュメントには、さまざまなサンプラー タイプの使用方法の説明が非常に不足しているようです。さらに悪いことに、彼らは DX9 と DX10 を 1 つの記事でカバーしようとしているため、すべてのキーワードがごちゃまぜになっています。
sampler Name = SamplerType { Texture = < texture_variable >; [状態名=状態値;] ... };
...
サンプラーの種類
[in] 次のいずれかであるサンプラーの種類: sampler、sampler1D、sampler2D、sampler3D、samplerCUBE、sampler_state、SamplerState。
Direct3D 9 と Direct3D 10 の違い:
Direct3D 10 は、1 つの追加のサンプラー タイプをサポートします: SamplerComparisonState。
この書き込みに反して、SamplerState
DX10のみのような気がします。私が目にする事実上すべてのコードは、 SamplerType を使用sampler_state
しています。BasicHLSL (DX9) からの簡単な例:
sampler
さまざまな_SamplerType_s がすべて存在するのはなぜsampler2D
ですかsampler_state
。とにかくフェッチするときは明示的である必要があります。たとえばtex2D
、texCUBE
、では、ここで何が起こっているのでしょうか?
c++ - Direct3D、Axisを組み合わせて複数のIPカメラGUIを作成
今、私がやろうとしているのは、Axis IPカメラからのストリーミング画像を表示する新しいGUI、本質的にはdirectX(より正確にはdirect3D)を使用するソフトウェアを作成することです。
とりあえず、プログラム全体のフローは次のようになると思いました。1.Axisプログラムを取得してストリーミング画像を取得します。2。画像をDirect3Dプログラムに渡します。3.画面にプログラムを表示します。
現在、私はaviビデオからビデオフレームをロードして表示する(テスト用の)やや基本的なDirect3Dアプリを作成しました。DirectXを使用してビデオから直接画像をロードする方法がわからないため、OpenCVを使用してビデオからフレームを保存し、DXにアップロードさせました。非常に遅い。
現在、いくつか不明な点があります。1. C ++で動作するAxisプログラムを入手する方法(後で例を調べますが、大したことはありません)2.AxisIPカメラプログラムから直接画像をアップロードする方法。
では、私のプログラムをより効率的に機能させる方法について、何かアドバイスや提案はありますか?何でも私に知らせてください。
directx - DirectXでシーンの明るさ/コントラスト/ガンマを調整しますか?
D3DXのスプライトオブジェクトで満たされたDirect3Dアプリケーションで、明るさとコントラストをグローバルに調整できるようにしたいと思います。可能であれば、コントラストは重要です。
私はここでOpenGLについてこの質問を見ました:OpenGL でシーン全体の明るさ/ガンマを微調整します
しかし、それでは、DirectXのコンテキストで必要なものは得られません。これはおそらくピクセルシェーダーでもできることですが、バズーカでハエを撮影しているようで、ソフトウェアでシェーダーを実行する必要がある古いGPUとの下位互換性について心配しています。これは可能であるように思われます。元のHalfLifeのような古いゲームでさえ、シェーダーの時代よりずっと前にこのような設定があったことを覚えています。
編集:また、これはフルスクリーンアプリケーションではないため、1つのDirect3Dデバイスに影響を与えるだけで、モニター全体のグローバル設定ではないものである必要があることに注意してください。
c++ - D3DPT_TRIANGLESTRIPプリミティブ型を使用してDirectXで2つの切り離された長方形を描画する方法
私はDirectXを初めて使用し、を使用して1つのシーンに2つの長方形を描画しようとしていD3DPT_TRIANGLESTRIP
ます。1つの長方形は問題ありませんが、2つの長方形はまったく異なる球技です。D3DPT_TRIANGLELIST
はい、プリミティブ型で描画された4つの三角形を使用して描画できます。私の好奇心は、を使用することに関連する技術にありD3DPT_TRIANGLESTRIP
ます。私が使用している1つのRectangleに使用しているコードの一部は、D3DPT_TRIANGLESTRIP
次のとおりです。
より重要なコード...
次に、そのようにレンダリングします...
このモデルに基づいて、コードを簡単に複製し、カスタム頂点のx値とy値を変更して、別の頂点バッファーを作成すると、機能します。
個人的には、特に100個の長方形などを描画する必要がある状況を考えると、これは最善の方法ではないと感じています。問題は、私には他のアイデアがないということです。だから私の質問は、2つの長方形を描くための最も効率的な方法は何D3DPT_TRIANGLESTRIP
ですか?また、現在の長方形を複製および変換する方法はありますか?
directx - Direct3D による最も基本的な変換頂点描画
私は DirectX をまったく初めて使用するので、最も基本的な Direct3D 構成で (学習目的で) 変換されていないプリミティブを描画したいと考えています。変換された頂点 (D3DFVF_XYZRHW フラグが設定された頂点) を持ついくつかのプリミティブを既に描画しました。
現在、変換されていない頂点で同じ出力を取得しようとしていますが、画面にビジュアルが表示されません。FVF を変更して頂点を調整しましたが、変換マトリックス (ワールド、ビュー、投影) をまだ設定していません。これらのマトリックスのいずれかを設定する必要がありますか? 行列が設定されていない場合、変換された頂点と同じようにすべてが機能すると思いますが、明らかにそうではありません。
デフォルトで表示されるエリア (ワールド座標) は? それを機能させるために何をしなければなりませんか?
これは基本的に私がしていることです:
前もって感謝します!
編集:今、私はそれを手に入れました。照明が有効になりました。愚かな初心者の間違いです。とにかく助けてくれてありがとう!
direct3d - ログインしていないときに Direct3d を初期化する - または - Windows ログインを自動化する
ウィンドウを作成する必要がない場合でも、初期化の一部として Direct3d を初期化するアプリを使用するビルド プロセスを自動化する必要があります。
Windows タスク スケジューラ (XP 上) を使用してこのタスクを自動化しようとしています。デスクトップとの対話を許可するようにタスク スケジューラ サービスを構成しました。
私が直面している問題は、ユーザーが完全にログインしていない場合、またはユーザーがログインしていてもコンピューターがロックされているときにタスクが開始された場合、問題のアプリが失敗し、Direct3d が初期化に失敗したというメッセージが表示されることです。
誰でもこれを回避する方法を考えることができますか? いくつかの構成オプション (Windows、タスク スケジューラ、または DirectX) がありませんか? このアプリを起動する前に、Direct3d を強制的に初期化するためにできることはありますか? アプリを起動する前にユーザーがログイン (またはコンピューターのロックを解除) できるように、Windows ログオンをスクリプト化する方法はありますか?
最終的には、ユーザーを常にログインさせ、コンピューターのロックを解除したままにすることができますが、明らかにこれは望ましい解決策ではありません。
アイデアをありがとう!
3d - 3D モデリングの問題 - 再検討
これは私が投稿した以前の質問のフォローアップです。今回はより良い説明を付けてください。
人の目の動きを記録するピンホールカメラが取り付けられたメガネを作りました。カメラは目の下にあるため、目を見上げています。また、Y 軸 (つまり、カメラが左または右にわずかに傾いている) および Z 軸 (つまり、カメラが時計回りまたは反時計回りにわずかにねじれている) を中心にわずかに回転しています。
ビデオから、画像内のポイントのセットを抽出します。これは、ほぼ直線に見えるはずですが、カメラが人の目をまっすぐに見るように設定されていないため、そうではありません。
カメラの向きと、カメラが見ているイメージ ポイント IP1(x,y) を表す単位ベクトル U がわかっている場合、カメラが (0 、0、-z)?