starting Java 3D - java

i wanna know what is the best way to start coding a simple 3D ... (with java)
like a man walking around ... i know it's not so easy , but i believe it's not impossible :D
so .. is there a recommended tutorial or something???

Two suggestions:
Start with something like jMonkeyEngine. Lots of great tutorials on their site using their scenegraph API. It's where you want to end up eventually anyway, IMHO.
NeHe Productions: OpenGL Tutorials. These are great because they give you a lot of OpenGL info and instructions. Note that all the code in the tutorial is C however, at the bottom of the tutorials are links to ports of the code to various platforms and languages, including Java.

You could start with Java 3D API or Java OpenGL (JOGL).
I think, if you want something like OpenGL then you should consider about JOGL

The best way to start is to find out a good and free 3d game engine. You should know something about 3d graphics: basic transformation, how to work with matrices (specially multiply order), etc.
I can recommend you Lightweight Java Game Library, Ogre3D for Java or even jMonkeyEngine. Later you can try to use OpenGL directly - its easy to learn, multiplatform 3D graphics library.

For better understanding of the scene graph-based and Java3D programming I recommend you to read this tutorial. It helps me very much

Related

DICOM 3d display - Java 3D vs VTK

I'm going to work on implementing 3d display of dicom files and I'm wondering which technologies is easier to use: Java 3D or VTK?
I'm not very experienced programmer,but I've already created a DICOM viewer based on dcm4che open source library.
Any hints or experiences to share?
Most of my 3D modeling is Optical Coherence Tomography data that tends to be rather large. My experience has been a little backwards. The project started as a C++ project using x64 VTK and Qt. Folks in the lab weren't C++ people, so it got converted to Java which is used through Matlab, which the lab post-docs know.
Java VTK is really easy to use and has a lot of features, but I'm having some trouble with registering callback events for buttons and such with will be a deal breaker if it can't get resolved. This problem might dramatically effect how the UI is done, so keep that in mind.
Most of the C++ examples tend to convert to Java really quickly (except callbacks >.< ) so there is a plethora of examples. If you are going to use VTK, I highly recommend "The VTK User's Guide" by Kitware, Inc (ISBN: 978-1-930934-23-8), as it is an excellent overview of the API.
Good luck!

LWJGL OpenGL glbegin and stuff deprecated

Can I still use those methods in the future? Also, if not, can anyone recommend some good tutorials for modern OpenGL in lwjgl? Thanks
In LWJGL 'deprecated' just means it's old, I really doubt glBegin is going to be removed as it is used for other drawing functions such as Display Lists, its a good functions for beginners to learn in my opinion.
From my experience in looking for "good" tutorials of advanced topics it's very rare to find one that doesn't have knowledge prerequisites, e.g talking to you with jargon. I can only suggest looking hard on Google and Youtube and practicing , you'd be looking for Vertex Buffer Object and Display List tutorials.(sometimes it's impossible to just find a "good" tutorial and you have to go through the whole process of learning and dedicate a lot of time)

Plotting dense 3D point clouds ( or mesh) in java

I am gonna be writing java code to plot 3D point clouds. Someone suggested me to go for java 3D libraries however it is apparently dead (this reference) and not apparently good idea go to with JMonkey either (same reference).
That link was posted in 2009 and we are in 2012.
All I want to do is to plot a dense 3D point cloud, say 5 million points, and to be able to rotate it / or zoom in real-time. I know the algorithms for rendering and stuff however I need a set of 3D java library with active community and support ( if any).
Please consider Desktop and also Web applications while suggesting me the solution.
Thanks a lot
and not apparently good idea go to with JMonkey either (same reference)
What you reference there is more than three years old, ancient in terms of technology.
jME has come back in a big way since then. jME3 is it an extraordinarily stable beta with Android support, improved physics support (both JBullet as well as a native wrapper), an SDK with scene editor, lots of user-contributed plugins, and an extremely active community.
There are a number of successful games making use of it as well, most notably Mythruna and 3079.
What you're looking to do is easily accomplished in jME and we'd invite you to come on over and try it out. http://jmonkeyengine.org
Not a scenegraph, but LWJGL offers an easy wrapper around OpenGL, so you could quite easily construct a list of quads to represent your points and setup/modify a view to display and rotate them depending on user input.
This should work in applets also to cover your web targets.
jzy3d
is what you are looking for.
Jzy3d is an open source (BSD) java library that allows a rapid display
of 3d scientific data, either surfaces, scatter plots, bar charts, and
lot of other 3d primitives. The API provides support for rich
interactive charts, with colorbars, tooltips and overlays. Axis and
chart layout can be fully customized and enhanced.
I would use JavaFX for this. It is already included in JDK 8 and the project is well alive.
Contrary to LWJGL, there is more and better documentation. Also LWJGL being a thin wrapper, will force you to learn OpenGL as soon as you need to do any transformation, and that will take you some time.
Jzy3d is a higher level API but the tutorial is not free.
JME3 is overkill and, as long as my limited experience with it taught me, you'll need to use Blender to create the model (I might be wrong).
There is a lot of documentation for JavaFX online. If you don't mind buying a book, "JavaFX for Dummies" is quite good, although basic.

