Tuesday, May 31, 2011

Applets are taken offline.

The applet hosting for this blog has been taken offline and will no longer be maintained. So applet and demo links will no longer work.

Saturday, February 5, 2011

Simplex3D.org has been launched!

Simplex3D Project has a new website: simplex3d.org. From now on, all the programming and 3D discussions will happen there. This blog will become more of personal thing to post a rant when the need arises.

Wednesday, September 1, 2010

Simplex3dMath 1.0 is out!

The 1.0 version of the math library is out and the API is now stable.
There may be some future additions and improvements, but the core API
will remain unchanged.

Head to the project page for more details.

Thursday, June 10, 2010

Mercury Demo.



An alpha version of Simplex3dBuffer library has been released! It naturally extends the math library capabilities into processing large sets of numertical data.

With the help of buffer library the task of generating dynamic models becomes a breathe. Take a look at the Mercury demo below (requires OpenGL 2.0):

Launch Demo

A list of Simplex3dBuffer features and short code snippets are available here

Tuesday, March 2, 2010

Setting -Xmx for Scala compiler in Netbeans.

After upgrading to a latest Scala nightly I was no longer able to compile one of my projects. Clean and build would result in either "java.lang.OutOfMemoryError: GC overhead limit exceeded" or "java.lang.OutOfMemoryError: Java heap space".
An extensive google search revealed no solutions. Finally, after looking at the some source code, I was able to track down an undocumented option for Scala compiler ant plugin that Netbeans is using. I am posting a quick solution below. Hopefully it will be useful for someone who has stumbled upon the same problem.


Setting -Xmx for Scala compiler in Netbeans v6.8 using Scala-kit v0.16.1:

1. In Netbeans, open the file view of your project (tab "Files").

2. Navigate to "{project_home}/nbproject" and open "build-impl.xml".

3. find the following line:
scalac addparams="-make:transitive -dependencyfile ${basedir}/${build.dir}/.scala_dependencies @{addparams}" deprecation="${scalac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" extdirs="@{extdirs}" force="yes" fork="true" includes="@{includes}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="jvm-${javac.target}" unchecked="${scalac.unchecked}"

4. Add jvmargs option with desired jvm options (in this case jvmargs="-Xmx1024m")
scalac addparams="-make:transitive -dependencyfile ${basedir}/${build.dir}/.scala_dependencies @{addparams}" deprecation="${scalac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" extdirs="@{extdirs}" force="yes" fork="true" jvmargs="-Xmx1024m" includes="@{includes}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="jvm-${javac.target}" unchecked="${scalac.unchecked}"

5. Done. Now you can clean and build your project without OutOfMemoryError.

Wednesday, January 27, 2010

Released Simplex3d Math beta3

The math library has been updated. Beta3 version fixes some bugs and many corner cases. Transformations have been completely redesigned for both performance and ease of use.

Most of the code has been unit tested, though there are still some constructors and math methods remaining.

Download

Simplex3d IRC Channel

An official IRC channel for the Simplex3d project has been registered. Feel free to drop by to discuss any issues related to the project.

Join the channel

Sunday, December 20, 2009

Source Code for Gears Applet.

Here is the source code for gears applet.

There are a couple of tricks to make it run faster. You can open the applet jnlp file to see how to enable those features.

First trick is to enable Java2D OpenGL pipeline:
-Dsun.java2d.noddraw=true -Dsun.java2d.opengl=true

Also you could use some general performance enhancement switches:
-XX:+DoEscapeAnalysis -XX:+AggressiveOpts

Another suggestion I have received is to run the applet in a separate jvm.

Tuesday, October 20, 2009

First app using simplex3d.math!



I've been dying to try out the noise function for a while. So here is the result of that experiment:

run kaleidoscope applet

The fun part of this applet is written in Scala. Then there is a panel coded in Java to act as a view. And finally, the JavaFX applet to wrap it nicely for the web. So far these three seem to be getting along very well.

Monday, October 19, 2009

Scala vector math library released.

Just released a math library for Scala. It has a syntax that is very similar to GLSL. Check it out. Any feedback is welcomed.

Compiler plugin is planned but not implemented yet. Stay tuned.

Sunday, August 16, 2009

JavaFX with JOGL



JavaFX carries one big advantage over other technologies: it can have full access to OpenGL. It may take a couple of seconds longer to load, but instead of minimal games you have the opportunity to play modern, fully accelerated 3D games.

Moreover, JavaFX makes it easier to develop these games. You can fully utilize JavaFX widgets and effects on top of your 3D world view.

Soon we will be able to see many games running full 3D, right inside our browsers. Here is a proof of concept demo. Of course you are required to have 3D drivers installed to run it. Also requires Java version 1.6u15 or higher.

run applet

Perhaps the most interesting part of this applet is that the JOGL Gears demo can be embedded in JavaFX without any modifications. The changes were made only to introduce new functionality (pause gears, change the speed, and read fps counter).
In general, minimum to no changes are required to embed JOGL games in JavaFX.