hharrison / java3d-core Goto Github PK
View Code? Open in Web Editor NEWFork of the javax.media.j3d package
License: GNU General Public License v2.0
Fork of the javax.media.j3d package
License: GNU General Public License v2.0
Hi
Unfortunately I have a similar problem as described in http://forum.jogamp.org/NoClassDefFoundError-GLCapabilitiesChooser-on-OS-X-Snow-Leopard-and-Java-1-6-td4008344.html.
I'd like to run a java applet which uses Java3D on Mac OSX Mountain Lion.
First I got the same Exception as apoy2k: java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesChooser
I followed the instructions and installed the following libraries:
j3dcore.jar (1.6.0-pre2)
j3dutils.jar (1.6.0-pre2)
vecmath.jar (1.6.0-pre2)
With JOGL2-rc8 and JOGL2-rc10 I still got the following Exception:
Exception in thread "thread applet-PluginTest.class-1"
java.lang.NoClassDefFoundError: javax/media/nativewindow/AbstractGraphicsDevice
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at javax.media.j3d.Pipeline$PipelineCreator.run(Pipeline.java:71)
at javax.media.j3d.Pipeline$PipelineCreator.run(Pipeline.java:59)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:88)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:843)
at javax.media.j3d.VirtualUniverse.(VirtualUniverse.java:274)
at javax.media.j3d.Canvas3D.(Canvas3D.java:3829)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at PluginTest.init(PluginTest.java:44)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1639)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException:
javax.media.nativewindow.AbstractGraphicsDevice
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 14 more
Do you have a hint, how to solve this problem? Which versions of Java3D, JOGL and OSX are compatible with each other?
Thank you very much for your help!!
Regards Julian
I'm assuming this error comes from using this library, so here it is: I'm running a basic Java3D application and this error keeps popping up in my console upon initializing my application:
3D [dev] 1.6.0-pre1-daily-experimental daily
2012-05-31 11:04:21.345 java[16845:11d03] *** __NSAutoreleaseNoPool(): Object 0x100112c60 of class NSCFNumber autoreleased with no pool in place - just leaking
2012-05-31 11:04:21.346 java[16845:11d03] *** __NSAutoreleaseNoPool(): Object 0x10013ef60 of class NSConcreteValue autoreleased with no pool in place - just leaking
2012-05-31 11:04:21.347 java[16845:11d03] *** __NSAutoreleaseNoPool(): Object 0x108500b40 of class NSCFNumber autoreleased with no pool in place - just leaking
...
Hi,
In our system we are using old version of library j3dcore(version 1.5) and we are reaching out to you to check Java 11 compatibility of yours library: java3d-core.
Could you help us by answering the following questions:
If yes please give us information about your library: java3d-core.
Appreciate your response by 06.09.2018.
Thanks,
Krzysztof Dragan,
PTC Inc. Contractor
Java 3D uses some com.sun packages, especially the JPEG encoder and the JPEG decoder, which are no more in OpenJDK. It should rather use ImageIO until we are able to provide an AWT-free encoder/decoder for this format. Please look at the memory footprint before and after such a change.
I get this errors when trying to compile using
$ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
gen:
[mkdir] Created dir: /var/tmp/portage/dev-java/j3d-core-1.6.0/work/java3d-core-1.6.0/build/gen
[copy] Copying 2 files to /var/tmp/portage/dev-java/j3d-core-1.6.0/work/java3d-core-1.6.0/build/classes/javax
[copy] Copying 5 files to /var/tmp/portage/dev-java/j3d-core-1.6.0/work/java3d-core-1.6.0/build/classes/com
[copy] Copying 1 file to /var/tmp/portage/dev-java/j3d-core-1.6.0/work/java3d-core-1.6.0/build/gen/src/javax/media/j3d
compile:
[javac] Compiling 755 source files to /var/tmp/portage/dev-java/j3d-core-1.6.0/work/java3d-core-1.6.0/build/classes
[javac] Annotation processing got disabled, since it requires a 1.6 compliant JVM
[javac] ----------
[javac] 1. ERROR in /var/tmp/portage/dev-java/j3d-core-1.6.0/work/java3d-core-1.6.0/src/javax/media/j3d/J3dQueryProps.java (at line 97)
[javac] private class EntrySet extends AbstractSet {
[javac] ^^^^^^^^
[javac] Duplicate methods named spliterator with the parameters () and () are inherited from the types Set and Collection
[javac] ----------
[javac] 2. ERROR in /var/tmp/portage/dev-java/j3d-core-1.6.0/work/java3d-core-1.6.0/src/javax/media/j3d/J3dQueryProps.java (at line 97)
[javac] private class EntrySet extends AbstractSet {
[javac] ^^^^^^^^
[javac] Duplicate methods named spliterator with the parameters () and () are inherited from the types Collection and Iterable
[javac] ----------
[javac] ----------
[javac] 3. ERROR in /var/tmp/portage/dev-java/j3d-core-1.6.0/work/j3d-utils/src/com/sun/j3d/utils/universe/ConfigContainer.java (at line 1503)
[javac] private static class ReadOnlySet extends AbstractSet {
[javac] ^^^^^^^^^^^
[javac] Duplicate methods named spliterator with the parameters () and () are inherited from the types Set and Collection
[javac] ----------
[javac] 4. ERROR in /var/tmp/portage/dev-java/j3d-core-1.6.0/work/j3d-utils/src/com/sun/j3d/utils/universe/ConfigContainer.java (at line 1503)
[javac] private static class ReadOnlySet extends AbstractSet {
[javac] ^^^^^^^^^^^
[javac] Duplicate methods named spliterator with the parameters () and () are inherited from the types Collection and Iterable
[javac] ----------
[javac] 4 problems (4 errors)
When writing an OrderedGroup that has its index array set to null, j3d throws:
java.lang.NullPointerException
at
com.sun.j3d.utils.scenegraph.io.state.javax.media.j3d.OrderedGroupState.writeObject(OrderedGroupState.java:63)
Not sure if this is a bug, as one can always set the array, but considering Null is a legit value regarding the official OrderedGroupState docs, it would be nice if OrderedGroupState could handle an empty index array.
We were evaluating Java3D + JOGL and we found a deadlock that did not occur in the old Java3D 1.5.2
We use some Swing Components to print 2d stuff on the 3d Canvas
this is the deadlock;
"AWT-EventQueue-1":
waiting for ownable synchronizer 0x000000068ec7a388, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
which is held by "J3D-Renderer-1"
"J3D-Renderer-1":
waiting to lock monitor 0x00002aaab0003d98 (object 0x000000068ecd3dc8, a java.awt.Component$AWTTreeLock),
which is held by "AWT-EventQueue-1"
"AWT-EventQueue-1":
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000068ec7a388> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at sun.awt.SunToolkit.awtLock(SunToolkit.java:236)
at sun.awt.X11.XDecoratedPeer.getLocationOnScreen(XDecoratedPeer.java:968)
at java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:1960)
at java.awt.Component.getLocationOnScreen(Component.java:1938)
- locked <0x000000068ecd3dc8> (a java.awt.Component$AWTTreeLock)
at javax.swing.SwingUtilities.convertPointToScreen(SwingUtilities.java:364)
at org.netbeans.core.windows.view.EditorView.getPureBounds(EditorView.java:95)
at org.netbeans.core.windows.view.ViewHierarchy.getPureEditorAreaBounds(ViewHierarchy.java:914)
at org.netbeans.core.windows.view.DefaultView.guessSlideSide(DefaultView.java:120)
at org.netbeans.core.windows.ViewRequestor.guessSlideSide(ViewRequestor.java:113)
at org.netbeans.core.windows.Central.guessSlideSide(Central.java:1815)
at org.netbeans.core.windows.WindowManagerImpl.guessSlideSide(WindowManagerImpl.java:908)
at org.netbeans.core.windows.view.ui.tabcontrol.TabbedAdapter$WinsysInfo.getOrientation(TabbedAdapter.java:534)
at org.netbeans.swing.tabcontrol.plaf.AbstractViewTabDisplayerUI.showHidePinButton(AbstractViewTabDisplayerUI.java:175)
at org.netbeans.swing.tabcontrol.plaf.AbstractViewTabDisplayerUI$Controller.stateChanged(AbstractViewTabDisplayerUI.java:625)
at org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:133)
at org.openide.util.ChangeSupport.fireChange(ChangeSupport.java:119)
at org.netbeans.swing.tabcontrol.DefaultTabDataModel.fireContentsChanged(DefaultTabDataModel.java:472)
at org.netbeans.swing.tabcontrol.DefaultTabDataModel.setText(DefaultTabDataModel.java:164)
at org.netbeans.swing.tabcontrol.TabbedContainer.setTitleAt(TabbedContainer.java:704)
at org.netbeans.core.windows.view.ui.TabbedHandler.topComponentNameChanged(TabbedHandler.java:239)
at org.netbeans.core.windows.view.ui.AbstractModeContainer.updateName(AbstractModeContainer.java:191)
at org.netbeans.core.windows.view.ModeView.updateName(ModeView.java:172)
at org.netbeans.core.windows.view.DefaultView.changeGUI(DefaultView.java:362)
at org.netbeans.core.windows.ViewRequestor.dispatchRequest(ViewRequestor.java:272)
at org.netbeans.core.windows.ViewRequestor.processRequest(ViewRequestor.java:248)
at org.netbeans.core.windows.ViewRequestor.postRequest(ViewRequestor.java:186)
at org.netbeans.core.windows.ViewRequestor.scheduleRequest(ViewRequestor.java:126)
at org.netbeans.core.windows.Central.topComponentDisplayNameChanged(Central.java:1562)
at org.netbeans.core.windows.WindowManagerImpl.topComponentDisplayNameChanged(WindowManagerImpl.java:1180)
at org.openide.windows.TopComponent.setName(TopComponent.java:954)
at com.streamsim.toolpanel.ToolPanelController.updateTCTitle(ToolPanelController.java:223)
at com.streamsim.toolpanel.ToolPanelController.updateContext(ToolPanelController.java:179)
at com.streamsim.toolpanel.ToolPanelController.access$600(ToolPanelController.java:43)
at com.streamsim.toolpanel.ToolPanelController$ActNodeSetter.run(ToolPanelController.java:363)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
"J3D-Renderer-1":
at java.awt.Component.reshape(Component.java:2144)
- waiting to lock <0x000000068ecd3dc8> (a java.awt.Component$AWTTreeLock)
at javax.swing.JComponent.reshape(JComponent.java:4156)
at java.awt.Component.setBounds(Component.java:2133)
at com.streamsim.metricspaceplots.mds.view.View3DCanvas.layoutColorMaps(View3DCanvas.java:297)
at com.streamsim.metricspaceplots.mds.view.View3DCanvas.postRender(View3DCanvas.java:171)
at javax.media.j3d.Renderer.doWork(Renderer.java:1375)
at javax.media.j3d.J3dThread.run(J3dThread.java:270)
Found 1 deadlock.
Thanks for your hard work!
The class javax.media.j3d.Font3D
of j3d-core
imports classes from package com.sun.j3d.utils.geometry
, which is part of j3d-core-utils
. And the j3d-core-utils
project imports many classes from j3d-core
. This creates a circular dependency between artifacts.
My understanding is that the java3d-utils
should depend on java3d-core
, but not vice versa. Correct? If so, what is the best way to correct this issue?
The file GeometryService.java is missing a license header to put it under the classpath exception of the license.
Without the exception in the header the file basically belongs to a GPL-2.0.
Is this intended or was it just forgotten?
@cxplonka and I need this information for a release.
hi,hharrison:
good day! could you help me ?
in java3d 1.6 where is the native code?
in java3d 1.5 with opengl on windows x64,the memory leak problem now fixed?
j3d with directx memory leak problem now fixed?
thank you.
The Maven2 central repository (see http://search.maven.org/#browse) has version 1.3.1 of Java3D.
Maven2 bundles of more recent versions should be built automatically and synced
with the central repository, so that developers who use Java3D with Maven2 don't
need to hunt down these jar files manually and download them.
Instructions for doing this are available at the following URL:
http://maven.apache.org/guides/mini/guide-central-repository-upload.html
More of a question than a bug.
Does Java3D support the Oculus Rift, or any of the more revent VR headsets that are coming on the market (HTC, Steam, etc)?
Are there any plans to test/support these types of renderering technologies?
i'm java3d funs, can j3d revivied?may java2script help java3d to javascript?
so sorry ,my english is not smoothly, i came from china.
The following is for code pulled from GitHub, version:
3D [dev] 1.6.0-pre1-1304191823-experimental 19 Apr 2013 18:23:21 EDT
Windows 7 operating system 64-bit (but issue can also be reproduced on Linux for older versions of Java3D), Oracle JDK 6
I've run into a pretty serious bug which freezes the GUI. The context is: I have two active Canvas3D objects in JPanels as components in a parent JPanel. When the parent's removeAll() method is called, this in turn calls removeNotify() on the two Canvas3D objects.
From removeNotify() I note the following block (lines 1384-1396):
if (isRunning && (screen != null)) {
// If there is other Canvas3D in the same screen
// rendering, stop it before JDK create new Canvas
rdr = screen.renderer;
if (rdr != null) {
VirtualUniverse.mc.postRequest(MasterControl.STOP_RENDERER, rdr);
// Bug: Canvas blocks on this when another canvas3d is active... (my comment)
while (!rdr.userStop) {
MasterControl.threadYield();
}
}
}
The freeze appears to occur in the threadYield loop. If I put debug print-outs in the postRequest() and handlePendingRequest() methods of MasterControl (lines 3006-3021):
} else if (type == START_RENDERER) {
// My comment
System.out.println("J3D Master Control: Request handled: START RENDERER");
if (o instanceof Canvas3D) {
Canvas3D c3d = (Canvas3D) o;
if (!c3d.isFatalError()) {
c3d.isRunningStatus = true;
}
} else {
((Renderer) o).userStop = false;
}
threadListsChanged = true;
} else if (type == STOP_RENDERER) {
// My comment
System.out.println("J3D Master Control: Request handled: STOP RENDERER");
if (o instanceof Canvas3D) {
((Canvas3D) o).isRunningStatus = false;
} else {
((Renderer) o).userStop = true;
}
...and initiate a removeAll() call, the following is printed to the console:
J3D Master Control: STOP RENDERER REQUEST
J3D Master Control: Request handled: STOP RENDERER
J3D Master Control: START RENDERER REQUEST
J3D Master Control: Request handled: START RENDERER
J3D Master Control: STOP RENDERER REQUEST
Clearly, the second request to stop the renderer is not being handled; the doWork() method of MasterControl is no longer being called, which suggests a deadlock somewhere..? My expertise is still lacking for Swing threading; hoping this might be clearer to someone better versed in threads/Java3D. Not sure if this is a known issue.
After upgrading from java3d-core-1.5.2 to version 1.6 I am not anymore able to run sweethome3d under Linux. I get the following error:
com.jogamp.opengl.GLException: J3D-Renderer-1: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.7
at jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:440)
at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:765)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:648)
at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:586)
at javax.media.j3d.JoglPipeline.createNewContext(JoglPipeline.java:6411)
at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:4602)
at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:2376)
at javax.media.j3d.Renderer.doWork(Renderer.java:881)
at javax.media.j3d.J3dThread.run(J3dThread.java:271)
Error in Java 3D : 3 Renderer: Error creating Canvas3D graphics contextX11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 2/2, reusable (open, marked uncloseable): 0, pending (open in creation order): 2)
X11Util: Open X11 Display Connections: 2
X11Util: Open[0]: NamedX11Display[:0, 0x7f0a9c009590, refCount 1, unCloseable false]
X11Util: Open[1]: NamedX11Display[:0, 0x7f0a9c121890, refCount 1, unCloseable false]
The OpenGL core profile is 3.3 while the compat and ES profiles seem to be only 3.0. I am using Mesa 17.2.7. Here is the dump from glxinfo:
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_libglvnd, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event,
GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
GLX_SGI_make_current_read, GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float,
GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context,
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float,
GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context,
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync
Extended renderer info (GLX_MESA_query_renderer):
Vendor: X.Org (0x1002)
Device: AMD RV770 (DRM 2.50.0 / 4.14.12-gentoo, LLVM 4.0.1) (0x9442)
Version: 17.2.7
Accelerated: yes
Video memory: 512MB
Unified memory: no
Preferred profile: core (0x1)
Max core profile version: 3.3
Max compat profile version: 3.0
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.0
OpenGL vendor string: X.Org
OpenGL renderer string: AMD RV770 (DRM 2.50.0 / 4.14.12-gentoo, LLVM 4.0.1)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.2.7
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend,
GL_AMD_performance_monitor, GL_AMD_pinned_memory,
GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax,
GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index,
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_ARB_ES2_compatibility, GL_ARB_ES3_compatibility,
GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_blend_func_extended,
GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture,
GL_ARB_clip_control, GL_ARB_compressed_texture_pixel_storage,
GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_debug_output,
GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_direct_state_access,
GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend,
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments,
GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image,
GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
GL_ARB_instanced_arrays, GL_ARB_internalformat_query,
GL_ARB_internalformat_query2, GL_ARB_invalidate_subdata,
GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multi_bind,
GL_ARB_occlusion_query2, GL_ARB_pipeline_statistics_query,
GL_ARB_pixel_buffer_object, GL_ARB_point_sprite,
GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_separate_shader_objects,
GL_ARB_shader_bit_encoding, GL_ARB_shader_objects,
GL_ARB_shader_stencil_export, GL_ARB_shader_subroutine,
GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod,
GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing,
GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_texture_barrier,
GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
GL_ARB_texture_buffer_range, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_float, GL_ARB_texture_mirror_clamp_to_edge,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_rectangle, GL_ARB_texture_rg,
GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8,
GL_ARB_texture_storage, GL_ARB_texture_storage_multisample,
GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding,
GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev,
GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_viewport_array,
GL_ATI_blend_equation_separate, GL_ATI_meminfo, GL_ATI_texture_float,
GL_ATI_texture_mirror_once, GL_EXT_abgr, GL_EXT_blend_equation_separate,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_framebuffer_blit,
GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled,
GL_EXT_framebuffer_sRGB, GL_EXT_packed_depth_stencil, GL_EXT_packed_float,
GL_EXT_pixel_buffer_object, GL_EXT_polygon_offset_clamp,
GL_EXT_provoking_vertex, GL_EXT_shader_integer_mix, GL_EXT_texture_array,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_integer, GL_EXT_texture_mirror_clamp, GL_EXT_texture_sRGB,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent,
GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query,
GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra,
GL_IBM_multimode_draw_arrays, GL_KHR_context_flush_control, GL_KHR_debug,
GL_KHR_no_error, GL_MESA_pack_invert, GL_MESA_shader_integer_functions,
GL_MESA_texture_signed_rgba, GL_NVX_gpu_memory_info,
GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_packed_depth_stencil,
GL_NV_texture_barrier, GL_OES_EGL_image, GL_S3_s3tc
OpenGL version string: 3.0 Mesa 17.2.7
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend,
GL_AMD_performance_monitor, GL_AMD_pinned_memory,
GL_AMD_shader_stencil_export, GL_AMD_shader_trinary_minmax,
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_packed_pixels, GL_ARB_ES2_compatibility,
GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance,
GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control,
GL_ARB_color_buffer_float, GL_ARB_compressed_texture_pixel_storage,
GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_debug_output,
GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture,
GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend,
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_program,
GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader,
GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object,
GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary,
GL_ARB_get_texture_sub_image, GL_ARB_half_float_pixel,
GL_ARB_half_float_vertex, GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multisample,
GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2,
GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object,
GL_ARB_point_parameters, GL_ARB_point_sprite,
GL_ARB_program_interface_query, GL_ARB_provoking_vertex,
GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_separate_shader_objects,
GL_ARB_shader_bit_encoding, GL_ARB_shader_objects,
GL_ARB_shader_stencil_export, GL_ARB_shader_texture_image_samples,
GL_ARB_shader_texture_lod, GL_ARB_shading_language_100,
GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing,
GL_ARB_shadow, GL_ARB_stencil_texturing, GL_ARB_sync,
GL_ARB_texture_barrier, GL_ARB_texture_border_clamp,
GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_float,
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_rectangle, GL_ARB_texture_rg,
GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8,
GL_ARB_texture_storage, GL_ARB_texture_storage_multisample,
GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object,
GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object,
GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_window_pos, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers,
GL_ATI_fragment_shader, GL_ATI_meminfo, GL_ATI_separate_stencil,
GL_ATI_texture_compression_3dc, GL_ATI_texture_env_combine3,
GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate,
GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, GL_EXT_draw_buffers2,
GL_EXT_draw_instanced, GL_EXT_draw_range_elements, GL_EXT_fog_coord,
GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample,
GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object,
GL_EXT_framebuffer_sRGB, GL_EXT_gpu_program_parameters,
GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil,
GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object,
GL_EXT_point_parameters, GL_EXT_polygon_offset,
GL_EXT_polygon_offset_clamp, GL_EXT_provoking_vertex,
GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_specular_color, GL_EXT_shader_integer_mix,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
GL_EXT_texture_array, GL_EXT_texture_compression_dxt1,
GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer,
GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp,
GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent,
GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query,
GL_EXT_transform_feedback, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra,
GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error,
GL_MESA_pack_invert, GL_MESA_shader_integer_functions,
GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NVX_gpu_memory_info,
GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp,
GL_NV_fog_distance, GL_NV_light_max_exponent, GL_NV_packed_depth_stencil,
GL_NV_primitive_restart, GL_NV_texgen_reflection, GL_NV_texture_barrier,
GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_OES_EGL_image,
GL_OES_read_format, GL_S3_s3tc, GL_SGIS_generate_mipmap,
GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 17.2.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_texture_max_level, GL_EXT_base_instance,
GL_EXT_blend_func_extended, GL_EXT_blend_minmax,
GL_EXT_color_buffer_float, GL_EXT_compressed_ETC1_RGB8_sub_texture,
GL_EXT_copy_image, GL_EXT_discard_framebuffer, GL_EXT_draw_buffers,
GL_EXT_draw_buffers_indexed, GL_EXT_draw_elements_base_vertex,
GL_EXT_frag_depth, GL_EXT_map_buffer_range, GL_EXT_multi_draw_arrays,
GL_EXT_polygon_offset_clamp, GL_EXT_read_format_bgra,
GL_EXT_separate_shader_objects, GL_EXT_shader_integer_mix,
GL_EXT_texture_border_clamp, GL_EXT_texture_compression_dxt1,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888,
GL_EXT_texture_rg, GL_EXT_texture_sRGB_decode,
GL_EXT_texture_type_2_10_10_10_REV, GL_EXT_unpack_subimage,
GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error,
GL_MESA_shader_integer_functions, GL_NV_draw_buffers,
GL_NV_fbo_color_attachments, GL_NV_read_buffer, GL_NV_read_depth,
GL_NV_read_depth_stencil, GL_NV_read_stencil, GL_OES_EGL_image,
GL_OES_EGL_image_external, GL_OES_EGL_sync,
GL_OES_compressed_ETC1_RGB8_texture, GL_OES_copy_image, GL_OES_depth24,
GL_OES_depth_texture, GL_OES_depth_texture_cube_map,
GL_OES_draw_buffers_indexed, GL_OES_draw_elements_base_vertex,
GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
GL_OES_get_program_binary, GL_OES_mapbuffer, GL_OES_packed_depth_stencil,
GL_OES_rgb8_rgba8, GL_OES_standard_derivatives, GL_OES_stencil8,
GL_OES_surfaceless_context, GL_OES_texture_3D,
GL_OES_texture_border_clamp, GL_OES_texture_float,
GL_OES_texture_float_linear, GL_OES_texture_half_float,
GL_OES_texture_half_float_linear, GL_OES_texture_npot,
GL_OES_texture_stencil8, GL_OES_vertex_array_object,
GL_OES_vertex_half_float
I am wondering which are the changes from version 1.5.2 to 1.6 that caused a different behaviour. I have seen that now java3d-core uses jogl while in the past that was not the case. Any ideas?
I found the following exception while running my first java 3d test application
i have added all the required jar files but still don't know what is missing ?
please help................
xception in thread "main" java.lang.NoSuchMethodError: jogamp.opengl.Debug.addTrustedPrefix(Ljava/lang/String;)V
at jogamp.opengl.Debug.access$000(Debug.java:38)
at jogamp.opengl.Debug$1.run(Debug.java:47)
at java.security.AccessController.doPrivileged(Native Method)
at jogamp.opengl.Debug.(Debug.java:44)
at jogamp.opengl.ThreadingImpl.(ThreadingImpl.java:53)
at com.jogamp.opengl.Threading.disableSingleThreading(Threading.java:164)
at javax.media.j3d.JoglPipeline.initialize(JoglPipeline.java:130)
at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:92)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:837)
at javax.media.j3d.VirtualUniverse.(VirtualUniverse.java:274)
at demo3d.Demo3d.(Demo3d.java:27)
at demo3d.Demo3d.main(Demo3d.java:41)
You stated here that the downloads contain a prebuilt jar file, but the latest releases doesn't contain jar files.
It would be very nice to have prebuilt jar files again.
-Is this the email address to send the following sorts of java3D questions?
-Could someone please give responses with code specific answers?
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#1 How may I define a circle or an oval (flat, 2D) in a 3D space?
Do I do a square with 4 submitted curvature normals?
#2 When using IndexedGeometryArray (s), in a situation with only one viewer, is there a way to disable
rendering (filling) for various items in my 3D world for the surfaces which face backwards where one
cannot see, as a memory or computation save?
#3 Is it possible to obtain point location and colour data for any rendered point in a 3D universe?
There is a "Screen perspective" class, what is it called?
Is it possible to obtain x,y,z pixels the way one may from a classic java Raster in 2D?
#4 When loading a 3D item from, for example, a *.obj file, are all the points of that item inside a java3D
IndexedGeometryArray object? What is the typical call I need to obtain my indexedTriangleArray, or the IndexedQuardArray?
#5 Are there any freely available, commercially applicable, java3D add on libraries for visual effects,
like for rippling water, color "gaseous" visual effects, fire, etc. which are in java but not
a small component of some other larger project?
#6 In order to have my collection of IndexedGeometryArray points (and designated special normals) drawn and filled in, my program will make a call to the NormalGenerator Class.
If the object itself is to change by the stretching and moving of a defining point during runtime, and to experience a line, but mainly a surface change (rippling), does one just call the NormalGenerator iteratively? However won't this slow down the program to the point of thrashing? Is NormalGenerator
designed for this iterative calling without slowdown? (I presume I would give it its own dedicated Thread)?
#7 I wish to draw a wire rendered object, with smoothed and "glowing" wires. I know how to do wire rendering, non surface rendering. I do note that a Material object may have an emissive color. I plan to apply a Material to an Appearance object, and then apply that. However does the material object work on IndexedLineArray objects when there is no fill surface?
#8 Is there a simple way to bisect and separate a 3D object with a plane surface at any angle, and to easily determine two separate objects? Or must one resort to ray casting to find critical points?
#9 I am trying to configure proguard to generically work on executable .jar, applet jar, .war and .ear files
to prevent decompilation, at all, at least by "The Java Decompiler" jd-gui program. I want a generic .pro file that will successfully run, prevent decompilation, and allow standard execution as is for .jar, .war, .ear files. I particularly want the following to be done inside myr .*ar files' contained .class files:
-Class name, method name, field name CONFUSED RENAMING obfuscation.
-String literal TRANSMUTING/EQUIVALENCE obfuscation.
Can someone set me up with a .pro file I can use?
It is currently impossible to build Java 3D with JOGL 2.0 RC 10.
GraphicsConfigurationFactory.getFactory() requires a second argument (GLCapabilities.class for example) and GraphicsConfigurationFactory.chooseGraphicsConfiguration() requires a last parameter (use VisualIDHolder.VID_UNDEFINED).
I fixed that during the siggraph but my source code is on Sven's hard disk.
I am trying to build from source (using gradle). I manage to build vecmath
, java3d-core
, java3d-utils
. With java3d-core
linking gluegen-rt and jogl-all:
implementation 'org.jogamp.gluegen:gluegen-rt:2.3.2'
implementation 'org.jogamp.jogl:jogl-all:2.3.2'
However, when running my binary, I get the following error:
Starting GUI...
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/home/jones/Documents/px4/tmp/java3d/java3d-core/build/libs/java3d-core-1.6.2.jar) to method sun.awt.AppContext.getAppContext()
WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /home/user/path/to/jMAVSim/natives/linux-amd64//libgluegen-rt.so
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2620)
at java.base/java.lang.Runtime.load0(Runtime.java:765)
at java.base/java.lang.System.load(System.java:1866)
It seems to me that libgluegen-rt.so
comes from jogamp-fat.jar
(because I see it there when I open the jar). Of course, when I link jogamp-fat.jar
, I get the following error, which I presume is due to the fact that I am building with openjdk-12 and jogamp-fat.jar
was built with openjdk-8:
Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
Does that make sense? If yes, now that I am able to build almost everything from source in order to build with openjdk 12, what am I supposed to do about libgluegen-rt.so
? And shouldn't it be included in 'org.jogamp.gluegen:gluegen-rt:2.3.2'?
X11 ARM Linux GPU only support OpenGL ES 1 and ES 2
Please design Java3D to use the GL2ES2 or GL2ES1 profile to stay compatible with both desktop and mobile GPU hardware.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.