Alternative to Java3D

Colleagues of mine are using Java3D for visualizing results of finite element simulations. The problem is that Java3D seems to be somehow dead, and it is a pain on OSX. This is one of the reasons we are looking for alternatives.
Quite a lot of work has gone into our current implementation based on Java3D, so the question is how much effort it would be to move away from Java3D.
JOGL is one option, but looks like a lot of work.
Has anyone suggestions for alternatives? Any experiences with such a migration?
JOGL provides a direct access to OpenGL functions. These functions are mostly low level draw functions, and you have to deal with the 'state machine' nature of OpenGL while you are programming.
Java3D abstracts this state machine. It allows you to define a tree of graphic objects, placed in a virtual scene, and rendered by a camera. The manipulation of these graphic objects is easier with such a tree structure. Then, it's up to Java3D to walk through this tree and call the OpenGL drawing functions.
This kind of library is called a scenegraph. There are many scenegraph libraries in java, some are implemented on top of JOGL. I don't have a list, but this keyword will help you in your research.
In our project, we tried 3 or 4 different libraries, but no one filled all our requirements. We ended writing our own scenegraph library (on top of JOGL).
jMonkeyEngine, Ardor3D, jPCT or Xith3D are much better options these days.
JOGL is indeed a good option. However, it's simply a wrapper library for OpenGL. That means you'll still have to do a lot of the legwork yourself. If you're comfortable with that and it suits your needs, it's not actually all that difficult. But it might be a bit time consuming and not knowing your current code-base I don't know how easy the transfer is.
You could however go for an engine which might use JOGL. Something like JMonkey Engine to purely name an example. If you look, you'll surely find some others. Have a look at those, their ease of use and their functionality to see what best suits you. They probably won't take all the work away from you, but they might make it a bit easier.
See also this Java 3D forum thread : Java3D viability questions... https://forums.oracle.com/forums/thread.jspa?threadID=2150209&tstart=15
August, InteractiveMesh
I use JOGL 2.0 (which is a low level Java binding for the OpenGL (and OpenGL-ES) API. I have recently helped someone to revive Java3D. Now, it relies only on JOGL 2.0 and it works better, especially on Mac OS X. You can find the source code here:
https://github.com/hharrison/java3d-core
Let's have fun. It is actively maintained anew ;)
P.S: I wrote a detailed article to explain how to use the very latest version of Java3D (1.6) here.

Java (2D) animation library

I'm creating (for a semester project) a Java desktop application. The aim is to provide a rich and intuitive user interface. I'm now looking for Java cross-platform library that works with Swing and provides animations (moving, resizing, rotation, color/alpha change and other 2D stuff).
Basically, I'm looking for an equivalent of CoreAnimation in the JavaWorld.
I found Trident, but have no experience with it and no development seems to have taken place since mid-2010.
Does anyone of you have experience with Trident or can recommend a library that fits what I need?
Hi
I have no deep knowledge of this but I had a look at trident a year ago and it looked well designed, feature complete and stable.
I would go with that one if you find nothing better. You have to browse the blog of Kiril at pushingpixels.org to get some additional good examples.
Have fun,
- Rossi
Use libgdx awesome library!!

Categories

Resources