gtkglarea r103 - trunk/examples
- From: samh svn gnome org
- To: svn-commits-list gnome org
- Subject: gtkglarea r103 - trunk/examples
- Date: Tue, 1 Apr 2008 14:25:22 +0100 (BST)
Author: samh
Date: Tue Apr 1 14:25:21 2008
New Revision: 103
URL: http://svn.gnome.org/viewvc/gtkglarea?rev=103&view=rev
Log:
* Proper GL shader extensions checks for the shader example, courtesy of
Ãric Beets.
Modified:
trunk/examples/shaders.c
Modified: trunk/examples/shaders.c
==============================================================================
--- trunk/examples/shaders.c (original)
+++ trunk/examples/shaders.c Tue Apr 1 14:25:21 2008
@@ -35,6 +35,7 @@
#include <gtkgl/gtkglarea.h>
#include <stdlib.h>
+#include <string.h>
void create_shader (void);
@@ -74,6 +75,20 @@
}
}
+/********************************************************/
+/* */
+/* Function : check_extension(void) */
+/* */
+/* This function checks for a given GL extension */
+/* */
+/********************************************************/
+
+int check_extension(char const *name)
+{
+ const char *glExtensions = (const char *)glGetString(GL_EXTENSIONS);
+ return (strstr(glExtensions, name) != NULL);
+}
+
/*******************************************************/
/* */
/* Function: shader_status(int) */
@@ -342,9 +357,14 @@
create_texture_2D ();
- /* Create and Activate shaders */
+ /* Check, Create and Activate shaders */
- create_shader();
+ if(!check_extension("GL_ARB_fragment_shader"))
+ fprintf(stderr, "Warning: GL_ARB_fragment_shader extension not present\n");
+ else if(!check_extension("GL_ARB_vertex_shader"))
+ fprintf(stderr, "Warning: GL_ARB_vertex_shader extension not present\n");
+ else
+ create_shader();
/* Activate and parameterization texture context */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]