In the computer programming, vector slime refers to a class of visual effects achieved by procedural deformation of geometric shapes. The techniques appear in programming demos.
Synopsis
editA geometric object exposed to vector slime is usually defined by vertices and faces in two or three dimensions. In the process of deformation, each vertex in the original shape undergoes one or more linear transformations (usually rotation or translation), defined as a function of the vertex' position in space (usually a function of the magnitude of the vector) and time. The desired result is an animated geometric object behaving in a harmonic way, creating some degree of illusion of physical realism.
Older vector slime implementations kept old copies of the rendering result from simple vector objects in RAM, and selected scan-lines from the different buffers in order to make a time-displacement illusion over the y-axis.
Appearance
editDepending on variances in implementation, vector slime can approximate an array of physical properties. A traditional approach is to let the linear transformation vary as a smooth function of time minus the magnitude of the vector in question. This creates the illusion that there is a force applied to the origin of the object space (where the object is usually centered), and the rest of the object's body reacts as a soft body, as each vertex reacts to a change in the force delayed by the distance to the origin. Applied to a spikeball (a sphere with extracted arms), the object could resemble the behaviour of a soft squid-like animal. Applied to a cube, the object would appear as a cubic piece of jelly propelled by a gyro force from the inside.
Areas of application
editAlthough the classical vector slime algorithms are far from an attempt at correct physical modelling, the result can, under certain conditions, trick the viewer into believing that there is some sophisticated physical simulation involved. The effect has therefore grown quite popular in the demoscene to create impressive visual effects at relatively low computational cost. Interactive vector slime implementations can also eventually be found in computer games as a substitute for a more correct physical simulation algorithm.
Demos featuring vector slime
edit- Crystal Dream 2 by Triton [1]
- Lethal Exit by Digital [2] (possibly the first demo to use this term)
- Yuri Nation by Non Alien Nature-V [3] (possibly the first hardware vector slime)
- Shapeshifter by Excess [4]