Skip to main content

Java 3D 1.5.0-build3 now available

23 replies [Last post]
kcr
Offline
Joined: 2004-03-17
Points: 0

Java 3D 1.5.0-build3 is now available.

https://java3d.dev.java.net/binary-builds-pre.html

The main new feature of this release is a preliminary JOGL rendering pipeline. There are also a few bug fixes. The pre-release notes are at:

https://j3d-core.dev.java.net/j3d1_5_0/RELEASE-NOTES-pre.html

Click on the "JOGL Rendering Pipeline" link for a description of the JOGL rendering pipeline and the "Improvements in 1.5.0" link for a list of bug fixes.

-- Kevin

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
mlouka
Offline
Joined: 2004-06-27
Points: 0

And now that I have the latest nightly build installed, I can also report that the exception for which I sent a stacktrace earlier today no longer occurs :). Great!

Michael.

kcr
Offline
Joined: 2004-03-17
Points: 0

Okay, thanks. Never mind about answering those questions, then.

-- Kevin

mlouka
Offline
Joined: 2004-06-27
Points: 0

Can also report that the problem I had with text in a HUD that we had in one of our applications is also fixed by the latest build, and creating offscreen snapshots is also working now. Fantastic! And several bugs in Apples implementation are no longer issues either... :)

Michael.

kcr
Offline
Joined: 2004-03-17
Points: 0

Yes, we like getting reports like this. Thanks!

-- Kevin

kcr
Offline
Joined: 2004-03-17
Points: 0

Thanks for the stack trace. Two quick questions: 1) Do you use ConfiguredUniverse? 2) If not, does your app use the GraphicsConfiguration returned by chooseBestConfiguration to create any other AWT or Swing Component besides a Canvas3D? This is known not to work. ConfiguredUniverse tripped over this and was fixed in yesterday's daily build, but if your app does this, it won't work.

If you aren't doing this, then there is some other problem that we need to look into. Thanks.

-- Kevin

Julian Gomez

On Jun 7, 2006, at 09:13, java3d-interest@javadesktop.org wrote:

> Runs quite nicely on my PowerBook.

Where did you find a 1.5 build for PowerBook? It's not on the
referenced page.

--
Dr. Julian "a tribble took it" Gomez ** http://www.polished-pixels.com

---------------------------------------------------------------------
To unsubscribe, e-mail: interest-unsubscribe@java3d.dev.java.net
For additional commands, e-mail: interest-help@java3d.dev.java.net

mlouka
Offline
Joined: 2004-06-27
Points: 0

Donwload the latest daily for Linux from:

https://java3d.dev.java.net/binary-builds-pre.html

Unpack it and keep the three jar files only, and then supplement with a recent build of JOGL. I just put the lot into /Library/Java/Extensions for testing, which works nicely as removing them again gives you Apple's implementation as default again.

See https://j3d-core.dev.java.net/j3d1_5_0/RELEASE-NOTES-pre.html

Michael.

kcr
Offline
Joined: 2004-03-17
Points: 0

Thanks for testing this and reporting back.

> java.lang.RuntimeException: Unimplemented
> at javax.media.j3d.JoglGraphicsConfiguration.getColorModel(JoglGraphicsConfiguration.java:79)
...
> at java.awt.Component.getGraphics(Component.java:2463)
> at javax.swing.JComponent.getGraphics(JComponent.java:1913)

Do you have a complete stack trace? It would be helpful to know who is calling getGraphics.

> There appear to be depth-sorting issues related to transparent surfaces.

What sort of problem? Rendering artifacts? Transparency being turned on or off at the wrong time? Other?

> and quite a few
>
> JoglPipeline.executeRaster()

Raster is implemented in the latest daily build. The startup messages are still there.

-- Kevin

mlouka
Offline
Joined: 2004-06-27
Points: 0

The stack-trace is quite long. I've included the preceding output too, in case that's useful (at the end of this email).

I'm investigating the transparency issue that I mentioned (I thought I'd just mention it in case it was a known issue) but I haven't identified what triggers it yet as it doesn't seem to affect all models containing transparent objects so I haven't been able to make a small test case that demonstrates it yet. When it occurs, all transparent objects are drawn in front regardless of whether they are obscured by other objects. No sign of any turning on or off -- they're "on" and in front all the time.

Michael.

The trace for the first issue mentioned earlier:

Java 3D [dev] 1.5.0-build3-experimental 02 Jun 2006 14:13:12 PDT

