Java port of Bullet

jezek2
Posts: 40
Joined: Fri Jan 11, 2008 8:33 am

Re: Java port of Bullet

Post by jezek2 » Mon Mar 03, 2008 2:11 pm

New version available on JBullet homepage.

Changes in release 20080303:
- Refactored enums
- Fixed bug that caused occasional jitter
- Added ConvexConcaveCollisionAlgorithm
- Memory optimalizations
- Implemented quantized BVH nodes
- Made ConcaveDemo working

User avatar
Erwin Coumans
Site Admin
Posts: 4073
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Java port of Bullet

Post by Erwin Coumans » Mon Mar 03, 2008 6:48 pm

jezek2 wrote:New version available on JBullet homepage.

Changes in release 20080303:
- Refactored enums
- Fixed bug that caused occasional jitter
- Added ConvexConcaveCollisionAlgorithm
- Memory optimalizations
- Implemented quantized BVH nodes
- Made ConcaveDemo working
That is really great to be able to run JBullet in a browser, thanks for the effort. I put up a link on the Bullet frontpage:
http://www.bulletphysics.com/Bullet/wordpress/

Just curious, what was the issue that caused the jitter in previous versions?

Do you have any timeline/plan for when you provide OpenGL rendering that doesn't require permission?
Is it only software-rendering, or is there any permission free Java3D that can do this?

Thanks a lot,
Erwin

jezek2
Posts: 40
Joined: Fri Jan 11, 2008 8:33 am

Re: Java port of Bullet

Post by jezek2 » Mon Mar 03, 2008 8:00 pm

Erwin Coumans wrote:That is really great to be able to run JBullet in a browser, thanks for the effort. I put up a link on the Bullet frontpage:
http://www.bulletphysics.com/Bullet/wordpress/
Oh, thanks :)
Erwin Coumans wrote:Just curious, what was the issue that caused the jitter in previous versions?
The cause was that in Java's Vecmath, setting rotation of Quat4f from Matrix3f didn't handle case when trace <= 0 (as in btMatrix3x3::getRotation) and simply set zero rotation. (EDIT: it seems that Vecmath uses some different code, and handles other cases, but it was still setting zero rotation sometimes)
Erwin Coumans wrote:Do you have any timeline/plan for when you provide OpenGL rendering that doesn't require permission?
Is it only software-rendering, or is there any permission free Java3D that can do this?
I'll look into software renderer for next version. Unfortunatelly there is no way to have OpenGL rendering without full permissions.

jezek2
Posts: 40
Joined: Fri Jan 11, 2008 8:33 am

Re: Java port of Bullet

Post by jezek2 » Mon Mar 03, 2008 8:20 pm

jezek2 wrote:Unfortunatelly there is no way to have OpenGL rendering without full permissions.
Actually there is one limited way. Java2D can use OpenGL pipeline for rendering, and can be enabled in Webstart even for unsigned applications (but not in applets before Java 6uN "the consumer JRE" will be available). The catch is that it's probably usable only in Java 6 and with recent drivers, also there is no way to use z-buffer from Java2D as far as I know.

jezek2
Posts: 40
Joined: Fri Jan 11, 2008 8:33 am

Re: Java port of Bullet

Post by jezek2 » Sat Mar 08, 2008 11:20 am

I've created applet version of JBullet demos that uses software rendering.

You can see it in action here:
http://jbullet.advel.cz/applet

User avatar
Erwin Coumans
Site Admin
Posts: 4073
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Java port of Bullet

Post by Erwin Coumans » Sat Mar 08, 2008 5:35 pm

I just tried it on my Intel Mac OSX, and both Safari and Firefox just show a black screen. Are there any settings to tune, to make it work?

Thanks for the effort,
Erwin

jezek2
Posts: 40
Joined: Fri Jan 11, 2008 8:33 am

Re: Java port of Bullet

Post by jezek2 » Sat Mar 08, 2008 6:19 pm

Erwin Coumans wrote:I just tried it on my Intel Mac OSX, and both Safari and Firefox just show a black screen. Are there any settings to tune, to make it work?
Try it again, I've fixed minor bug that caused it not to run in Java 5.

