Building Native Java 3D (j3d) from Sources ?
Dr. Gary E. RAFE
drgerlists at gmail.com
Fri Feb 1 13:11:19 PST 2008
Anyone on this list have any success building a native Java 3D ?
Using FreeBSD 6.2-R, XFree86-4.7.0, NVIDIA-96.43.01, JDK-1.5.0._13p7
on a Toshiba Satellite Pro 6100 notebook.
Fetched current Java 3D (1.5.2 beta1)
sources (vecmath, j3d-core, j3d-core-utils)
from CVS at java.net, and built JARs for these projects,
along with the i386 shared library libj3dcore-ogl.so
by adding appropriate ant(1) build files for freebsd-i386.
With the JARs and shared library installed in .../jre/lib/
as appropriate, the Java 3D program "Package Info" reports:
$ CLASSPATH=dist/j3d-examples.jar \
java org.jdesktop.j3d.examples.package_info.PackageInfo
Package Info window:
package javax.vecmath, Java 3D API Specification, version 1.5
Specification Title = Java 3D API Specification
Specification Vendor = Sun Microsystems, Inc.
Specification Version = 1.5
Implementation Vendor = Sun Microsystems, Inc.
Implementation Version = 1.5.2
package javax.media.j3d, Java 3D API Specification, version 1.5
Specification Title = Java 3D API Specification
Specification Vendor = Sun Microsystems, Inc.
Specification Version = 1.5
Implementation Vendor = Sun Microsystems, Inc.
Implementation Version = 1.5.2
package com.sun.j3d.utils.universe, version 1.5
Specification Title =
Specification Vendor = Sun Microsystems, Inc.
Specification Version = 1.5
Implementation Vendor = Sun Microsystems, Inc.
Implementation Version = 1.5.2
The Java 3D program "Hello Universe", however, fails:
$ CLASSPATH=dist/j3d-examples.jar \
java -Dj3d.debug=true org.jdesktop.j3d.examples.hello_universe.HelloUniverse
Java 3D [dev] 1.5.2-pre2-0802011144-experimental 01 Feb 2008 11:44:30 EST
Java 3D: J3dDebug.debug enabled
Java 3D: concurrent threadLimit = 2
Java 3D: glslVertexAttrOffset = 6
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at javax.media.j3d.Canvas3D.<init>(Canvas3D.java:1151)
at javax.media.j3d.Canvas3D.<init>(Canvas3D.java:1042)
at javax.media.j3d.Canvas3D.<init>(Canvas3D.java:1006)
at org.jdesktop.j3d.examples.hello_universe.HelloUniverse.createUniverse(HelloUniverse.java:102)
at org.jdesktop.j3d.examples.hello_universe.HelloUniverse.<init>(HelloUniverse.java:125)
at org.jdesktop.j3d.examples.hello_universe.HelloUniverse$1.run(HelloUniverse.java:160)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
I get the same result regardless of the maximum Java heap size,
so something else must be at play here.
[Oh, so close...]
Observations ? Suggestions ? Pointers ?
--
Dr Gary E RAFE: drgerlists at gmail dot com
More information about the freebsd-java
mailing list