JoglPipeline.getFbConfig()
JoglPipeline.getDisplay()
JoglPipeline.getScreen()
JoglPipeline.createDrawingSurfaceObject()
JoglPipeline.hasDoubleBuffer()
JoglPipeline.hasStereo()
JoglPipeline.getStencilSize()
JoglPipeline.hasSceneAntialiasingMultisample()
JoglPipeline.hasSceneAntialiasingAccum()
java.lang.RuntimeException: Unimplemented
at javax.media.j3d.JoglGraphicsConfiguration.getColorModel(JoglGraphicsConfiguration.java:79)
at apple.awt.CComponent.getColorModel(CComponent.java:146)
at apple.awt.CPeerSurfaceData.(CPeerSurfaceData.java:82)
at apple.awt.CPeerSurfaceData.createData(CPeerSurfaceData.java:53)
at apple.awt.ComponentModel.createSurfaceData(ComponentModel.java:438)
at apple.awt.ComponentModel.getSurface(ComponentModel.java:466)
at apple.awt.ComponentModel.getGraphics(ComponentModel.java:453)
at java.awt.Component.getGraphics(Component.java:2475)
at java.awt.Component.getGraphics(Component.java:2463)
at javax.swing.JComponent.getGraphics(JComponent.java:1913)
at java.awt.Component.getGraphics(Component.java:2463)
at javax.swing.JComponent.getGraphics(JComponent.java:1913)
at java.awt.Component.getGraphics(Component.java:2463)
at javax.swing.JComponent.getGraphics(JComponent.java:1913)
at java.awt.Component.getGraphics(Component.java:2463)
at javax.swing.JComponent.getGraphics(JComponent.java:1913)
at java.awt.Component.getGraphics(Component.java:2463)
at javax.swing.JComponent.getGraphics(JComponent.java:1913)
at java.awt.Component.getFontMetrics(Component.java:2512)
at javax.swing.JComponent.getFontMetrics(JComponent.java:1580)
at javax.swing.plaf.basic.BasicGraphicsUtils.getPreferredButtonSize(BasicGraphicsUtils.java:256)
at apple.laf.AquaButtonUI.getPreferredSize(AquaButtonUI.java:630)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1615)
at java.awt.FlowLayout.preferredLayoutSize(FlowLayout.java:368)
at java.awt.Container.preferredSize(Container.java:1558)
at java.awt.Container.getPreferredSize(Container.java:1543)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1617)
at java.awt.FlowLayout.preferredLayoutSize(FlowLayout.java:368)
at java.awt.Container.preferredSize(Container.java:1558)
at java.awt.Container.getPreferredSize(Container.java:1543)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1617)
at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:700)
at java.awt.Container.preferredSize(Container.java:1558)
at java.awt.Container.getPreferredSize(Container.java:1543)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1617)
at javax.swing.JRootPane$RootLayout.preferredLayoutSize(JRootPane.java:824)
at java.awt.Container.preferredSize(Container.java:1558)
at java.awt.Container.getPreferredSize(Container.java:1543)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1617)
at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:690)
at java.awt.Container.preferredSize(Container.java:1558)
at java.awt.Container.getPreferredSize(Container.java:1543)
at java.awt.Window.pack(Window.java:486)
at no.hvrc.radvis.RadVis.d(Unknown Source)
at no.hvrc.radvis.RadVis.(Unknown Source)
at no.hvrc.radvis.RadVisApplication.(Unknown Source)
at no.hvrc.radvis.RadVisApplication.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at apple.launcher.LaunchRunner.run(LaunchRunner.java:88)
at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)

mlouka
Offline
Joined: 2004-06-27
Points: 0

Typical: I installed the latest nightly, and couldn't reproduce the transparency issue I'd seen earlier. Then I put back the older version, and can't reproduce it with that either... Og well.

Michael.

matteoforesti
Offline
Joined: 2005-06-09
Points: 0

I have a tiny problem using JOGL rendering mode:

- setting -Dj3d.rend=jogl on VM parameters;

- modifying the CLASSPATH environment variable to include the full path to jogl.jar;

- modifying the Windows Path environment variable to contain the dll embedded in the native jar library

that's what happens when I try to run my application:

Java 3D [dev] 1.5.0-build3-experimental 02 Jun 2006 14:29:52 PDT

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/opengl/util/BufferUtil
at javax.media.j3d.JoglPipeline.(JoglPipeline.java:3984)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at javax.media.j3d.Pipeline$1.run(Pipeline.java:74)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.Pipeline.createPipeline(Pipeline.java:69)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:800)
at javax.media.j3d.VirtualUniverse.(VirtualUniverse.java:252)
....

I'm sure it's a rubbish, but I can't get out...

kcr
Offline
Joined: 2004-03-17
Points: 0

