問題タブ [ogre3d]
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.
windows - OGRE エンジンは任意のウィンドウにレンダリングできますか?
内部で OGRE を使用する小さなプラグイン型のグラフィック エンジン インターフェイスを作成しています。これは、Windows または Linux でプログラムを作成する人が、私のプラグインを使用して必要なグラフィックス レンダリングを実行できるようにするというものです。
実際、GDI と D3D 呼び出しを使用して描画を行う Windows アプリが既に存在します。これを変更して、OGRE を使用して描画できるようにする必要があります。
私が困惑しているのは、アプリが VC++ でプログラムされているため、Windows スタイルのメニューと描画用のクライアント領域があることです。しかし、OGRE はレンダリング用に独自のウィンドウを作成するため、アプリのウィンドウのクライアント領域のハンドルを OGRE に送信することは可能で、OGRE はウィンドウのクライアント領域ですべての描画を行いますか?
私は Windows プログラミングが初めてで、少し時間の制約があるため、ここで質問する必要がありました。
windows - Visual Studio を使用して Windows で OGRE をビルドする方法は?
これが、Windows に OGRE をインストールするのに苦労している多くの人々の助けになることを願っています。私はそうしました、そして、私は他の誰にも同じ量の拷問を受けさせたくありません.
他の Web サイトで説明されているよりも多くの手順と詳細を説明することで、この説明を他とは違うものにしようとしました。他の人が記録することさえ考えもしなかったであろう問題と解決策。
c++ - Ogre 3d:RenderWindowよりも大きいRenderTexture
私は2つの鬼のアプリケーションを持っています:
1)サブアプリケーション。ウィンドウとテクスチャにレンダリングします(同じカメラを使用)。テクスチャは共有メモリに「エクスポート」されます(Linuxではshm)
2)メインアプリケーション。プレーンは(1)「サブアプリケーション」で何が起こっているかを示し、共有メモリからテクスチャをロードします。
(1)がレンダリングするテクスチャは、(2)の平面で使用されるテクスチャと同じサイズです。例:512x512
RenderWindowがRenderTextureより大きいか等しい場合、すべて正常に機能します。(1)で見たものは、まともなfpsで(2)平面に反映されます。共有メモリは強力です!
ただし、レンダリングウィンドウがテクスチャよりも小さい場合は、テクスチャの一部のみが更新されます。
これが私に起こっていることです:
いくつかの例は1x1ウィンドウと大きなレンダリングテクスチャを示しているので、ウィンドウよりも大きなレンダリングテクスチャを持つことは可能だと思います。
ウィンドウの作成方法は次のとおりです。
レンダリングテクスチャは次のように作成されます。
これは私がレンダリングテクスチャを更新する方法です:
RenderWindowとRenderTextureの説明を読んで、これは私が期待していることではありません。だから...これは鬼のバグですか、それともopenglですか?それとも私はそれを間違っていますか?
- OS:Linux
- 鬼:バージョン1.7.3(Cthugha)
- GL_VERSION = 4.0.0 NVIDIA 256.53
c++ - ogre のビューポート ピクセル値にアクセスする
私は C++ を使用して ogre プロジェクトに取り組んでいます。通常は viewport:setbackground() を使用しますが、これによりウィンドウ全体が同じ色になります。今回は、ビューポートのピクセルごとに異なる R、G、B の値を読み込みます。私のウィンドウは 600*600 で、ピクセルごとに RGB 値をロードする必要があります。どうすればこの質問を解決できますか?
c++ - OGREで動的テクスチャを作成しているときに間違ったRGBを取得する
こんにちは、鬼のウィンドウの背景として割り当てる動的テクスチャを作成しようとしているときに問題が発生しました。テクスチャの各ピクセルに動的に値を割り当てたいので、このテクスチャを背景として使用します。このコードを使用して動的テクスチャを作成します。
このコードでは、各値に青(R:0 G:0 B:255)を割り当てます。私は青い窓でいっぱいになることを期待していますが、青い背景の代わりに、写真に見られるこの背景を取得します。
青い背景の代わりに、私が得たテクスチャには3つの異なる色のタイプがあり、それらは常に連続して繰り返されます。青いピクセルは真ですが、他の2色も同様に青になります。この問題の原因を見つけることができません。私に何ができる?間違った部分は何ですか?
c++ - OGRE アプリケーションのフレームレートを取得および変更するにはどうすればよいですか?
ウィンドウの背景としてリアルタイムビューを設定するOgreアプリケーションに取り組んでいます。ただし、RenderTarget::getAverageFPS() を使用してアプリケーションのフレーム レートを取得しようとすると、19.7433 になるという疑問があります。これは正しいフレームレートですか?このフレームレートをたとえば 30fps または 40fps に変更するにはどうすればよいですか?
ogre3d - 鬼でステンシルバッファマスクを使用するには?
ステンシル バッファを使用して OGRE でマスクを作成する方法は?
つまり、一部のオブジェクトを最初にステンシル バッファーにレンダリングし、マスクを生成する必要があります (たとえば、0 は背景、0xFF は前景です)。次に、ステンシル バッファーをマスクとして使用してシーン自体をレンダリングし、0xFF のピクセルのみがレンダリングされるようにします。
RenderQueueListener を使用する必要があると思いますが、機能させることはできません。これが私が今していることです:
そして、ステンシル バッファーにレンダリングする必要があるエンティティを次のように設定します。
私は何を間違っていますか?これがOgreでどのように行われるかの例はありますか? ありがとう!
参考までに、これは私が純粋な OpenGL で行う方法です。
ogre3d - デフォルトでogre3dマテリアル?
一部のモデルを *scene_manager* に追加すると、テクスチャがデフォルトでそこにあることがわかりました。 setMaterialNameを設定する必要はありません。これはどのように?自動割り当てされるメッシュまたはマテリアル名に含まれていますか?
c++ - opencv フレームのロード中の ogre の loadRawData メモリの問題
OpenCV を使用してリアルタイムで画像をキャプチャしており、これらの画像を背景として OGRE ウィンドウに表示したいと考えています。そのため、フレームごとに背景が変わります。
MemoryDataStream
とともに使用して画像を OGRE ウィンドウにロードしようとしてloadRawData
いますが、次のエラーが発生します。
OGRE EXCEPTION(2:InvalidParametersException): ストリーム サイズが、../../../../../OgreMain/src/OgreImage.cpp の Image::loadRawData で計算された画像サイズと一致しません (283 行目)
画像は、サイズが 640x480 の OpenCV から取得され、OpenCV 2.3frame->buffer
の一種です。Mat
また、OpenCV で使用したピクセル形式は次のとおりですCV_8UC3
(つまり、各ピクセルは 8 ビットで、各ピクセルには 3 つのチャネルが含まれます ( B8G8R8 ) )。
このメモリエラーが常に発生するのはなぜですか?