FLTK + OpenGL - 未绘制矩形
Posted
技术标签:
【中文标题】FLTK + OpenGL - 未绘制矩形【英文标题】:FLTK + OpenGL - rectangle not drawn 【发布时间】:2014-11-25 23:42:18 【问题描述】:我使用 OpenGL 有一段时间了,现在我想将它与 FLTK 结合使用。我继承了Fl_Gl_Window
并实现了draw方法:
void MainWindow::draw()
if(!valid())
// Setup
glEnable(GL_DEPTH_TEST);
glViewport(0,0,w(),h()); // At runtime W()=800, h()=600
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,w(),0,h(),1,1000);
gl_color(FL_BLUE);
gl_rect(0,0,w(),h());
我已经读过这种方式,甚至不需要在绘制之前清除颜色,也不需要交换缓冲区(它是一个双缓冲窗口)。事实上,我看到窗口默认为黑色,无需调用glClear
和glColor
。但是,矩形没有被绘制出来,我得到一个全黑的窗口。
这就是我实例化窗口的方式:
int main(int argc, char **argv)
MainWindow* w= new MainWindow(50,100,width,height,"Test Window");
w->end();
w->show(argc,argv);
return Fl::run();
【问题讨论】:
【参考方案1】:绘制对象不显示在屏幕上的可能原因:
对象不是attach()
-ed 到窗口对象。
对象在窗口外的坐标。
【讨论】:
以上是关于FLTK + OpenGL - 未绘制矩形的主要内容,如果未能解决你的问题,请参考以下文章