Skip to main content

[JAVA3D-INTEREST] Physics ?

8 replies [Last post]
Anonymous

Hi,

I am currently working on three projects that would benefits from a Physics
engine for Java3D (java-robotics.org, jsci.sourceforge.net,
skinandbones.dev.java.net). I am aware that Ode4Java (either sourceforge
binding or dev.java.net binding) exists and is a good package.
Nevertheless, even these two are incompatible and not directly built for
Java3D from the ground. My problem is however the following. I know that
there is a physics package planned for Java3D. I don't know if you are
alpha or anything has been done at all but I would like to know what time
schedule I should expect or even if you are just about to simply plug an
Ode4Java binding or anything. Actually, I need an API ASAP as my three
projects would be able to evolve rapidly (especially skin and bones).

Cheers.

Silvere.

__________________________________________________________________________________________

Silvere Martin-Michiellot builds the Internet future on
www.digitalbiosphere.com
__________________________________________________________________________________________

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

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Mark McKay

>> plug an Ode4Java binding or anything. Actually, I need an API ASAP as
>> my three projects would be able to evolve rapidly (especially skin
>> and bones).
>
>
> Are you doing humaniod rendering with the bones system? If so, you may
> be interested in code that I'm currently developing. We got a NIST
> SBIR to implement the ISO Humanoid Animation specification as part of
> the Xj3D browser. Part of this is the fully skinned mesh system, with
> a structure a little more advanced than a traditional skin and bones
> model. The SBIR is asking for it implemented using hardware shaders,
> with the goal of supporting about 250K triangles at interactive
> framerates. I'm building it as a two part system so that we can
> compare different structures - a basic skeletal representation that is
> renderer independent, and renderer-specific implementations. This will
> allow us to include both Java3D and Aviatrix3D rendering
> implementations (obviously the AV3D renderer will be significantly
> faster as it can make use of the shaders, where J3D will be user-land
> software only).
>
> For more info on the H-anim spec, have a look here:
>
> http://www.h-anim.org/Specifications/H-Anim1.1/
>
> Our Java representation looks very similar to this structure. I have
> the core work in Xj3D already, and expect to be pushing the abstracted
> versions into the j3d.org CVS within the next week or so.
>
Hi Justin,

I'm in the process of uploading a skinned mesh asnimation system I
created for Java3D to java.net under the 'skinandbones' project.
Currently, the source for it can be found at
http://www.kitfox.com/salamander/index.html, with a brief description at
http://www.kitfox.com/salamander/3d/skinAndBones.html.

I've used the Xj3D browser before, though I did not believe that the
VRML specification included skeletal animation.. I'll browse through
HAnim. It looks interesting.

Mark McKay

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

paulby
Offline
Joined: 2003-06-13
Points: 0

I've just submitted a very simple binding for Java3D to OdeJava project on java.net. The binding works although the demo apps could use some more work ;-)

