深度& OpenGL和OpenCV中的缓冲区

时间:2015-06-11 03:48:08

标签: c++ opengl

我正在使用OpenGL和OpenCV在C ++中创建一个程序,它将在OpenCV的相机源中渲染3D对象。如果我只渲染一个对象,它就能很好地工作,但我不能给我的对象提供光照,因为每次启用$merge = $new; foreach($db as $item) { if (!in_array_r($item["pid"], $new)) { $merge[] = $item; } } function in_array_r($needle, $haystack, $strict = false) { foreach ($haystack as $item) { if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) { return true; } } return false; } 或任何与深度相关的东西时,3D对象都不会出现在窗口中。但是如果禁用深度测试,则对象显示为平坦。我还在GLUT_DEPTH_TEST中添加了GLUT_DEPTH,在glutInitDisplayMode添加了GL_DEPTH_BUFFER_BIT

我认为问题是因为我在程序中也使用了模板功能。我也将glClear放在GL_STENCIL_BUFFER_BIT中,但如果删除该程序则无效。任何人都知道如何解决这个问题?

0 个答案:

没有答案