> I have a tiny problem using JOGL rendering mode:
...
> Java 3D [dev] 1.5.0-build3-experimental 02 Jun 2006 14:29:52 PDT
>
> Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/opengl/util/BufferUtil

This looks like a problem with your JOGL installation. What build of JOGL are you using? JSR-231-beta04 or later is required (beta05 is preferred). The URL is:

https://jogl.dev.java.net/servlets/ProjectDocumentList

Btw, the JOGL pipeline in java3d-1.5.0-build3 still has some umplemented features and one or two known bugs. We plan to release 1.5.0-build4 later this week.

-- Kevin

yowmhong
Offline
Joined: 2003-06-19
Points: 0

Kevin,

I encounter some issues with the JoglPipeline.
1. Sometimes that program won't start with no error
messages.
2. I use BY_REF in GeometryArray exclusively and here
are part of messages captured from the console and
nothing is showing on the screen.

[MyApp] Java 3D [dev] 1.5.0-build3-experimental 02 Jun 2006 14:29:52 PDT

[MyApp] Java 3D: optimize for space disabled
[MyApp] JoglPipeline.getFbConfig()
[MyApp] JoglPipeline.getDisplay()
[MyApp] JoglPipeline.getScreen()
[MyApp] JoglPipeline.createDrawingSurfaceObject()
[MyApp] JoglPipeline.hasDoubleBuffer()
[MyApp] JoglPipeline.hasStereo()
[MyApp] JoglPipeline.getStencilSize()
[MyApp] JoglPipeline.hasSceneAntialiasingMultisample()
[MyApp] JoglPipeline.hasSceneAntialiasingAccum()
[MyApp] JoglPipeline.validGraphicsMode()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.updateLineAttributes()
[MyApp] JoglPipeline.buildGAForByRef()
[MyApp] JoglPipeline.buildGAForByRef()
[MyApp] JoglPipeline.buildGAForByRef()
[MyApp] JoglPipeline.buildGAForByRef()
[MyApp] JoglPipeline.updateLineAttributes()

-- Scott

kcr
Offline
Joined: 2004-03-17
Points: 0

> 1. Sometimes that program won't start with no error messages.

We haven't seen this. Is it reproducible?

> 2. I use BY_REF in GeometryArray exclusively and here are part of messages captured from
> the console and nothing is showing on the screen.

Lots of methods aren't implemented in the jogl pipeline in 1.5.0-build3 (see the release notes). That's what all of the "JoglPipeline.XXXXX" messages are telling you. Try a recent daily build from last week (there was a bug in today's build that will be fixed in tomorrow's build).

-- Kevin

Dmitri Darine

java3d-interest@javadesktop.org wrote:
> Java 3D 1.5.0-build3 is now available.
>
> https://java3d.dev.java.net/binary-builds-pre.html
>
> The main new feature of this release is a preliminary JOGL rendering pipeline. There are also a few bug fixes. The pre-release notes are at:
>
> https://j3d-core.dev.java.net/j3d1_5_0/RELEASE-NOTES-pre.html
>
> Click on the "JOGL Rendering Pipeline" link for a description of the JOGL rendering pipeline and the "Improvements in 1.5.0" link for a list of bug fixes.
>
> -- Kevin
> [Message sent by forum member 'kcr' (kcr)]
>
> http://forums.java.net/jive/thread.jspa?messageID=118827
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: interest-unsubscribe@java3d.dev.java.net
> For additional commands, e-mail: interest-help@java3d.dev.java.net
>
>
>
Does it mean that lightweight canvas is available?

--

Best regards
Dmitri Darine

---------------------------------------------------------------------
To unsubscribe, e-mail: interest-unsubscribe@java3d.dev.java.net
For additional commands, e-mail: interest-help@java3d.dev.java.net

kcr
Offline
Joined: 2004-03-17
Points: 0

The lightweight JCanvas is independent of the JOGL pipeline.

What the JOGL pipeline will eventually provide is a way to accelerate a lightweight JCanvas3D.

-- Kevin

Dmitri Darine

java3d-interest@javadesktop.org wrote:
> The lightweight JCanvas is independent of the JOGL pipeline.
>
> What the JOGL pipeline will eventually provide is a way to accelerate a lightweight JCanvas3D.
>
> -- Kevin
> [Message sent by forum member 'kcr' (kcr)]
>
> http://forums.java.net/jive/thread.jspa?messageID=120958
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: interest-unsubscribe@java3d.dev.java.net
> For additional commands, e-mail: interest-help@java3d.dev.java.net
>
>
>
Ok :)
Is there any point to have non-accelerated JCanvas3D?
And I don't see any JCanvas3D class in the binary build...

