HOME

TheInfoList



OR:

The plasma effect is a computer-based visual effect animated in real-time. It uses cycles of changing colours warped in various ways to give an illusion of liquid, organic movement. Plasma was the name of a VGA graphics demo created by Bret Mulvey in 1988 and released on CompuServe. It used a
diamond-square algorithm The diamond-square algorithm is a method for generating heightmaps for computer graphics. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landsc ...
to generate a 2D pattern, and then cycled the colors using VGA's hardware palette in its 256-color mode. Plasma was picked up by demo coders for their demos where the effect was heavily used, especially in the early 1990s. The effect was particularly common on the Commodore Amiga where it could be implemented very efficiently with its display hardware features. Plasma can also be implemented easily in software rendering by using sinus tables and pseudocolor palettes, and it has also been the first true demo effect for many beginning PC democoders. The fractal software
Fractint Fractint is a freeware computer program to render and display many kinds of fractals. The program originated on MS-DOS, then ported to the Atari ST, Linux, and Macintosh. During the early 1990s, Fractint was the definitive fractal generating ...
also incorporates an algorithm known as "plasma", which, when combined with the color cycling feature of the software, can provide a result which resembles a typical plasma effect used in demos. The technical basis, however, is completely different, and a color cycling plasma is somewhat less dynamic than a demo plasma. Similar effects can be implemented on modern GPUs using
pixel shaders In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene - a process known as '' shading''. Shaders have evolved to perform a variety of ...
.


Synopsis

As there are many "hacked" approaches for implementing a plasma effect, this outline of an algorithm will just describe the theoretical basis for the effect. In order to achieve a sufficiently fast and good-looking real-time implementation (especially on the limited hardware available at the time this effect was at the height of its popularity in the 1990s), one would often do "non-correct" approximations to this algorithm. This, however, can often be done without noticeable visual differences. This algorithm is given in two dimensions, but could easily be adopted to any number of dimensions or any number of color channels. Let f(x, y) be a multi-frequency noise function of two variables (''e.g.'', a
Perlin noise Perlin noise is a type of gradient noise developed by Ken Perlin. History Ken Perlin developed Perlin noise in 1983 as a result of his frustration with the "machine-like" look of computer-generated imagery (CGI) at the time. He formally descr ...
function). Let each color component c at the pixel (x, y) be a linear function of the expression \sin(f(x,y) * \text_c). Increasing the value of the constant \text{freq}_c tends to increase the steepness of the color gradients in the image.


See also

Diamond-square algorithm The diamond-square algorithm is a method for generating heightmaps for computer graphics. It is a slightly better algorithm than the three-dimensional implementation of the midpoint displacement algorithm, which produces two-dimensional landsc ...
is the fractal used by the original Plasma demo, and is now often called the plasma fractal which was the name given to it in Fractint.


External links


Page explaining how the effect is built and including a JavaScript animation
Demo effects