Liquid Simulation test for Simphy

We tried porting liquidfun (just a quick port with no optimizations) and the results are quite encouraging.
Have a look at these example videos

We are getting 60 fps with approx 5000 particles on 4 year old core i3 laptop, which I think is quite descent.

But porting liquid fun required few changes in Transform, World, Vector2 and raycasting callbacks(other classes remain intact). Obviously it is not yet ready to be released with this version of simphy, it will need huge framework changes in simphy, so hoping it to be released in next major release.

Added Vector Field support to Calc3D

After 5 years, there is something to talk about calc3D, a 3D plotter built in java. Calc3D is now updated to support Vector Field. Now Vector field in cartesian form can also be plotted using it.

TWL port of JOGL

I have just written JOGL port of TWL:Theme Widget Library.
I am planning to rewrite/replace my own opengl gui library used in my project simPHY: the 2D physics simulator, thats why I compared various available opengl gui libraries like nifty-gui, twl, nuklear etc and I found twl to be best suited for my use especially because of its powerful textarea and theming capability. Sooner or later I may use it or modify my library to incorporate these features.

You can find the maven project at github.

how does it differ from original twl

this jogl port of twl library intended to work with newt in jogl, so main changes madeto library are

  • all keycodes, mouse events are mapped to newt keyevents
  • new jogl renderer is added
  • new jogl input processor is added
  • newt window and jogl animator are used to create display
  • jogl effects rendered is used for twl effects
  • several small tweaks to make it work with jogl

who else can use it

Anyone planning to use full featured opengl gui in jogl (to avoid multithreading conflict on combining swing with opengl). MatthiasMann is kind enough to freely share his awesome library with us. For commmercial use please contact MatthiasMannsince he is the one who holds all rights, there is no restriction in distributing or reusing code from my behalf.

how to use it

  • Download ind install eclipse
  • Download the repo and extract it
  • Open eclipse and import >>Maven >>Existing maven Project
  • Right click on project and click on menu Run As >>Maven install
  • You will see jar jogl-twl-test-1.0-SNAPSHOT.jar inside project folder jogl-twl-maven\jogl-twl-maven\jogl-twl-test\target
  • Run jar and click on test buttons to see demo You should get an idea about using twl in jogl by looking at the source. For tutorials on using twl please visit

Let me know if it is of some use to you.

Plotter in SimPHY is rewamped !

Plotter in SimPHY is updated with several enhancements and tweaks, to make is more interactive and powerful.

The update mainly focuses on smoothing of curve/plot(which can clearly be seen in screenshot) and ability to plot graph between any two parameters rather than plot with time as x axis as in previous version.
Read more

SimPHY (Beta Version) updated to 0.9

SimPhy is updated to new version which involves many tweaks and some long desired features. This updated is mainly intended for better visualization support to understand physics better.
Read more

Simphy 0.8 (Beta Version) released

After a big time gap Simphy is updated version 0.8 with many new improvements and several bug fixes and improvements.

Biggest Update ever done in Simphy!

This update mainly features following enhancements ..

Read more

Gui Elements added to Simphy

SimPHY now supports its own gui elements which respond to their associated events through scripts.
Button: allows user to write script on its onClick() event. for example

function button_onclick(){
    var disc = world.addDisc(0.3)

adds disc of radius 0.3 at origin whenever button is pressed.

Read more

Scripting added to SimPHY

The long awaited feature finally makes its place in simphy. Now it includes scripting support on world events

like onStart, onStop, onUpdate  or there is a collision between objects etc.

SimPHY is now more power-full and more robust

SimPHY supports javascript syntax for scripting. All the objects and joints created are available as javascript variables to deal with.

Read more