Simple OpenGL example

This example shows how to use Fl_Gl_Window widget.

 1 #pragma package ".."
 2 
 3 #include "chfltk.h"
 4 #include "GL/gl.h"
 5 #include "GL/chgl.h"
 6 #include <stdio.h>
 7 #include <stdlib.h>
 8 
 9 void draw_cb(ChFl_Gl_Window *g) {
10   Fl_Group *gg = (Fl_Group*)g;
11   if (!g->get_valid()) {
12       g->valid(1);
13       glLoadIdentity();
14       glViewport(0,0,gg->w(),gg->h());
15       glOrtho(-gg->w(),gg->w(),-gg->h(),gg->h(),-1,1);
16   }
17     glClear(GL_COLOR_BUFFER_BIT);
18     glColor3f(1.0, 1.0, 1.0);
19   glBegin(GL_LINE_STRIP); glVertex2f(gg->w(), gg->h()); 
20                           glVertex2f(-gg->w(),-gg->h()); glEnd();
21   glBegin(GL_LINE_STRIP); glVertex2f(gg->w(),-gg->h()); 
22                           glVertex2f(-gg->w(), gg->h()); glEnd();
23 }
24 
25 int main(int argc, char *argv[])
26 {
27   ChFl_Gl_Window *window = new ChFl_Gl_Window(300, 300);
28   window->draw_callback(draw_cb);
29   window->show(argc, argv);
30   Fl::run();
31   exit(1);
32   return 0;
33 }

Copyright 2006 Roman Putanowicz

Email: putanowr at twins.pk.edu.pl

Last Modified: Thu, 29 Jun 2006 18:01:59 CEST

Made with PubTal 3.1.3