evg

Трансформация 2d текстуры согласно математической модели сохраняемой в таблице(lookup table).
Эффект очень часто применялся в старых демках, так как тяжелые преобразования(sin, cos, sqrt, pow) выполняются только на этапе создания LUT. Далее происходит выборка значения цвета из текстуры по этой таблице. Движение реализуется путем добавления смещения к значению LUT. Смещение - время либо счетчик кадров. Нагрузка на проц минимальна. Легко реализуется на ассемблере.

evg

Простые metaball-ы :)
В этом эффекте цвет точки вычисляется относительно расстояния от точки до центра шарика:

evg

Это так называемый rotozoom. Т.е. поворот с циклическим увеличением/уменьшением текстуры. В данном случае используется XOR-текстура. Размер поля обязательно должен быть степенью двойки.

evg

Вариация плазмы. Но...
Это ооочень быстрая плазма :)
Здесь расчет синусов и косинусов ведется, только при создании палитры и при расчете lookup table.
Дальше, при отрисовке берется выборка цвета из этой таблицы: (lut[pc]+time) & 127
Движение плазмы организуется добавлением к цвету константы, получаемой из счетчика кадров или времени.

evg
Эффект Wormhole (червоточина) - организуется за счет прорисовки некоторого множества окружностей одинакового радиуса, в 3д, с центрами изменяющимися по какому-либо закону. В данном случае по фигуре Лиссажу.
evg
Разбор демо-эффекта "Плазма"

Эффект "Плазма" заключается в цветовом отображении нескольких синусоид наложенных одна на другую.

evg

Демосцена поменялась, с тех времен, когда все кодилось на ассемблере. Теперь маленькие <= 4 кб демки поражают своей графикой. А делается все при помощи GPU видеокарты, а конкретно на шейдерах. Решил и я разобраться как же оно все-таки работает.

Шейдеры... они такие шейдеры :). Жутко тормозит все на слабых карточках.

Вот моя первая работа в шейдерной технике на GLSL.