Java port of Bullet
Re: Java port of Bullet
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
Changes in release 20080303:
- Refactored enums
- Fixed bug that caused occasional jitter
- Added ConvexConcaveCollisionAlgorithm
- Memory optimalizations
- Implemented quantized BVH nodes
- Made ConcaveDemo working
- Erwin Coumans
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
- Contact:
Re: Java port of Bullet
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: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
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
Re: Java port of Bullet
Oh, thanksErwin 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/

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:Just curious, what was the issue that caused the jitter in previous versions?
I'll look into software renderer for next version. Unfortunatelly there is no way to have OpenGL rendering without full permissions.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?
Re: Java port of Bullet
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 wrote:Unfortunatelly there is no way to have OpenGL rendering without full permissions.
Re: Java port of Bullet
I've created applet version of JBullet demos that uses software rendering.
You can see it in action here:
http://jbullet.advel.cz/applet
You can see it in action here:
http://jbullet.advel.cz/applet
- Erwin Coumans
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
- Contact:
Re: Java port of Bullet
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
Thanks for the effort,
Erwin
Re: Java port of Bullet
Try it again, I've fixed minor bug that caused it not to run in Java 5.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?
- Erwin Coumans
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
- Contact:
Re: Java port of Bullet
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
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
Re: Java port of Bullet
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
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
Re: Java port of Bullet
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.
Re: Java port of Bullet
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 ?
Re: Java port of Bullet
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 wrote:... I also suggest you use the Bullet's SVN repository for the java port ?
Re: Java port of Bullet
but it doesn't work with http proxy .... I'll try with a ssh tunnel via my home box
- Erwin Coumans
- Site Admin
- Posts: 4221
- Joined: Sun Jun 26, 2005 6:43 pm
- Location: California, USA
- Contact:
Re: Java port of Bullet
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
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
Re: Java port of Bullet
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)
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)