Hi Martin,

I have a osgviewerGTK example waiting my attention in osg-submissions.
 I'm steadily working through the backlog on submissions and should
get to this today.

Robert.

2008/5/8 "Martin Großer" <[EMAIL PROTECTED]>:
> Hello,
>
>  I would like write a little gtk application to visualize a osg file. At the 
> moment my application can show me a OpenGL scene (DisplayList) and I use the 
> gtk (drawing area) and gtkglext-1.0.
>
>  Here a little abridgement.
>
>  [...]
>
>  // Window erzeugen
>     window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
>     g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK 
> (delete_event), NULL   );
>     g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy), 
> NULL);
>     gtk_container_set_border_width (GTK_CONTAINER (window), 10);
>
>                 // automatsiches Aktualisieren, wenn sich was bei den 
> Children ändert
>                 gtk_container_set_reallocate_redraws (GTK_CONTAINER (window), 
> TRUE);
>
>                 // GL Configuration
>                 GdkGLConfig *glconfig;
>                 // Doppelpuffer-Technik
>                 glconfig = gdk_gl_config_new_by_mode 
> ((GdkGLConfigMode)(GDK_GL_MODE_RGBA | GDK_GL_MODE_DEPTH | 
> GDK_GL_MODE_DOUBLE));
>                 if (glconfig == NULL ) // wenn Doppelpuffer nicht unterstützt 
> wird
>                 {
>                                 g_print ("ERROR: Doppelpuffer-Mode wird nicht 
> unterstützt.\n");
>                                 // Ohne Doppelpuffer konfigurieren
>                                 glconfig = gdk_gl_config_new_by_mode 
> ((GdkGLConfigMode)(GDK_GL_MODE_RGBA | GDK_GL_MODE_DEPTH));
>                                 if(glconfig == NULL) // wenn kein OpenGL 
> unterstützt wird
>                                 {
>                                                 g_print ("ERROR: OpenGL wird 
> nicht unterstützt.\n");
>                                                 exit (1);
>                                 }
>                 }
>
>
>                 // Drawing Area erzeugen
>                 drawing_area = gtk_drawing_area_new ();
>     gtk_widget_set_size_request (drawing_area, 800 , 600);
>
>                 // Drawing Area ermöglichen ein GL Context zu rendern
>                 gtk_widget_set_gl_capability (drawing_area, glconfig, NULL, 
> TRUE, GDK_GL_RGBA_TYPE);
>
>                 // Events mit Callbacks verknüpfen
>                 // Event zum ersten Initialisieren
>                 g_signal_connect_after (G_OBJECT (drawing_area), "realize", 
> G_CALLBACK(realize_main), NULL );
>                 // Event beim ändern des Fenster (z.B. hoehe oder breite)
>                 g_signal_connect (G_OBJECT (drawing_area),  
> "configure_event", G_CALLBACK(configure_event), NULL );
>                 // Event zum aktualiseren der Szene
>                 g_signal_connect (G_OBJECT (drawing_area), "expose-event", 
> G_CALLBACK (expose_event), NULL );
>
>  [...]
>
>  Is it useful?
>
>  Cheers,
>
>  Martin
>  --
>  GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
>  Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED]
>  _______________________________________________
>  osg-users mailing list
>  [email protected]
>  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to