As a developer with a number of ideas all having to do with 3D applications, I was searching for more info on Java3D. I was not even sure if I should use Java for it. Although being a Dutchman, my business as an independent trainer and developer is in the high-tech German automotive and appliances industry. Training and educating young German engineers in development and manufacturing of new high quality products.
So, there I was, having lots of ideas but no real base to build on. What I had were some plain Java books, of course the Java Tutorial and the Java 3D API Specification. Especialy the latter gives lots of information and is an excellent source of 3D coding, however, it is not an easy guide for a starting programmer. Anyway, you know how it is, if you go into detail, you're coming across many difficulties and problems. It usually takes lots of times to find out where something like your problem is described. And even if you find something similar, it might be in a completely other context, or you have to go through long code lists just to find a part of the solution.
Then, searching the Amazone site, I came along a new book called the Java 3D API Jump Start. I finished it in two main sessions, I believe it were two long evenings all together. The main advantage to me in the first place was that it re-assured me, Java3D was the way to go. It very well describes the history of Java3D, the backgrounds and developments under way, and the outlook in the future. All backed up by many pictures, lots of them in full color.
It is, of course, a book for beginning 3D programmers. So, it brings you quickly up to speed. The way the book deals with the various topics is the following. It describes details you ever wanted to know about, gives some code lines just fot that particular option and refers to the API's or free available examples on the web, for the neighbouring code lines. Just to give you an idea of some of the topics, it descibes very thoroughly things like Geometry Arrays and Utilities. There are, for instance, full code samples of building geometric shapes, using advanced tools like the automatic triangulator and the normal generator. Also it describes very well topics like Indexed and Stripped Geometry Arrays. Some of the highlights of the book to me are the chapters on lighting, transformations and behaviours.
The book refers also to the Jump Start web-site where the interested reader can find example programs together with the source codes. So, the book gives you exactly what it promises, a jump start into Java3D. It not only helps you to build your first 3D programs, but it tells you also how things work and why they should be programmed in their particular way.
Now that I have read the book, do I still have questions? Yes, lots of them. But that's the way it should be. After you have your first shapes moving across your screen, you want more. You like to add all those nice little things you only know about, and of course, these are nowhere described. But now you have at least gained experience and increased your knowledge of Java3D, which makes it easier to find solutions elsewhere. And, hopefully the authors of this book Aaron E. Walsh and Doug Gehringer will make some efforts to write their next one on advanced Java3D programming.