This work was done for some research in Project Looking Glass (http://lg3d.dev.java.net), which uses Java 3D as the rendering layer.

Silvère Martin-Michiellot

At 18:06 07/09/2004, you wrote:
>I've just submitted a very simple binding for Java3D to OdeJava project on
>java.net. The binding works although the demo apps could use some more work ;-)
>
>This work was done for some research in Project Looking Glass
>(http://lg3d.dev.java.net), which uses Java 3D as the rendering layer.

So here my question again: is it meant to be the "official physics package
supported with java3d" (notice the quotes) ?

Thanks.

>---
>[Message sent by forum member 'paulby' (Paul Byrne)]
>
>http://www.javadesktop.org/forums/thread.jspa?messageID=26822棆
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: interest-unsubscribe@java3d.dev.java.net
>For additional commands, e-mail: interest-help@java3d.dev.java.net

__________________________________________________________________________________________

Silvere Martin-Michiellot builds the Internet future on
www.digitalbiosphere.com
__________________________________________________________________________________________

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

paulby
Offline
Joined: 2003-06-13
Points: 0

No there is no official support. Nor do I think we should restrict users options to a single package. Whichever physics implementation suits your application will be wrong for someone elses.

Silvère Martin-Michiellot

At 20:46 07/09/2004, you wrote:
>No there is no official support. Nor do I think we should restrict users
>options to a single package. Whichever physics implementation suits your
>application will be wrong for someone elses.

Ok. This sounds like "it would be nice if someone filled a sub project for
this but we can't afford to do it" but this answers my question.

Thanks a lot.

>---
>[Message sent by forum member 'paulby' (Paul Byrne)]
>
>http://www.javadesktop.org/forums/thread.jspa?messageID=26862森
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: interest-unsubscribe@java3d.dev.java.net
>For additional commands, e-mail: interest-help@java3d.dev.java.net

__________________________________________________________________________________________

Silvere Martin-Michiellot builds the Internet future on
www.digitalbiosphere.com
__________________________________________________________________________________________

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

Justin Couch

Silvère Martin-Michiellot wrote:

> Java3D from the ground. My problem is however the following. I know that
> there is a physics package planned for Java3D.

That's not correct from what I've seen. Doing so would turn Java3D from
just a simple rendering API into something more akin to a game engine,
which is not the stated intent. I believe they are interested in
possibly including or recommending one as part of the utilities
packages, much like there has been some discussions of including the
j3d.org code.

> plug an Ode4Java binding or anything. Actually, I need an API ASAP as my
> three projects would be able to evolve rapidly (especially skin and bones).

Are you doing humaniod rendering with the bones system? If so, you may
be interested in code that I'm currently developing. We got a NIST SBIR
to implement the ISO Humanoid Animation specification as part of the
Xj3D browser. Part of this is the fully skinned mesh system, with a
structure a little more advanced than a traditional skin and bones
model. The SBIR is asking for it implemented using hardware shaders,
with the goal of supporting about 250K triangles at interactive
framerates. I'm building it as a two part system so that we can compare
different structures - a basic skeletal representation that is renderer
independent, and renderer-specific implementations. This will allow us
to include both Java3D and Aviatrix3D rendering implementations
(obviously the AV3D renderer will be significantly faster as it can make
use of the shaders, where J3D will be user-land software only).

For more info on the H-anim spec, have a look here:

http://www.h-anim.org/Specifications/H-Anim1.1/

Our Java representation looks very similar to this structure. I have the
core work in Xj3D already, and expect to be pushing the abstracted
versions into the j3d.org CVS within the next week or so.

--
Justin Couch http://www.vlc.com.au/~justin/
Java Architect & Bit Twiddler http://www.yumetech.com/
Author, Java 3D FAQ Maintainer http://www.j3d.org/
-------------------------------------------------------------------
"Look through the lens, and the light breaks down into many lights.
Turn it or move it, and a new set of arrangements appears... is it
a single light or many lights, lights that one must know how to
distinguish, recognise and appreciate? Is it one light with many
frames or one frame for many lights?" -Subcomandante Marcos
-------------------------------------------------------------------

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

Silvère Martin-Michiellot

At 19:58 06/09/2004, you wrote:
>Silvère Martin-Michiellot wrote:
>
>>Java3D from the ground. My problem is however the following. I know that
>>there is a physics package planned for Java3D.
>
>That's not correct from what I've seen. Doing so would turn Java3D from
>just a simple rendering API into something more akin to a game engine,
>which is not the stated intent. I believe they are interested in possibly
>including or recommending one as part of the utilities packages, much like
>there has been some discussions of including the j3d.org code.

Whatever. Included, put along, I just want to know what is official.

BTW, I forgot to tell that j3d.org has also the beginning of something with
the nice particle system from Daniel Selman.

>>plug an Ode4Java binding or anything. Actually, I need an API ASAP as my
>>three projects would be able to evolve rapidly (especially skin and bones).
>
>Are you doing humaniod rendering with the bones system?

I am chatting with Kitfox (skinandbones owner) about something we could do.
Results might appear pretty rapidly... or not.

>If so, you may be interested in code that I'm currently developing. We got
>a NIST SBIR

SBIR ? What is that ?

> to implement the ISO Humanoid Animation specification as part of the
> Xj3D browser. Part of this is the fully skinned mesh system, with a
> structure a little more advanced than a traditional skin and bones model.

Yeah. I have seen the features from your last release a couple of days ago.
I don't really understand if this is direct Hanim support (VRML/XJ3D code)
or something more useful from a basic Java3d view. I can't find the page
again. I haven't looked at the code but may be you could extract the
relevant portion and send it to me and Kitfox.

( http://xj3d.org/extensions/index.html in general is worth as an effort
but I also wonder if this should be Java3D or X3D supported or both)

My HAnim code is quite old, based on HAnim 1.1. Of course this doesn't mean
anything since this is a package for pure Java3D and not a VRML loder with
an extension. Nevertheless the intend was to provide the VRML feeling when
using this package (:ie rotation and translation fields instead of
transform3D). There is no skin deformation but it is useful as a basis for
1. interoperation with a well defined standard 2. a code with lots of basic
data (body architecture) to reuse.

Perhaps you will want me to send you my code ;)

