Mauricio,
Chapter 18 of
my book contains the OpenGL methods that Java 3D calls (slightly outdated, of
course), as well as the native methods exported from the main Java 3D DLL. It
also contains a reference to the VirtualUniverse static initializer that
Doug referred to...
As an aside,
there are instrumented OpenGL DLLs that help profile applications using OpenGL
(or write your own!).
Sincerely,
Daniel
Selman
Author - "Java 3D Programming"
http://www.manning.com/selman
-----Original Message-----
From: Discussion list for Java 3D API [mailto:[EMAIL PROTECTED]]On Behalf Of Mauricio Vives
Sent: Tuesday, June 04, 2002 11:32 AM
To: [EMAIL PROTECTED]
Subject: When does Java 3D use native code?Hey folks,Our software uses Java 3D to do some offline preprocessing of 3D data, before it is viewed using a Java 3D-based applet. This preprocessing is typically done in the background on a remote Windows server (nothing is actually displayed during this process). Part of the preprocessing phase involves the use of two Java 3D utility classes, j3d.utils.compression.GeometryCompressor and j3d.utils.geometry.Stripifier.We have noticed that the preprocessing steps can crash the JVM without warning if a bad graphics card driver is installed on the server. My understanding is that the only way that Java 3D can interact with the graphics card driver (and possibly induce such a crash) is through native code, specifically j3d.dll. This DLL is linked to opengl32.dll, which can invoke the driver.So my question is this: When does Java 3D use native code? (in other words, under what circumstances does Java 3D load j3d.dll?) I don't think that using GeometryCompressor or Stripifier should invoke native code, but perhaps we are doing something else that causes Java 3D to load that DLL. This is probably a question that only someone familiar with the Java 3D code would be able to answer (e.g. a member of the team), but I'd also like to hear from anyone who uses Java 3D for offline processing.Ideally, we want a situation where we use Java 3D in the background without actually invoking any native code, which could be dependent on the graphics card driver (in other words, we don't want the server's graphics hardware to impact our preprocessing steps).Thanks in advance for any help.- Mauricio
