Particles Rewrite
top
I'm rewriting Blender's particle system.
It has grown into a quite big modification that will allow many things that were not possible in any way before,
including brush editing for hair, child particles, particles reacting to other particles etc.
To view some images of this progress click the image.
As of 17.6.2007 there will be no more patches since my particles are in a separate branch and can be checked out with svn from https://svn.blender.org/svnroot/bf-blender/branches/particles. I'll try to keep it in synch with trunk on a weekly basis, but this is all really new to me so let's see how it goes.
Builds from my branch can hopefully soon be found for different platforms at www.graphicall.org.
I've now started documenting the new functionality, but be warned: I is no great docwright. So for better or for worse on to the documentation.
The projects progress and perhaps some help in using the new features is visible in the Blender Wiki.
Here are some test animations created with the new particle system:
- boids
- reactions and explode
- explode
- fur in geometry space
- growing strands
- taking shape
- some more shapes
- sticky particles
- softbody dynamics for hair
- strands reacting to wind
- reacting to key mesh deformations
- rain drops
jKEY & jMERGE
top
These are a pair of chromakey plugins for the Blender sequencer. The jKEY plugin is used to extract the key and remove spill,
jMERGE can then used to immerse the jKEY result to the background using color matching & light wrapping.
Disclaimer: I have created these plugins from ideas found on various sources on the net and in my head. As the green/blue/chroma key techniques are generally heavily patented I can't be certain that the methods I've used in these plugins can be used for commercial work without violating some of those patents (the base key construction and spill removal are mostly from Petro Vlahos' now expired patents that Ultimatte® was based on). My own interests are purely on a hobby basis and I don't intend to profit from these plugins in any way.
You can download the source code and precompiled Windows dlls for these plugins here:
Find out what all the parameters do and how to use these plugins.
Optical Flow
top
This is a plugin for the Blender sequencer that implements the Horn & Schunck optical flow algorithm with a multi-resolution approach for better detection of larger motions.
The plugin also has two examples of optical flow field usage: a blend between two frames & motion blur.
You can download the source code and precompiled Windows dll for the plugin here:
Optical flow is the motion of pixels from frame to frame. (more info @ Wikipedia)
So.. what does this plugin do actually?
Particles Modifications
top
This was my first experimentation with the Blender source. I made quite many improvements to the particle system like showing unborn particles,
influencing particle distribution with vertex groups, even distribution, curve guides, texture controlled emission etc.
Most of my improvements got approved to the official 2.40 release.
The messy state of the whole particlesystem code was big obstacle for continuing development of features further and that was one of the main reasons I started the full rewrite of the particle system.
Explode modifier
top
Around the same time I made my particle modification I also made an explode modifier that used particles emitted from a mesh surface to break the surface apart at the same time.
Allthough some nice results were possible with it the implementation was too much a hack to consider moving it to the official source.
In my rewrite of the particle system the possibility to explode objects with particles was taken into account allready at design phase so in my new code the implementation is working faster and much more reliable.
SOM test
top
Done somewhere in 2003. This is just a basic test of Kohonen's self organizin maps,
which are a way of organizing multidimensional data represented by vectors into two dimensions logically.
It this was my first plunge into the subject so the hopes were not too high. Surprisingly the program worked!
Not having proper data sets to test with left me with a lingering feeling that perhaps my code didn't do as good a job as it could have,
but atleast I learned some OpenGL along the way :)
jTrace
top
In the late 2002 school started to feel boring and I started having a terrible urge to really learn to code.
After many "hello worlds" this was the project that got me hooked on programming.
A relatively simple raytracer with multiple lamps with colour, intensity and range. Spheres & tris as objects with location, rotation, color and reflection properties. User defined camera location and supersampling for antialiasing. All parameters were read from a text file and output was done into bmp images.
Thinking back it was slow as hell and not really that high tech at all but oh the joys of getting a proper camera mapping, shading, and reflections working after the countless nights without sleep learning c++ and object oriented programming :)