I've been working on a book tentatively called:
Java Programming Techniques
for 2D, 2.5D, 3D, and Network Games
I've just placed the 10 chapters on Java 3D (including source code) online at: http://fivedots.coe.psu.ac.th/~ad/jg/
Please download it, try it. I'd like comments.
That was great of you.
There are some cool things that would be a great help if you want to research it or add it to your book.
To name just a few:
Non-expensive programming of games in java3d.
Realistic terrain rendering like in the vt.org site or geovrml adapted to games. Nothing like that fustrum culling limitation. Realistic size terrain with realistic distance fog. Im talking about 10 of kilomteters until the terrain starts fogging.
3d clouds that cast shadows in the ground.
How to implement night/day cycles in games.
How to implement weather changes in terrain textures like snow or ash changes, etc.
Rendering ocean and rivers realistically. The best ihve seen is in Ashgan from Silmarilis (old game).
Good AI like the one that is going to be in Half-Life 2 and Deus Ex 2. Quoting "the npcs allways check if there is a cool thing they can do, then do it with style" or something like that.
Procedural textures receipts.
Assigning material information to geometry like tagging that a certain wall type can be climbed or something is inflamable.
Physics that uses the previous info.
And of course every wanabe gamer/programmer needs to do its own editor. Knowing good programming techniques is not enough if a person doesn't know how to put everything working together. And that means knowing how to use knowledge in a working sequence.
Animations editor. Script editor. Properties for objects. Assigning textures, collision data, placing and displacing objects in a world view. Dialog editor. Etc...