4

まず、WPF アプリケーションで OpenTK を使用していますが、これはより一般的な OpenGL のものだと思います。

私のアプリケーションでは、3D のものをテクスチャにレンダリングできるようにしたいと考えています。画面上のウィンドウやコントロールへの出力は必要ありません。バックグラウンド テクスチャにレンダリングしたいだけです。

では、それを行うには OpenGL をどのように設定すればよいですか? 通常、graphicscontext は devicecontext をパラメーターとして作成する必要があります。しかし、私の場合、デバイスコンテキストに出力したくありません。また、ウィンドウやディスプレイに関係のない設定 (fe 1024x1024、32bpp、32 ビット ZBuffer) で固定サイズの FrameBufferObject にレンダリングしたいと考えています。

誰でもこのようなセットアップの経験があることを願っています:)

4

1 に答える 1

3

コンテキストの作成は、OpenGLAPI自体の範囲外です。GLコンテキストは、Windows GDI、X11 / GLX、Quartz/AGLなどのターゲットグラフィックシステムによって作成されます。現在、PBuffersと呼ばれる概念があります。これを使用して、ウィンドウに関連付けられていないHWアクセラレーションされたOpenGLコンテキストを作成できます。ただし、PBufferは通常、拡張機能としてのみアクセスできるため、これまでに取得するにはOpenGLコンテキストが必要です。解決策は、画面に表示する必要のないダミーウィンドウを作成することです。このウィンドウを使用して、拡張機能を取得するためのダミーGLコンテキストを作成します。次に、それを使用して、PBufferとそのPBufferのOpenGLコンテキストが作成されます。

ただし、FBOを使用する場合は、PBufferフープをジャンプする必要はありません。レンダリングターゲットがFBOになるため、OpenGLコンテキストを持つ非表示のダミーウィンドウも同様に機能します。

于 2011-01-07T00:01:17.290 に答える