2017-07-18 10 views
-1

多くの3Dエディタと同様に、ウィンドウのどこかにOpenGLビューポートがあり、残りのウィンドウにはWindowsコントロールが含まれています。それ、どうやったら出来るの?これまでは、OpenGLがその領域のすべてにレンダリングするウィンドウを作成しました。ウィンドウ全体を占有していないOpenGLビューポート?

+0

Windows APIでOpenGLウィンドウを作成することができました。これは世界で最も簡単なことではないため、「glViewをどのように呼び出すのですか」という質問はそれほど簡単ではないと思いました。正しい? – Buster

+1

それは私の質問ではありませんでした。 (あなたはすでにそれに答えました:p) – Pilpel

答えて

2

OpenGL経由以外のOpenGLウィンドウにレンダリングを避けるために、より良いですが、コントロールは、自分の右にある子ウィンドウなので、単純に親ウィンドウの一部にレンダリング問題はないはずです(glViewPortはを支援することができますそれ)。 Windowsは親ウィンドウの上にコントロールを描画します。また、独自の子ウィンドウを作成し、その子ウィンドウにOpenGLコンテキストを添付することもできます。その後、子ウィンドウ全体にレンダリングできます。

+0

ほとんどの編集者がどのアプローチを使用しているか知っていますか? – Pilpel

+0

私はBlendrがWindowsコントロールなしで完全にOpenGLでレンダリングすることを知っています。それ以外の場合は、 – Buster

+2

私は、UnrealEngineがすべてのコントロールをレンダリングする単一のウィンドウを持っていることを知っています。だから私は、大部分の3Dエンジン/編集者は、単一のD3DまたはOpenGLサーフェスを使用し、独自のウィジェットをレンダリングすると思います。つまり、伝統的なコントロールを使用してエディタを作成し、いくつかのOpenGLの子ウィンドウでミックスするのに間違いはないはずです。 –

関連する問題