2

我在 OS X 10.7、OpenGL 版本 3.x 上使用OpenGLglfw的绑定。

我启用GL_SCISSOR_TEST并将剪刀矩形设置为(0, 0, 1, 1). 但它对渲染绝对没有影响——整个视口正在更新。

这是代码:

gl.Enable(gl.SCISSOR_TEST)
gl.Scissor(0, 0, 1, 1)
fmt.Printf("scissor enabled = %v\n", gl.IsEnabled(gl.SCISSOR_TEST))
box := make([]int32, 4)
gl.GetIntegerv(gl.SCISSOR_BOX, box)
fmt.Printf("scissor box = %v\n", box)

控制台输出:

scissor enabled = true
scissor box = [0 0 1 1]

我不知道该怎么做。glIsEnabled()两者都报告正确值的事实glGetIntegerv()使我认为仍然缺少一些激活剪刀测试所必需的状态。我尝试为模板启用GL_STENCIL_TEST和初始化glfw1 位和 8 位,但仍然没有效果,尽管glIsEnabled(GL_STENCIL_TEST)返回true.

4

0 回答 0