ASPit - Totally ASP
Search PHPit

Use this textbox to search all the content on PHPit. Seperate keywords with a space.

Advertisements
Partners
  • Car Rental London
  • Bakgrundsbilder
  • Bad Breath
  • Store Directory
  • Magazines

Linux 3D Graphics Programming

Medium Thumbnail

Book Details

Availability: Usually ships in 24 hours
List Price: $59.95
Our Price: $37.77
You Save: $22.18 (37%)

Buy through Amazon.com

Spotlight Customer Reviews

Average Customer Rating: 4.33

Customer Rating: 3
Summary: not what I expected
Comment: The author provides information on how to program 3D graphics in X-Windows rather than the OpenGL/GLUT standard. The end result tends to be over-achiever code, which can be hard to follow due to the lower level coding nature of X11.

In X11, its just too much code to do some stupid task like draw a few polygons in a window. You could cut the code almost in half by using OpenGL/GLUT, which is a much higher language style of coding than X11 is. Not to mention that the author goes overkill with the OOP implementation and more advanced C++ programming (the author makes an emphasis on C++, yet all his code contains no real definitive C++ architecture, its all regular C based, ex: scanf/printf instead of cout/cin).

Also, readability is an aspect definately not visible in the author's code. Lack of appropriate commenting & lack of appropriate simplicity in coding style makes the author's code somewhat ordane and hard to follow. Unless you have a good background in OOP then this book will simply confuse you to no end. Not that OOP is that hard or a bad thing, but it gets pretty complex fairly quickly, ESPECAILLY when your working with a GUI.

However, the author does provide a good array of the mathematics involved in the creation of 3D graphics, which is vital to be able to understand what your doing. As a prior VRML programmer, I could immediately tell that the author was going on a good track to explain some of the mathematics involved.

Acutally you might want to check out what X11 is all about first before you commit to learning to program under it:
First off, X11 is an entire GUI. We're talking fully loaded operating systems concepts at play here.
Secondly, you have to understand that to create 3D graphics you need two things: a GUI window messaging system (which is an entire API in and of itself, a good example being GLUT, GTK, etc.), & the actual graphics package (example being X11, OpenGL/Mesa, etc.).

What the author is actually doing in his code is using the graphics package embedded into X11 & in addition creating an ENTIRE almost overly-done OOP-based API-similar coding structure for the X11 GUI windowing system, all of this INTO ONE chunk of book...
Now, seriously, that is some pretty STEEP material to be covering in a graphics programming book. The OOP-based code for the X11 GUI windowing system that the author writes and has you writing is an equivalent of writing an entire API (like GLUT) from scratch... THATS PRETTY STEEP (but at least now you have an idea of what your going to be getting into if you buy this book).

So within 50 pages I had immediately noticed that the book would take quite an effort to learn the material, and program 3D graphics under X11... A simple analogy would be X11 is to Assembly Language as OpenGL/GLUT is to Visual Basic.

Honestly, with all the technologies/APIs available which take care of that underlaying overhead, unless your REAL goal is to learn X11, there is NO POINT in trying to re-program the wheel here.

Basically put, trying to learn X11 in both the GUI and 3D Graphics aspects, coupeled with the advanced OOP implementations, all together, its just TOO MUCH for somebody trying to learn 3D graphics programming from the beginning. A better approach would be to teach OpenGL/GLUT, or to just simply rename the book to something that makes a lot more sense to the subject matter covered (don't get me wrong, its not a horrible book, but this book is teaching you how to program 3D graphics using pure X11). For what the title implies, I do think it should of said something more like "core-X11 Linux 2D/3D Graphics & GUI Programming" as it would better fit the material covered in the book.

I guess, ultimately, I should of known more about what I was buying. So its my bad, but I am not trying to rate the book too harshly based on my bad luck, but it could of said a bit more specifically about what would be used to accomplish the task of the book, which, IMO, can easily be mis-interpreted. Good thing I posted this review, eh?

So if your looking to program graphics under X11 and program the core X11 GUI code, this book is what you want, otherwise, save your money for something more relevant.

Customer Rating: 5
Summary: Great (introduction) 3D Graphics Programming book
Comment: Norman Lin's Linux 3D Graphics Programming book is an excellent book for those with a programming background who wish to dive into the world of real time 3D graphics programming. The book is very well written and gives step by step explanations of all the concepts introduced as well as the most of the source code. 3D graphics is a complex subject and the author realizes that (lots of) hand-holding is very helpful in understanding the concepts introduced. This book covers the basics, i.e. rasterization, transformations, projections, and some modelling. In teaching all of these subjects, the author provides what is constantly missing from other books and what I feel is very important in the learning process - rationale for why things are done a certain way. The author clearly realizes this, and this is among the strongest points of the book. Other strong points of this book include:

1) Some books simply discuss the concepts behind 3D graphics without providing incite into actually implementing them, i.e. accessing the screen, creating offscreen buffers, which data structures are best suited for a task. This books, aimed toward novices, does both.

2) The author starts out by giving an introduction to graphics under Linux, with background on software as well as hardware rendering (using OpenGL/Mesa as well as the aging Glide API). This is great for those who aren't yet familiar with graphics under the Linux operating system.

3) The code is object oriented - the author dedicates a section to explain the benefits of an object oriented approach in creating a graphics library.

4) Software rendering is stressed, althrough hardware rendering is covered as well. Very important in creating a 3d engine - using OpenGL without understanding how it does the things it does will only get you so far.

5) The book is NOT just Linux specific. Linux is the author's choice of implementation but all the concepts can be applied to other operating system. The object oriented approach allows for the graphics library to be implemented in other OS's - the appendix even discusses compilation under Windows.

6) All tools to get started are available on the companion cd-rom as well as free on the internet. The source code used in the book, the Debian distribution of Linux, the compiler tools and libraries, and the modelling software Blender (for use in the chapter that discusses modelling) are all included.

7) The author is very knowledgable in Linux and is clearly a advocate for the operation system :).

The author assumes you are sufficient in C/C++ programming. This is a fair assumption as you really have to be in order to do graphics programming. Be warned however, that the source code may not compile right away under other Linux distributions besides Debian and newer versions of gcc. Some modifications in the source code (very minor) may be required in order for the code to compile correctly - something you should be able to do. If not, perhaps you should hold off on graphics programming and get some more programming experience first (harsh but true). All in all, Linux 3D Graphics Programming is an excellent introductory book.

Customer Rating: 4
Summary: Good book
Comment: This book is pretty good to get a novice up and running. Its definately not an advanced book so if you already know thsi stuff skip it.

But for beginners its a good place tro get started