--

Best regards
Dmitri Darine

---------------------------------------------------------------------
To unsubscribe, e-mail: interest-unsubscribe@java3d.dev.java.net
For additional commands, e-mail: interest-help@java3d.dev.java.net

otelo
Offline
Joined: 2005-09-14
Points: 0

> Is there any point to have non-accelerated JCanvas3D?

He probably means accelerate as "speed-up". Currently, it's done using some form of off-screen rendering if I'm not mistaken which is terribly slow.

pepe
Offline
Joined: 2003-06-10
Points: 0

JCanvas3D code hasn't been checked in yet, which is why you can't find it in CVS.
I've just responded to a mail from Kevin on that issue. Some progress should be visible soon.

Actually, performance is fine, except when having big canvases, which is something that has yet to be investigated. Flooding swing with 200fps animation might not be the right thing to do, of course, but i can already tell you that the four frames of the screenshot run fine at reasonnable framerates, without hitting the CPU too much.
If you are curious, here is a screenshot of the demo app for the feature. http://frederic.barachant.com/sunTest/ISSUE131Example.PNG
Text on the canvases is drawn using a Graphics2D instance, and as the buffer is delivered as a BufferedImage, everything you imagine can be done. I started a version of the demo showing filtered canvases, but had to stop due to lack of time.

otelo
Offline
Joined: 2005-09-14
Points: 0

> Actually, performance is fine, except when having big canvases, which is something that has yet to be investigated.

Using the jogl renderer or without it? I'm asking because as I wrote in another [url=http://forums.java.net/jive/thread.jspa?threadID=4798&tstart=0]topic[/url] I encountered a lot of problems with offscreen rendering but what bothers me the most is the poor performance (I have provided a test program there) which as I found out [url=http://forums.java.net/jive/thread.jspa?threadID=16015&tstart=0]lately[/url] got amplified for me by another issue with large textured surfaces.

Oh, and offscreen rendering with the d3d renderer in the current release is unusable for any real time rendering, whatever your canvas size might be.

mlouka
Offline
Joined: 2004-06-27
Points: 0

Runs quite nicely on my PowerBook. No crashes yet once running, and it appears to be stable. We're getting quite a few JoglPipeline messages for unimplemented features, but I guess you have an overview of those. Using our (Halden VR Centre) applications, the only noticeable missing features are text 3d and offscreen bitmaps (used for taking snapshots of the view). Only one of our applications (of those tried) fails to start with:

java.lang.RuntimeException: Unimplemented
at javax.media.j3d.JoglGraphicsConfiguration.getColorModel(JoglGraphicsConfiguration.java:79)
at apple.awt.CComponent.getColorModel(CComponent.java:146)
at apple.awt.CPeerSurfaceData.(CPeerSurfaceData.java:82)
at apple.awt.CPeerSurfaceData.createData(CPeerSurfaceData.java:53)
at apple.awt.ComponentModel.createSurfaceData(ComponentModel.java:438)
at apple.awt.ComponentModel.getSurface(ComponentModel.java:466)
at apple.awt.ComponentModel.getGraphics(ComponentModel.java:453)
at java.awt.Component.getGraphics(Component.java:2475)
at java.awt.Component.getGraphics(Component.java:2463)
at javax.swing.JComponent.getGraphics(JComponent.java:1913)

Keep up the good work -- it looks great. Very much appreciated! Visually it's at least on par with the OpenGL renderer on my systems, which is great for us Mac OS X users that have been at the mercy of Apple's outdated port... ;)

mlouka
Offline
Joined: 2004-06-27
Points: 0

Correction: Text 3D appears to work just fine (sorry). The problem I'm seeting is related to some text objects we have in a HUD that are not appearing, apparently because executeRaster() is not implement (only error message I'm seeing in this situation is JoglPipeline.executeRaster()).

mlouka
Offline
Joined: 2004-06-27
Points: 0

Another follow-up: There appear to be depth-sorting issues related to transparent surfaces.

For your info, for a typical startup, I get:

JoglPipeline.getFbConfig()
JoglPipeline.getDisplay()
JoglPipeline.getScreen()
JoglPipeline.createDrawingSurfaceObject()
JoglPipeline.hasDoubleBuffer()
JoglPipeline.hasStereo()
JoglPipeline.getStencilSize()
JoglPipeline.hasSceneAntialiasingMultisample()
JoglPipeline.hasSceneAntialiasingAccum()
JoglPipeline.validGraphicsMode()

and quite a few

JoglPipeline.executeRaster()

Michael.