On some people's systems, the Direct X version of the runtime doesn't work as well as the openGL one, or it certainly didn't in the past. Anyone with up to date video card drivers will have access to openGL and in the end how good things look comes down to the power of the video card rather than the way in which it is accessed.

My concern here is that Java3D should abstract away the need to know whether you are running on DirectX, OpenGL or anything else- the idea is that the user uses the version of the runtime that works best on their machine and that makes your code work well. If you want to talk to DX directly you may be better working with one of the CLR languages, that gives you immediate managed DirectX access. If you're happy for Java3D to manage your communication with the hardware then you don't need to worry about whether or not you're talking to DirectX.

What I don't understand is why the underlying runtime has any relevance to Java3D- if I have the OpenGL version of Java3D installed on my windows PC and I run your application it should look no different to how it would if I was using the DirectX version of Java3D.

What I don't understand is why the underlying runtime has any relevance to Java3D- if I have the OpenGL version of Java3D installed on my windows PC and I run your application it should look no different to how it would if I was using the DirectX version of Java3D.

Isn't the whole idea with Java3D supporting both DirectX and OpenGL that you should be able to select the one you feel works best on any given Windows system? If the choise is considered "irrelevant" then why not just remove it?

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org