我在 OS X 10.7、OpenGL 版本 3.x 上使用OpenGL和glfw的绑定。
我启用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
和初始化glfw
1 位和 8 位,但仍然没有效果,尽管glIsEnabled(GL_STENCIL_TEST)
返回true
.