summaryrefslogtreecommitdiffstats
path: root/progs/beos/GLInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'progs/beos/GLInfo.cpp')
-rw-r--r--progs/beos/GLInfo.cpp43
1 files changed, 36 insertions, 7 deletions
diff --git a/progs/beos/GLInfo.cpp b/progs/beos/GLInfo.cpp
index b8788decd29..cfa8c83af82 100644
--- a/progs/beos/GLInfo.cpp
+++ b/progs/beos/GLInfo.cpp
@@ -12,6 +12,12 @@
#include <String.h>
#include <GL/gl.h>
+#include <GL/glu.h>
+
+#define GLUT_INFO 1
+#ifdef GLUT_INFO
+ #include <GL/glut.h>
+#endif
class GLInfoWindow : public BWindow
@@ -66,11 +72,7 @@ GLInfoWindow::GLInfoWindow(BRect frame)
// gl->LockGL();
- s = (char *) glGetString(GL_RENDERER);
- if (!s)
- goto error;
-
- list->AddItem(new BStringItem(s));
+ list->AddItem(new BStringItem("OpenGL", 0));
s = (char *) glGetString(GL_VENDOR);
if (s) {
@@ -92,7 +94,7 @@ GLInfoWindow::GLInfoWindow(BRect frame)
s = (char *) glGetString(GL_EXTENSIONS);
if (s) {
- list->AddItem(new BStringItem("OpenGL Extensions", 1));
+ list->AddItem(new BStringItem("Extensions", 1));
while (*s) {
char extname[255];
int n = strcspn(s, " ");
@@ -105,9 +107,36 @@ GLInfoWindow::GLInfoWindow(BRect frame)
}
}
+ list->AddItem(new BStringItem("GLU", 0));
+ s = (char *) gluGetString(GLU_VERSION);
+ if (s) {
+ l = ""; l << "Version: " << s;
+ list->AddItem(new BStringItem(l.String(), 1));
+ }
+
+ s = (char *) gluGetString(GLU_EXTENSIONS);
+ if (s) {
+ list->AddItem(new BStringItem("Extensions", 1));
+ while (*s) {
+ char extname[255];
+ int n = strcspn(s, " ");
+ strncpy(extname, s, n);
+ extname[n] = 0;
+ list->AddItem(new BStringItem(extname, 2));
+ if (! s[n])
+ break;
+ s += (n + 1); // next !
+ }
+ }
+
+#ifdef GLUT_INFO
+ list->AddItem(new BStringItem("GLUT", 0));
+ l = "API version: "; l << GLUT_API_VERSION;
+ list->AddItem(new BStringItem(l.String(), 1));
+#endif
+
// gl->UnlockGL();
-error:
UnlockLooper();
}