Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (495)
Games in Android Showcase (114)
games submitted by our members
Games in WIP (563)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  ODE Physics for Java  (Read 4326 times)
0 Members and 1 Guest are viewing this topic.
Offline DaveLloyd

Junior Member




Making things happen fast with Java!


« Posted 2003-09-19 19:46:50 »

Hi Folks,

I will be very shortly releasing a Java binding for the ODE physics library. It's not pure Java using JNI as it does and I've only built on Windows to date - but all components should build under Linux et al. However it is pretty fast and comes with a trimesh collider. It uses the new direct buffers to share data between Java and ODE.

Keep an eye on www.shortfuze.co.uk for news (sorry it's on the end of a wet piece of string for the moment).
I've a few other useful components in the pipeline as well...

Cheers,
Dave Lloyd
Short Fuze Ltd

Offline della

Junior Newbie




Java games rock!


« Reply #1 - Posted 2003-09-24 11:57:10 »

Sounds interesting. What do you mean with very shortly? Weeks? Months?

Please, keep us up to date about your work!
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #2 - Posted 2003-09-24 15:49:08 »

I would love to see this migrate to a 100% java version, but obviously that's way too much work.

Very cool though.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Markus_Persson

JGO Wizard


Medals: 15
Projects: 19


Mojang Specifications


« Reply #3 - Posted 2003-09-25 06:39:48 »

Is this the same as this?

Play Minecraft!
Offline DaveLloyd

Junior Member




Making things happen fast with Java!


« Reply #4 - Posted 2003-09-27 12:45:19 »

I'm hoping to get the first release out in the next week or two. If anyone is particularly keen please feel free to bug me directly via dave at chaos dot org dot uk!

The Fuze3D implementation is independent of odeforjava - I only found out about that when I was well underway and I believe my implementation is now more update as it works with ODE 0.039 which has the OPCODE support built in.

As for a pure Java version yes that would be great. Though for performance reasons what I would like to do is to reimplement the structural layers of ODE in Java but to leave the solvers in native code - these can take advantage of the SIMD operations available on most processors. Ideally of course we need a BLAS (Basic Linear Algebra Subroutines) binding for Java and do it once!

Offline shawnkendall

Senior Member





« Reply #5 - Posted 2003-09-28 00:05:55 »

The 1.4.2 JVM uses SIMD automagically.
After all our VecMath tests, I can confidently say that an all Java version would the the fastest possible runnign in a VM environment.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline DaveLloyd

Junior Member




Making things happen fast with Java!


« Reply #6 - Posted 2003-09-28 01:13:24 »

Quote
The 1.4.2 JVM uses SIMD automagically.
After all our VecMath tests, I can confidently say that an all Java version would the the fastest possible runnign in a VM environment.


It is heartening to hear that but I still suspect that for something as complex as the solver kernel, superscalar optimised code will have a significant edge. The JVM bytecode doesn't provide sufficient information to do all of this. When I was working on a superscalar Fortran90 compiler I could get a good factor of 2 or even 5 just from the extra abstraction provided in F90 and there was usually a factor of 2 left for hand optimisation for specific problem sizes. Mind you the current implementation of ODE doesn't go this far either!

Offline Ruru

Junior Newbie




Love the world, but use protection....


« Reply #7 - Posted 2003-09-28 23:28:43 »

This project sounds great. I will definitely be giving it a look.

I tried a while ago to use odeforjava and found that it only compiled for linux. (this may have changed of course) I did my best with the make files, but I certainly no expert in that area. I am sure a make expert would have been able to make it go.


--
More than likely I have offended you with the above post. Don't feel bad, we are often upset by things we are too damned stupid to understand.
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #8 - Posted 2003-09-29 11:46:17 »

Quote
The 1.4.2 JVM uses SIMD automagically..


I was told during a Sun Net Chat that this was NOT the case.  SSE/SSE2 instructions are used by the 1.4.2 SERVER VM, but only for floating point operations that are NOT SIMD.

Offline shawnkendall

Senior Member





« Reply #9 - Posted 2003-09-29 13:52:30 »

Yes, the release ntoes say Server HoptSpot
http://java.sun.com/j2se/1.4.2/changes.html#runtime

But I'm not sure what you mean here
Quote
SSE/SSE2 instructions are used by the 1.4.2 SERVER VM, but only for floating point operations that are NOT SIMD.


What does "floating point operations that are NOT SIMD" mean?

And actually, more specific information on how/what gets SIMDed would be excellent.  I've pinged my sources at Sun but no responce anymore :-(

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #10 - Posted 2003-09-29 14:50:46 »

I mean they don't use any vector instructions, but they do use the SSE registers

Offline shawnkendall

Senior Member





« Reply #11 - Posted 2003-09-29 21:19:18 »

Quote
I mean they don't use any vector instructions, but they do use the SSE registers

Dammit! What's the hold ups?!  Wink

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #12 - Posted 2003-09-29 23:48:55 »

From the transcript at http://developer.java.sun.com/developer/community/chat/JavaLive/2003/jl0429.html

SWP2: I noticed that the HotSpot compiler in Intel is now able to generate SSE instructions. In what situations would SSE instructions be used?

Ken Russell: The HotSpot Server compiler now generates SSE and SSE2 instructions depending on processor level; PIII will cause SSE (single-precision floating point) instructions to be used, while P4 will cause SSE2 (double-precision) instructions to be used as well. Only the scalar instructions (not the vector versions) are currently emitted.

Offline zacw

Junior Newbie




Java games rock!


« Reply #13 - Posted 2003-11-23 03:59:12 »

Any updates on this?  You said you would release your binding "shortly" back on Sept 19th 2003 and it's Nov 22 and still no releases at www.shortfuse.co.uk.  

The project sounds promising and I'm anxious to check it out.
Offline William Denniss

JGO Coder


Projects: 2


Fire at will


« Reply #14 - Posted 2003-11-24 01:43:06 »

News about a different ODE bindings project is currently being discussed in the Xith3D forum: http://www.java-gaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=xith3d;action=display;num=1069584768

Will.

Offline Kevdog

Junior Member





« Reply #15 - Posted 2003-12-05 20:18:23 »

I'm willing to bet that by the time someone did a full 100% Java port of ODE, the newest JVM would use more SSE and SSE2 instructions, even the vector ones. Cheesy

There are only 10 types of people, those who understand binary and those who don't!
Offline Jani Laakso

Junior Member




Do it with Java!


« Reply #16 - Posted 2003-12-07 12:43:26 »

Please see http://odejava.dev.java.net

This project has comprehensive Java API for ODE, it is almost one to one to ODE's C++ class.

Four demos included using Xith3d, jME and console (no rendered).

Below is a small intro on what to do with the demos:

runXith3dBox.bat
-change simulations by pressing 1,2 or 3.  Keys q,w,e,a,s,d change box sizes (select new simulation after this). Mouse drag with left mouse button adds some spin to boxes and plain left click to bottom or top of the screen gives big force to last object (try it with tower simulation as all boxes are connected to each other using ODE's joints).

runXith3dCar.bat
-you can try to drive around with a,d,w,s keys. b is handbrake (on/off) and keys 1,2,3 change the camera position. Space resets the simulation. Ode's parameters are bit hairy, fix if you want.

runOdeHelloWorld.bat
-runs console based test with couple objects falling to a ground, with no rendered attached to it, so this is a bit dull demo.

runJmeBox.bat
-help is displayed inside the application


Linux and MacOS binaries are also available separately but we have not yet integrated these to the release file.
Offline Mark Thornton

Senior Member





« Reply #17 - Posted 2003-12-22 08:11:54 »

Quote
Ideally of course we need a BLAS (Basic Linear Algebra Subroutines) binding for Java and do it once!


There are of course a number of BLAS bindings for Java, some of which are quite fast. See here http://hoschek.home.cern.ch/hoschek/colt/ for example.  That comes from people who REALLY know about physics!
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Dwinin (28 views)
2014-09-12 09:08:26

Norakomi (57 views)
2014-09-10 13:57:51

TehJavaDev (72 views)
2014-09-10 06:39:09

Tekkerue (37 views)
2014-09-09 02:24:56

mitcheeb (57 views)
2014-09-08 06:06:29

BurntPizza (43 views)
2014-09-07 01:13:42

Longarmx (27 views)
2014-09-07 01:12:14

Longarmx (34 views)
2014-09-07 01:11:22

Longarmx (34 views)
2014-09-07 01:10:19

mitcheeb (40 views)
2014-09-04 23:08:59
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!