V

Avatar



Soft particles

Experimenting with ‘soft particles’.





hmm.jellyspikeball

Another ‘hmm’ series experiment. Pick-up/generate an object of your desire and compute distance from a center point to the every vertex. use that distance for the transformations. I used the usual spike ball since its an uniform/symetric object, but it works fine with other shapes. Now, go be creative.

track: NNY – bdybag.





hmm3.2 (the architect)

Last weekend i was watching tv and there was this scene where there was a fly-by a plane and a city was being built just in front of you and after sometime the camera would look back and there it was. The big and awesome city that i can’t find the name. So i thought to myself, i should try and play the architect myself… Here’s some results:





Deep

Deep has been released. After getting some problems at the Beach party’s & compo machine unfortunately it couldnt be shown/released oficially at a demoparty. We thought about releasing it at an american demoparty (Blockparty) but then again it didn’t work out at the compo machine. How lucky for us. So we just took the package and released over the web.. oficially.

ftp://ftp.scene.org/pub/demos/groups/nothing/nothing_ma_-_deep_mov_hd_h264_aac.zip ( HD video )
ftp://ftp.scene.org/pub/demos/groups/nothing/nothing_ma_-_deep_win32.zip ( Windows version ) 
ftp://ftp.scene.org/pub/demos/groups/nothing/nothing_ma_-_deep_macosx.zip ( Mac version )

You’ll need to install cg toolkit to run the demo
http://developer.nvidia.com/object/cg_toolkit.html

Linux version had some issues with the sound library (little endian / big endian crashes on minim) so we didnt export/distribute.

Source code is available on request.





Ray-Sphere intersection

After the creation of [We.are.in.Helsinki,3D] i came across a problemwhen using GL_SELECT opengl mode for intersections and picking. I got few complains that when picking a generator the application freezed. I had two options:  1. Make a simplified version of the generator’s spheres to render on the GL_SELECT mode. 2. Create a function that would tell me which object i clicked on using ray-sphere intersections.

I took option 2 and made an example in processing. It uses my own library, Vitamin. Its in the zipfile, make sure it is in the right place.

Download: http://www.pixelnerve.com/downloads/processing/intersectRaySphere.zip

Explanation:
First i already had my mouse position in 3D. Just had to convert it to world-space and put it in  the magic function that would tell me if the ray has hit anything, in this case a sphere. Magic function below:

// This function is part of the VRay class.
// Takes a point and a radius and returns number of hits
int intersectRaySphereHits( Vector3 center, float radius )
{
  // Solve quadratic equation
  float a = _direction.lengthSqr();
  if (a == 0.0)  return 0;
  float b = 2.0f * (_point.dot(_direction) - _direction.dot(center));
  Vector3 tempDiff = Vector3.sub( center, _point );
  float c = tempDiff.lengthSqr() - (radius*radius);
  float disc = b * b - 4 * a * c;
  if( disc < 0.0f )
    return 0;
  int numIntersections;
  if (disc == 0.0f)
    numIntersections = 1;
  else
    numIntersections = 2;
 
  return numIntersections;
}