APR
9
2006

Calgary

Oh, sure, normally when you go to visit your friends they take you down to see the city they live in, hang out with their friends and so on. It's no different when I come to see aseigo, but we do all that while protesting. We went on a protest against the seal hunt today. P-man came with us carrying a plush seal toy. I think that image will define "cute" for me from now on (and being a member of the "cute 4" I know cute when I see it). In general it went very well which is just great.
This trip has so far been pretty amazing. I found out that I'm coming to Calgary last Friday and had 2 days to prepare. Then I found out that I'm speaking at the local LUG about computer graphics, which by the way was great. I got free Snapples and Kinder Buenos out of it which is really all I want from life. Working laptop, Snapple ice-tea, some candy, skateboard, protest for a good cause from time to time and I'm one content dude. Missing out on the first of those right about now but a man can't have everything.

During the last weekend I wrote a new application, an OpenGL extension browser. It allows you to quickly browse through all the latest OpenGL specs and lists the ones supported on your system. It looks more less like this (except of course that your laptop is most likely not broken so you won't get all the neat garbage that you get to see on that image). The app itself is here. In coding related news we're working on Plasma and finally got some ideas down that look pretty solid. Now it's only a matter of implementing them =)

Comments

Have you considered integrating this app into KDE Solid? It would seem that the OpenGL extension browser is hardware dependent and thus belongs there.


By vladc at Sun, 04/09/2006 - 16:06

No, not really. It's just like having an application to browse through W3C TR's. Just because the browser on your systems supports only two, it doesn't mean that you don't want to or shouldn't be able to view all other specs.
Plus how many people reads OpenGL specs? Definitely not enough to have this app in the core KDE distribution.


By zack rusin at Sun, 04/09/2006 - 17:08

Thanks, that makes sense. I just thought it might be useful for Solid to provide runtime detection of the hardware's OpenGL capabilities so that graphics-intensive apps can determine how much eye-candy to display.


By vladc at Sun, 04/09/2006 - 17:34

I just attempted to build this app, it won't build with qt3, so I tried qt4, and it failed:


[email protected] ~/openglextensions $ make
g++ -c -pipe -g -Wall -W -D_REENTRANT -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/doc/qt-4.1.1/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4 -I. -I/usr/include -I. -I. -o mainwindow.o mainwindow.cpp
mainwindow.cpp: In member function ‘void MainWindow::extensions(OGLExtensions*)’:
mainwindow.cpp:34: error: ‘class QSortFilterProxyModel’ has no member named ‘setDynamicSortFilter’
mainwindow.cpp:35: error: ‘class QSortFilterProxyModel’ has no member named ‘setSortCaseSensitivity’
mainwindow.cpp: In member function ‘void MainWindow::setupUi()’:
mainwindow.cpp:116: error: ‘class QTreeView’ has no member named ‘setSortingEnabled’
mainwindow.cpp: In member function ‘void MainWindow::find(const QString&, bool, bool)’:
mainwindow.cpp:220: error: variable ‘QTextCursor c’ has initializer but incomplete type
mainwindow.cpp:220: error: invalid use of undefined type ‘struct QTextCursor’
/usr/include/qt4/QtGui/qtextformat.h:51: error: forward declaration of ‘struct QTextCursor’
mainwindow.cpp:226: error: incomplete type ‘QTextCursor’ used in nested name specifier
mainwindow.cpp:228: error: variable ‘QTextCursor newCursor’ has initializer but incomplete type
mainwindow.cpp:239: error: no matching function for call to ‘QTextDocument::find(const QString&, , QFlags&)’
/usr/include/qt4/QtGui/qtextdocument.h:134: note: candidates are: QTextCursor QTextDocument::find(const QString&, int, QFlags) const
/usr/include/qt4/QtGui/qtextdocument.h:135: note: QTextCursor QTextDocument::find(const QString&, const QTextCursor&, QFlags) const
mainwindow.cpp:242: error: variable ‘QTextCursor ac’ has initializer but incomplete type
mainwindow.cpp:244: error: incomplete type ‘QTextCursor’ used in nested name specifier
mainwindow.cpp:244: error: incomplete type ‘QTextCursor’ used in nested name specifier
mainwindow.cpp:245: error: no matching function for call to ‘QTextDocument::find(const QString&, , QFlags&)’
/usr/include/qt4/QtGui/qtextdocument.h:134: note: candidates are: QTextCursor QTextDocument::find(const QString&, int, QFlags) const
/usr/include/qt4/QtGui/qtextdocument.h:135: note: QTextCursor QTextDocument::find(const QString&, const QTextCursor&, QFlags) const
mainwindow.cpp:257: error: no matching function for call to ‘QTextEdit::setTextCursor()’
/usr/include/qt4/QtGui/qtextedit.h:112: note: candidates are: void QTextEdit::setTextCursor(const QTextCursor&)
distcc[20597] ERROR: compile mainwindow.cpp on localhost failed
make: *** [mainwindow.o] Error 1


By tomasu at Mon, 04/10/2006 - 04:02

Doesn't compile for me either.
I have qt-4.1.2 without the qt3-compatibility installed in /opt/qt4/


By Damjan Georgievski at Tue, 04/11/2006 - 17:11