User avatar
Erwin Coumans
Site Admin
Posts: 4073
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Java port of Bullet

Post by Erwin Coumans » Sat Mar 08, 2008 7:15 pm

Nice work, it works now.

Some last requests for the software version would be wireframe/debug drawer support and performance counter, showing milliseconds spend on physics and rendering (separate).

Would the software renderer be faster in wireframe?

Thanks,
Erwin

jezek2
Posts: 40
Joined: Fri Jan 11, 2008 8:33 am

Re: Java port of Bullet

Post by jezek2 » Tue Mar 11, 2008 11:38 am

New version available on JBullet homepage.

Changes in release 20080311:
- Added some JavaDoc documentation
- Added RaycastVehicle and VehicleDemo
- Refactored accessing of vertex data
- Added CylinderShape
- Implemented ray/trimesh hit detection
- Added applet demo
- Added binaries and dependant libraries into package

jezek2
Posts: 40
Joined: Fri Jan 11, 2008 8:33 am

Re: Java port of Bullet

Post by jezek2 » Fri Mar 14, 2008 7:51 am

Erwin, I have a small question for you. It's about using "com.bulletphysics." Java package for JBullet. Currently there is temporal "javabullet." which I would like to change as it's against Java conventions. The usage of your domain is purely convention for distincting different libraries, it doesn't need anything from your side. I'm asking because I don't know if you're comfortable with that, or not. I might as well use the current domain where JBullet is hosted, but even that it's "independent" project I feel your domain is better for the package name.

LvR
Posts: 13
Joined: Mon Mar 17, 2008 8:09 am

Re: Java port of Bullet

Post by LvR » Tue Mar 18, 2008 11:06 am

I think it would be great to use this package name, and if Erwin is ok, I also suggest you use the Bullet's SVN repository for the java port ?

jezek2
Posts: 40
Joined: Fri Jan 11, 2008 8:33 am

Re: Java port of Bullet

Post by jezek2 » Tue Mar 18, 2008 11:31 am

LvR wrote:... I also suggest you use the Bullet's SVN repository for the java port ?
I prefer to use Monotone VCS. I might add automatic snapshot generation whenever new patch is available, if that would be easier for contributors. But I think that Monotone is easy to use, for the common task of getting latest development version you just download it and copy&paste the three commands on the web. For contributors Monotone can be even better, as it allows committing right away in private copy without authorization of central server, and then sending me more than one patch (or just syncing the repositories if they're good).

LvR
Posts: 13
Joined: Mon Mar 17, 2008 8:09 am

Re: Java port of Bullet

Post by LvR » Tue Mar 18, 2008 11:53 am

but it doesn't work with http proxy .... I'll try with a ssh tunnel via my home box

User avatar
Erwin Coumans
Site Admin
Posts: 4073
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: Java port of Bullet

Post by Erwin Coumans » Sat Mar 22, 2008 11:26 pm

Sure, you can use "com.bulletphysics." Java package for JBullet.

Let me know if you need anything else. We can create a separate forum section for ports of Bullet here. Or add some links to JBullet if you like.

Thanks for the great work, and please keep us updated!
Erwin

jezek2
Posts: 40
Joined: Fri Jan 11, 2008 8:33 am

Re: Java port of Bullet

Post by jezek2 » Wed Jul 16, 2008 6:35 pm

New version available on JBullet homepage.

Changes in release 20080716:
- Fixed bug in conversion between planes and point cloud
- Added DynamicControlDemo (contributed by Olivier OUDIN)
- Changed package from "javabullet" to "com.bulletphysics"
- Bug fix for constructor with pivots and axis in HingeConstraint (contributed by Olivier OUDIN)
- Converted to use JStackAlloc
- Converted to use output parameter when returning vectors, etc.
- Updated existing code to match Bullet 2.70-beta1
- Added ShapeHull
- Ported original version of HashedOverlappingPairCache
- Removed optional dependency on GNU Trove
- Added AxisSweep3
- Added profiling support
- Changed to make single thread build by default
- Changed to use nanoTime
- Added HelloWorld demo (contributed by Clark Dorman)

Post Reply