我在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
并使用1和8位初始化glfw
用于模板,但仍无效果,但glIsEnabled(GL_STENCIL_TEST)
返回true
。