> The SBIR is asking for it implemented using hardware shaders, with the
> goal of supporting about 250K triangles at interactive framerates.

I don't get the link between shaders and character animation ???

>I'm building it as a two part system so that we can compare different
>structures - a basic skeletal representation that is renderer independent,
>and renderer-specific implementations. This will allow us to include both
>Java3D and Aviatrix3D rendering implementations (obviously the AV3D
>renderer will be significantly faster as it can make use of the shaders,
>where J3D will be user-land software only).
>
>For more info on the H-anim spec, have a look here:
>
>http://www.h-anim.org/Specifications/H-Anim1.1/

I know this one pretty well.
;)

>Our Java representation looks very similar to this structure. I have the
>core work in Xj3D already, and expect to be pushing the abstracted
>versions into the j3d.org CVS within the next week or so.

We should really take some time to compare our code.

>--
>Justin Couch http://www.vlc.com.au/~justin/
>Java Architect & Bit Twiddler http://www.yumetech.com/
>Author, Java 3D FAQ Maintainer http://www.j3d.org/
>-------------------------------------------------------------------
>"Look through the lens, and the light breaks down into many lights.
> Turn it or move it, and a new set of arrangements appears... is it
> a single light or many lights, lights that one must know how to
> distinguish, recognise and appreciate? Is it one light with many
> frames or one frame for many lights?" -Subcomandante Marcos
>-------------------------------------------------------------------
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: interest-unsubscribe@java3d.dev.java.net
>For additional commands, e-mail: interest-help@java3d.dev.java.net
>

__________________________________________________________________________________________

Silvere Martin-Michiellot builds the Internet future on
www.digitalbiosphere.com
__________________________________________________________________________________________

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

jcouch
Offline
Joined: 2006-02-17
Points: 0

GAAAAAAAAH! This list is really starting really annoy me. I sent 3 replies to day, one comes through, two disappear into the eather. What sort of POC is this setup? This is a cut & past of my earlier replies:

Silvère Martin-Michiellot wrote:

> BTW, I forgot to tell that j3d.org has also the beginning of something with the nice particle system from Daniel Selman.

Ah yes. Alan's been bugging me to get the Java3D version going again. I got the AV3D version running again a couple of months ago, but for some reason, the Java3D version that I thought was there has disappeared! Not sure if it was done on my old laptop and I forgot to commit it to CVS or what happened :(

> SBIR ? What is that ?

Ah... US government grant system that they give to small business to
do research and commercialisation of the end result. Our grant is specifically aimed at the medical visualisation end of the spectrum - modelling the full complexity CESEAR models.

