5

OpenGL と C# には OpenTK を使用しています。

ステンシル バッファーを使用する必要があり、現在、StencilBuffer深さを設定する方法を考えています。

前に知っていたのは TaoFramework で、そのコントロールにはこの深さを設定できるプロパティがありました。

しかし、OpenTK の openGlControl では、そのようなプロパティが見つかりません。私が知っているように、現在設定されているバッファの深さはGL.GetInteger()、それに特別なパラメータを渡すメソッドを呼び出すことで取得できます。これを行うと、0 が返されます。これは、現在、ステンシル バッファーの深さがゼロであることを意味します。そのため、バッファーの深さが設定されるまで、操作の結果は得られません。しかし、これを行う方法がわかりません。

誰でも私を助けることができますか?

4

1 に答える 1

6

グラフィックコンテキストを作成するときに設定したようです:

http://www.opentk.com/doc/graphics/graphicscontext

そのドキュメントの上部近くに、次の例が示されています。

// Creates a 3.0-compatible GraphicsContext with 32bpp color, 24bpp depth
// 8bpp stencil and 4x anti-aliasing.
GLControl control = new GLControl(new GraphicsMode(32, 24, 8, 4), 3, 0);

これは典型的なことです -- OpenGL は基本的に、この種のことを OS 固有のコンテキスト作成タスクにパントします... したがって、たとえば OpenTK を使用していない場合は、wgl と Windows API を使用してこれを設定する必要があります。

于 2013-03-28T16:50:13.333 に答える