AARON E. WALSH is Chairman of Mantis Development Corporation, a development firm specializing in advanced multimedia and network technologies. An active member of the Internet standards community, Walsh is Chairman of the Web3D Consortium's Universal Media technical working group, Chairman of the Web3D-MPEG group responsible for the convergence of Web3D and Motion Picture Experts Group (MPEG) technology, co-chair of the Web3D Intellectual Property Rights group, and Web3D Liaison to MPEG and the World Wide Web Consortium. An internationally best-selling technology author, he is author of the best-selling Core Web3D, MPEG-4 Jump-Start, and XHTML Example by Example (Prentice Hall PTR) and founding Series Editor of the Prentice Hall Web3D Series.
DOUG GEHRINGER is a Staff Engineer at Sun Microsystems and a member of the Java 3D Engineering Team. He has spent the past fourteen years at Sun working on graphics software, and has extensive experience programming for all of Sun's graphics APIs, including GKS, PHIGS, PEX, OpenGL, and Java 3D. A respected expert on graphics performance tuning for large-scale applications, he has worked on a number of the largest Java 3D projects in existence. One of the first developers in the world to use Java 3D, he co-authored the original Virtual Reality Modeling Language (VRML) that is today maintained by the Web3D Consortium. An active member of the Java 3D community, Gehringer is Java 3D technical editor of the best-selling Core Web3D (Prentice Hall PTR) and author of the Java 3D Explorer companion application created exclusively for Java 3D Jump-Start readers.
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.
There is definitely room for a detailed book on Java 3D, which this certainly isn't, but if you are looking for a general introduction you can't go far wrong here.
To it's credit, the book is well edited - it is not filled with the errors common to a first print. Not to say there aren't any, but they are few and far between. Also nice is the summary of URL's at the end of each chapter, I actually found that to be the most useful part of the book. Unfortunately, I have yet to be able to get to the books URL that promises 'nice example applications' throughout the book. It is obvious that the authors (Walsh and Gehringer) know Java 3D, they explain concepts in a straight forward easy to comprehend manner - even without the example code to back them up. The readability factor alone is why it gets 3 stars from me instead of 2.
To it's discredit, there is nothing here that isn't in the spec and in every other Java 3D book I've read. Reading it again doesn't further the understanding. I found Ready-to-Run Java 3D a little more useful than this book, but I didn't like it either (neither did most of it's reviewers). While I recognize that this book is titled 'Java 3D API Jump-Start' - I don't feel 'Jump-Started', just 'Briefed'. I expected more from Walsh, Gehringer and Sun Microsystems.
In short, if you don't understand the difference between geometry and textures, can't grasp the concept of behaviors and transforms from the Java 3D spec or never figured out the difference between ambient lighting and directional lighting then this book could help. If you understand those concepts in a general way, read the spec - you'll get more out of it. If you don't know what those are, then by all means - read this book.