> Yeah. I have seen the features from your last release a couple of days ago. I don't really understand if this is direct Hanim support (VRML/XJ3D code) or something more useful from a basic Java3d view.

Right now, it is direct HAnim skeleton-only support at the Xj3D level. There is no Java3D code at all for it. Doing the automatic mesh update work is our next capability (we already have it running externally, but we need to include it in the scene graph).

> can't find the page again. I haven't looked at the code but may be you could extract the relevant portion and send it to me and Kitfox.

Right now we can't due to the licensing of the existing code that we have from another source. We're rewriting it all and then pushing it out as open source code.

> ( http://xj3d.org/extensions/index.html in general is worth as an effort but I also wonder if this should be Java3D or X3D supported or both)

Our aim, and one of the requirements of the SBIR is some performance comparisons. The SBIR is purely aimed at the X3D level and not as a general capability. However, like all our code, we try to make it as broadly applicable to everyone as possible. So that means that now we have the concepts proven, we do another abstraction pass and push as much of it into the general j3d.org area, then build the renderer-specific parts (under org.j3d.), which we then use as a library in the Xj3D node implementation.

> My HAnim code is quite old, based on HAnim 1.1. Of course this doesn't mean anything since this is a package for pure Java3D and not a VRML loder with an extension. Nevertheless the intend was to provide the VRML feeling when using this package (:ie rotation and translation fields instead of transform3D). There is no skin deformation but it is useful as a basis for 1. interoperation with a well defined standard 2. a code with lots of basic data (body architecture) to reuse.
>
> Perhaps you will want me to send you my code ;)

Certainly would like to have a look at it. We're already most of the way through the abstraction work ourselves, but it would be nice to compare it to what someone else has done!

> I don't get the link between shaders and character animation ???

In a traditional skin and bones system, the multiplication of all the weighting matrices to each vertex is done on the CPU. This is extremely maths intensive as it involve hundreds of thousands of floating point calculations. That makes it rather slow. If you wanted to limit yourself to native code, and use of hand-rolled SSE assembly code, you can get some fairly significant performance boosts, but you're still based on the CPU. You can do the same calculations, plus some extra optimisations, by pushing all those vertex weighting calculations off into a vertex shader, which is executed on the GPU. A CPU is still limited to a single stream of instructions, but the GPU has multiple parallel execution units. That means on something like the R300-based ATI cards, I can be evaluating up to 8 vertices in parallel on the shader, in the time I can evaluate a single vertex on the CPU with hand-optimised SSE ASM code. Naturally, with well optimised code, that can lead to an extremely significant performance boost for very high resolution models.

> We should really take some time to compare our code.

Certainly! You know my email addresss :) We'll definitely be moving it to the next level of the skin mesh animation handled internally, so that's probably going to be quite useful for you whether you stay with Java3D or more to one of the other APIs (our shader work will probably slot straight into the Xith3D framework relatively simply for example, in addition to our own Aviatrix3D scene graph).

Mark McKay wrote:

> I'm in the process of uploading a skinned mesh asnimation system I created for Java3D to java.net under the 'skinandbones' project. Currently, the source for it can be found at http://www.kitfox.com/salamander/index.html, with a brief description at http://www.kitfox.com/salamander/3d/skinAndBones.html.

Nice. The HAnim spec is a bit more verbose and special-purposed than a tranditional skin and bones system.

> I've used the Xj3D browser before, though I did not believe that the VRML specification included skeletal animation.. I'll browse through HAnim. It looks interesting.

IIRC the Amendment 1 included the HAnim spec nodes as part of it. For X3D, it was included as part of the core spec. Some of our work is going to propose a new node, because the existing node structure gets in the way of doing hardware accelerated rendering (specifically, having to read the values back into the Coordinate node, and if an IndexedFaceSet is used, for automatic normal generation combined with the creaseAngle field).