c# - OpenTK 中的模板缓冲区深度

标签 c# opengl opentk tao-framework

我正在为 OpenGL 和 C# 使用 OpenTK。

我需要使用模板缓冲区,目前想知道如何设置 StencilBuffer 深度。

我之前知道的是 TaoFramework,它的控件具有可以设置此深度的属性。

但是现在在 OpenTK 的 openGlControl 中我找不到这样的属性。据我所知,当前设置的缓冲区深度可以通过调用传递给它特殊参数的 GL.GetInteger() 方法来获得。 当我这样做时,它返回 0。这意味着当前模板缓冲区深度为零,因此在设置某些缓冲区深度之前,任何操作都不会产生结果。但我无法找到如何执行此操作。

谁能帮帮我?

最佳答案

看起来你在创建图形上下文时设置了它:

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 基本上将这类事情放到特定于操作系统的上下文创建任务中……因此,如果您不使用 OpenTK,例如,您必须使用 wgl 和 Windows api 进行设置.

关于c# - OpenTK 中的模板缓冲区深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15550599/

相关文章:

java - 显示列表和 VBO OpenGL/LWJGL

c# - VBO 或显示列表 - GPU 兼容性

c# - 如何加入重叠的圈子?

c# - Carbon ReceiveNextEvent 和辅助线程

c# - 当我们使用 new 关键字创建新的 DateTime(对象)时

c# - DataGridView - 添加到 DataSource 不反射(reflect)控件中的更改

c# - 如何在 winform 中关闭所有打开的对话框的主窗体

c# - 如何从 C# 中的文件/流读取 Pkcs#7 证书链?

c++ - Qt OpenGL DrawElements 不绘制第二个三角形

arrays - glVertexAttribPointer状态是否绑定(bind)到当前的GL_ARRAY_BUFFER?