Book on Graphics programming
I have well over 20 years programming in C and C++, but most of that has been systems programming. I have very little programming in a graphics environment. I've got a couple of projects where I would like to use a graphical rather than a text interface to some existing C and C++ programs. Does anyone have any recommendations for a C/C++ graphics programming book on Linux (maybe using KDE and QT). -- Jerry Feldman <gaf@blu.org> Boston Linux and Unix user group http://www.blu.org PGP key id:C5061EA9 PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9
On Dec 09, 2002, Jerry Feldman wrote:
I have well over 20 years programming in C and C++, but most of that has been systems programming. I have very little programming in a graphics environment. I've got a couple of projects where I would like to use a graphical rather than a text interface to some existing C and C++ programs. Does anyone have any recommendations for a C/C++ graphics programming book on Linux (maybe using KDE and QT).
You should start by having a look at qt, and their excellent docu: http://doc.trolltech.com/3.1/ -- Mads Martin Jørgensen, http://mmj.dk "Why make things difficult, when it is possible to make them cryptic and totally illogic, with just a little bit more effort?" -- A. P. J.
Thanks. I had seen that before, but forgot it. That's a good start. Mads Martin Joergensen wrote:
You should start by having a look at qt, and their excellent docu: http://doc.trolltech.com/3.1/ -- Jerry Feldman <gaf@blu.org> Boston Linux and Unix user group http://www.blu.org PGP key id:C5061EA9 PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9
IMHO I'd start with Java so it would be somewhat desktop independent. However it depends what kind of performance you seek. Java is C++-- and the graphics widgets are easy to use. You could link-in your C/C++ code using JNI. OK I feel a flame war brewing.... Jerry Feldman wrote:
Thanks. I had seen that before, but forgot it. That's a good start. Mads Martin Joergensen wrote:
You should start by having a look at qt, and their excellent docu: http://doc.trolltech.com/3.1/
I agree with you in principle. One of the applications I want to use for demo in class is available as a Java applet. I also think that Java is an excellent language. You won't get a flame from me. I think that Gosling & Co. solved some of the more difficult issues in C and C++ (such as the sizes of integrals: In C and C++, the size of a long may be either 32 bits on a 32 bit system or 64 bits on a 64 bit system, an int used to be 16 bits on a 16 bit system and is most commonly 32 bits today. I even remember an older compiler that had an 8 bit short :-). Because the applications themselves must be in C (for the class I teach), the graphics harness could very well be Java, but more realistically, I'll probably do it in QT. info wrote:
IMHO I'd start with Java so it would be somewhat desktop independent. However it depends what kind of performance you seek. Java is C++-- and the graphics widgets are easy to use. You could link-in your C/C++ code using JNI. OK I feel a flame war brewing....
-- Jerry Feldman <gaf@blu.org> Boston Linux and Unix user group http://www.blu.org PGP key id:C5061EA9 PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9
On Tuesday 10 December 2002 05:14, info wrote:
IMHO I'd start with Java so it would be somewhat desktop independent. However it depends what kind of performance you seek. Java is C++-- and the graphics widgets are easy to use. You could link-in your C/C++ code using JNI. OK I feel a flame war brewing....
Java is highly portable, but actually Qt (or GTK/<fill out your fav. toolkit here> for that matter) is too, as long as you're not using system-specific calls. I have bought the book "Programming with Qt" from O'Reilly about two years ago, but it's quite disappointing, since it's covers no areas Trolltech's tutorials don't. The docs have been quite satisfying for me, so far. -- tinus % echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq'|dc
On Dec 09, 2002, Martijn Houtman wrote:
On Tuesday 10 December 2002 05:14, info wrote:
IMHO I'd start with Java so it would be somewhat desktop independent. However it depends what kind of performance you seek. Java is C++-- and the graphics widgets are easy to use. You could link-in your C/C++ code using JNI. OK I feel a flame war brewing....
Java is highly portable, but actually Qt (or GTK/<fill out your fav. toolkit here> for that matter) is too, as long as you're not using system-specific calls. I have bought the book "Programming with Qt" from O'Reilly about two years ago, but it's quite disappointing, since it's covers no areas Trolltech's tutorials don't. The docs have been quite satisfying for me, so far.
Very true indeed. Qt is truly platform independant as long as you stick with Qt. And since they have all classes one could want, it's no problem. My ~3k line Qt application compiled out of the box on Linux, Win32 and MacOS X. -- Mads Martin Jørgensen, http://mmj.dk "Why make things difficult, when it is possible to make them cryptic and totally illogic, with just a little bit more effort?" -- A. P. J.
info wrote:
IMHO I'd start with Java so it would be somewhat desktop independent. However it depends what kind of performance you seek. Java is C++-- and the graphics widgets are easy to use. You could link-in your C/C++ code using JNI. OK I feel a flame war brewing....
Java is CRAP! I would not even look at anything other than Qt. Salman
On Tuesday 10 December 2002 23:22, Salman Khilji wrote:
info wrote:
IMHO I'd start with Java so it would be somewhat desktop independent. However it depends what kind of performance you seek. Java is C++-- and the graphics widgets are easy to use. You could link-in your C/C++ code using JNI. OK I feel a flame war brewing....
Java is CRAP! I would not even look at anything other than Qt.
Salman
I like C++ and Qt personally. However, let me relate a story that can explain why it can't be used sometimes. I was recently asked to do a small program for the church of which I am a member (for free). This program would be one that could be used by other churches as well with a little effort in the design, so I immediately thought "open source". It did require database access but wouldn't be hard to do in Qt 3.x and then could be cross platform (with little extra effort). It must run on Windows at a minimum, but I am a Unix/Linux type guy by background, training, and primary use. I contacted TrollTech and asked if and when we would be seeing a non-commercial release for Qt 3.x for Windows and received a reply stating that there would be no further non-commercial releases of Qt. I understand their logic in this decision and they attempted to hide nothing from me in this statement, so no hard feelings. However, this shot down the possibility of me being able to use Qt for this project and sent me back to JAVA (not my first choice, but one that supports crossplatform). The only other option that I found (which provides for cross platform and has cross platform database handling built in) was wxWindows. It seemed less likely to succeed than JAVA to me. Thus if you are planning on programming "open source" software, on any platform other than Linux, Qt isn't likely to be involved. I appreciate TrollTech providing their software for Linux to us for free, but I sure wish that I could have gotten it for Windows as well. -- Kelly L. Fulks Home Account
On Wednesday 11 December 2002 12:54, Kelly L. Fulks wrote:
I like C++ and Qt personally. However, let me relate a story that can explain why it can't be used sometimes.
I was recently asked to do a small program for the church of which I am a member (for free). This program would be one that could be used by other churches as well with a little effort in the design, so I immediately thought "open source". It did require database access but wouldn't be hard to do in Qt 3.x and then could be cross platform (with little extra effort). It must run on Windows at a minimum, but I am a Unix/Linux type guy by background, training, and primary use.
I contacted TrollTech and asked if and when we would be seeing a non-commercial release for Qt 3.x for Windows and received a reply stating that there would be no further non-commercial releases of Qt. I understand their logic in this decision and they attempted to hide nothing from me in this statement, so no hard feelings.
However, this shot down the possibility of me being able to use Qt for this project and sent me back to JAVA (not my first choice, but one that supports crossplatform). The only other option that I found (which provides for cross platform and has cross platform database handling built in) was wxWindows. It seemed less likely to succeed than JAVA to me.
Thus if you are planning on programming "open source" software, on any platform other than Linux, Qt isn't likely to be involved. I appreciate TrollTech providing their software for Linux to us for free, but I sure wish that I could have gotten it for Windows as well.
How about GTK? I've seen Windows applications using the GTK toolkit and they seemed to work pretty well. -- tinus ___________________________________________________ "Words are weightless here on earth Because they're free." -- Josh Homme % echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq'|dc
On Wednesday 11 December 2002 09:24, Martijn Houtman wrote:
On Wednesday 11 December 2002 12:54, Kelly L. Fulks wrote:
I like C++ and Qt personally. However, let me relate a story that can explain why it can't be used sometimes.
[stuff deleted for space sake]
Thus if you are planning on programming "open source" software, on any platform other than Linux, Qt isn't likely to be involved. I appreciate TrollTech providing their software for Linux to us for free, but I sure wish that I could have gotten it for Windows as well.
How about GTK? I've seen Windows applications using the GTK toolkit and they seemed to work pretty well.
But GTK doesn't offer a cross platform database access module. I have seen an used "The GIMP" on windows, but if I have to write separate database access systems, I could use Qt (which I prefer to GTK). I have done a little with both and feel that Qt is a little more elegant. Java isn't as elegant as Qt either, but it is available. -- Kelly L. Fulks Home Account
KLF> Thus if you are planning on programming "open source" software, KLF> on any platform other than Linux, Qt isn't likely to be involved. KLF> I appreciate TrollTech providing their software for Linux to us KLF> for free, but I sure wish that I could have gotten it for Windows KLF> as well. Borland offers and Open Edition of Kylix. But it looks like only the Linux part is open, you need to purchase the C++ Builder or Delphi on the Windows side. Argh! I wonder if the church purchases the software, if you'd get a nonprofit discount. There are some sites that only sell to educational institutions and nonprofits. Or, maybe you could find a friend to do the Windows part... "Borland® Kylix 3 Open Edition delivers an integrated ANSI/ISO C++ and Delphi language solution for building powerful open-source applications for Linux,® licensed under the GNU General Public License" http://www.borland.com/kylix/open/index.html -- __________________________ DJ mailto: linux_programmer@hotmail.com
On Wednesday 11 December 2002 11:48, DJ wrote:
KLF> Thus if you are planning on programming "open source" software, KLF> on any platform other than Linux, Qt isn't likely to be involved. KLF> I appreciate TrollTech providing their software for Linux to us KLF> for free, but I sure wish that I could have gotten it for Windows KLF> as well.
Borland offers and Open Edition of Kylix. But it looks like only the Linux part is open, you need to purchase the C++ Builder or Delphi on the Windows side. Argh! I wonder if the church purchases the software, if you'd get a nonprofit discount. There are some sites that only sell to educational institutions and nonprofits. Or, maybe you could find a friend to do the Windows part...
"Borland® Kylix 3 Open Edition delivers an integrated ANSI/ISO C++ and Delphi language solution for building powerful open-source applications for Linux,® licensed under the GNU General Public License" http://www.borland.com/kylix/open/index.html
This is the same as Qt. I can develop on Linux for free, but need to deploy on Windows as well. I am sure that the church could purchase the software and get a discount on it, but this project really doesn't have a budget. Thus free is necessary for development and "open source" is my way of giving back to those that provide what I need. I guess that this is a peek into the future of what could be for Linux. If Linux becomes popular enough to be the primary OS, then we will have trouble getting some of the free tools that we are accustomed to having while we are using "the young upstart OS". -- Kelly L. Fulks Home Account
crossplatform). The only other option that I found (which provides for c ross platform and has cross platform database handling built in) was wxWindows . It seemed less likely to succeed than JAVA to me.
cmiiw, but java can access any database as long as the jdbc driver is available (which is the case for mysql and postgres).
-- Kelly L. Fulks Home Account
-- +++ GMX - Mail, Messaging & more http://www.gmx.net +++ NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Min. surfen!
participants (8)
-
DJ
-
info
-
Jerry Feldman
-
Kelly L. Fulks
-
Mads Martin Joergensen
-
Martijn Houtman
-
Salman Khilji
-
Verdi March