红薯 在FLTK中使用OpenGL进行图形编程

在FLTK中很容易使用OpenGL进行图形编程的,我们只需要使用它的Fl_Gl_Window构件,重新定义一个派生于Fl_Gl_Window的类,重载draw()和handle()就可以。所需要的代码和步骤如下

注意

1. 编译时需要包含openGL32的库文件,名字在不同的平台名字稍微不同。

2. 使用<FL/gl.h>代替<GL/gl.h>头文件,不要使用后者的头文件。


标签: OpenGL FLTK


[代码] 包含以下头文件

1#include <FL/Fl.H>
2#include <FL/gl.h>
3#include <FL/Fl_Gl_Window.H>

[代码] 定义一个子类,如下代码所示

1class MYGLWindow : public Fl_Gl_Window
2{
3    void draw(); //作图操作
4    void handle( int ); //消息事件处理
5public :
6    MYGLWindow(int x,int y,int w,int h,const char *L) : Fl_Gl_Window(x,y,w,h,L){};
7};

[代码] 实现draw()事件

01void MYGLWindow::draw() //作图
02{
03    if ( ! valid() )
04    {
05        //设置viewport窗口大小等等 例如
06        /**********************************************
07        valid(1);
08        glLoadIdentity();
09        glViewport(0,0,w(),h());
10        ***********************************************/
11    }
12    //添加使用OPENGL作图操作
13    /** ……..*/   
14};

[代码] 事件处理实现

1void MYGLWindow::handle( int event) //事件处理
2switch (event)
3 case FL_PUSH :  //操作等
4                return 1;
5    case …….
6}
7}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值