Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Linux C+上Gtkmm中的OpenGL模具缓冲区+;_C++_Linux_Opengl_Gtk_Stencil Buffer - Fatal编程技术网

C++ Linux C+上Gtkmm中的OpenGL模具缓冲区+;

C++ Linux C+上Gtkmm中的OpenGL模具缓冲区+;,c++,linux,opengl,gtk,stencil-buffer,C++,Linux,Opengl,Gtk,Stencil Buffer,我一直在尝试为一个学校项目生成带有模板缓冲区的反射。我遵循本教程:它描述了如何通过在平面上反射场景并再次绘制来创建反射,然后剪裁反射以去除突出部分来创建反射。 我遵循了教程,但没有剪辑,反射完整显示。我尝试了以下方法: int i; glGetIntegerv(GL_STENCIL_BITS,&i); std::cout << "Stencil bits is " << i << std::endl; inti; glGetIntegerv(GL_模

我一直在尝试为一个学校项目生成带有模板缓冲区的反射。我遵循本教程:它描述了如何通过在平面上反射场景并再次绘制来创建反射,然后剪裁反射以去除突出部分来创建反射。
我遵循了教程,但没有剪辑,反射完整显示。我尝试了以下方法:

int i;
glGetIntegerv(GL_STENCIL_BITS,&i);
std::cout << "Stencil bits is " << i << std::endl;
inti;
glGetIntegerv(GL_模具位和i);

看了j-p的回答后,我意识到我找错地方了。项目中给了我一些启动代码,所以我忽略了glContext的设置。我需要做的是:

glconfig = Gdk::GL::Config::create(Gdk::GL::MODE_RGB |
                                 Gdk::GL::MODE_DEPTH |
                                 Gdk::GL::MODE_DOUBLE |
                                 Gdk::GL::MODE_STENCIL );

添加了Gdk::GL::MODE_模具标志以在Gtk中启用模具模式。注意,这是非常特定于库的

你能发布你的代码吗?当你初始化你的opengl上下文时,你设置了位平面数。所以如果你能发布你的opengl上下文创建代码,我可以帮你。。。