Saturday, November 28, 2015

I Took the Red Pill; Setting Up Development Environment to Contribute Wildfly (1)

I have been working with JBoss EAP and Wildfly  for almost 2 years and the experiences is quite interesting. Inside JBoss EAP it uses Wildfly as its core JEE server. What I like most in Wildfly  are its easy configuration and management interface, modular design and indeed fast startup.


There were times I had to extensively investigate class loading mechanisms and dependency management with related to Wildfly, which gave me sort of a high confidence about its runtime environment. Its just crazy and made me to dig deep. Here I’m explaining steps required to setup your development environment to start Wildfly contribution.

Prerequisites,
  • Java 8
  • Mavan 3
  • GitHub account 

Setting up a personal repository to work,

1. Fork Wildfly repository into your personal account.
2. Clone your newly forked repository to local workspace.  

$ cd wildfly

3. Add a remote reference to upstream, for pulling future updates .

$ git remote add upstream git://github.com/wildfly/wildfly.git

4. Disable merge commits to your master.

$ git config branch.master.mergeoptions –ff-only

Build the Source Code,

Building WildFly 9 requires Java 8 or newer, make sure you have JAVA_HOME set to point to the JDK8 installation. Build uses Maven 3.

1. Run build.sh script.

$ ./build.sh

but,
Basically all you do is run

$ mvn clean install

or if your don’t want to wait for default testsuites you can do

$ mvn install -Dmaven.test.skip=true

Hakuna matata!


Launch Wildfly,

Built Wildfly zip file can be find in [repository_location]\build\target\

1. Navigate to above mentioned directory.

$ cd build\target\wildfly-10.0.0.CR5-SNAPSHOT\bin

Wildfly supports comes with two operation modes; standalone and domain.
To run Wildfly in standalone mode,

2. Execute standalone.sh script.

$ ./standalone.sh



From another post I’ll explain how to load Wildfly source to IntelliJ Idea and start debugging.



Monday, November 16, 2015

Machine Learning for Fluid Rendering in Video Games


Data-driven Fluid Simulations using Regression Forests from SoHyeon Jeong on Vimeo.

Water is one of elements that 3D animators put a lot of effort to get the perfection. It is really difficult to simulate dynamic movements of millions of particles and it requires huge amount of computational resources, specially for real time video rendering in 3D games.

However a group of researchers from Swiss Federal University of Technology and Disney Research has published a paper that shines some light on above problem with the aid of Machine Learning.

Rather than calculating the movements of each particle or reducing the particle count, this method could predict the dynamic movements of particles accurately. Presented algorithm needs to be trained with a random set of videos which have animated fluid particles with accurate calculations. Furthermore, the algorithm doesn't calculate movements in real-time, rather it predicts according to prior knowledge.

According to researches, this algorithm can render fluid animations 3 times faster than existing methods and can animate nearly 2 million particles in real-time.