views:

167

answers:

3

I'm writing a time management application and I have an idea for presenting timelines and todo items in 3D. Visually, I imagine this as looking down a corridor or highway in 3D, with upcoming deadlines and tasks represented as signposts - more important items are larger and upcoming deadlines are nearer.

I want to do this in Java, however I have no idea how to begin. For example, I would like to be able to render text and 2D graphics (dates, calendars etc) on the floor/walls of the corridoor, as well as on task items. The tasks themselves could be simple blocks. However examples of 3D code I have seen all look to operate on a very low level, and what I can't figure out are the appropriate co-ordinates to be using, or how the user would be able to interact with the view by selecting items with the mouse (for example clicking an expand or info button to get/edit task properties with the usual swing components).

Is there any higher level API I could be using, or example code that does this sort of thing? Any other ideas for how best to approach this problem?

edit: removed Java3D requirement - I just need to do this in Java.

+1  A: 

To be honest, having tried both, if you use JOGL instead you'll find there's tonnes of OpenGL examples to copy that sort of thing from, and you won't have to code around the limits of the scene graph Java3D gives you. I tried Java3D a couple of years ago in a simple wireframe viewer, and it was such a pain to get the camera control right and the rendering anywhere near OK that I gave up on it.

Pete Kirkham
thanks - I've edited the question accordingly to remove the java3D requirement. any java solution will do.
frankodwyer
+2  A: 

To be perfectly honest, most "clever" user interfaces are ineffective for a number of reasons:

  • They favor complexity (for the sake of coolness) over simplicity and usability.
  • They are likely to be totally unfamiliar to the user.
  • You have to implement them yourself without some library having done the hard work for you.

I think the interface you describe runs the risk of falling into this trap. What's wrong with the current interface? Won't it be really hard to get an overview due to foreground stuff getting in the way? Now of course you could take it a step further and zoom out/rotate to get an overview but that complicates things.

Having said all that, if you can make it easy to use and really slick, then it can make an application. Users will have a lower tolerance for failure in "fancy" UIs, so perhaps this isn't the best first 3D project.

I do think there is a need for more examples geared towards visualisation rather than games.

Draemon
agreed, I just intend this as alternative view to the usual list / calendar etc format. Personally, it suits how I think about deadlines etc. - so it is just another way to look at 'what's coming up'
frankodwyer
+1  A: 

I've found Pro Java 6 3D Game Development to contain very good code examples.

Here's a code example of 3D text, from NeHe Productions!, check the "DOWNLOAD Java Code" and "DOWNLOAD JoGL Code" at the end of the example.

On a side-note, I was very impressed with LWJGL which makes you write in a very similar way to straight-forward OpenGL.

Liran Orevi