Fluxus — Прототипирование OpenGL графики и игр on-the-fly (добавить Scheme по вкусу)

Интернет для программиста интересующегося трёхмерной графикой уже несколько лет полнится видео, в котором на лету программируют визуалайзеры для музыки, сложные цветоморфированные эффекты или даже намного более хитрые вещи, работающие на стыке интерактива и трёхмерной графики — буквально, человек пишет код и где-то на фоне он тут же компилируется, выполняется и отображается результат, это называется livecoding. Чаще всего такие программы пишутся на языках из Lisp-семейства, подобный редактор есть для ProcessingJS, он тут же рендерит результат выполнения графического кода в браузере, но речь не о нём.

Fluxus — это одновременно кроссплатформенный open-source 3D-движок для игр на принципах livecoding и инструмент для прототипирования трёхмерной графики и интерактива в собственном трёхмерном пространстве. И при этом он не обделён достаточно подробной документацией. Язык программирования — расширенный графическими командами PLT Scheme.

Впрочем, смотрите сами видео:





Когда приложение запускается, оно запускается в режиме интерпретатора. Чтобы переключиться в режим написания полной программы, который показан на большинстве видео, нажмите Ctrl+1. Чтобы запустить рендеринг описанной сцены — нажмите F5.

Вот, например, две вращающиеся меняющие цвет сферы:

(define (animate)
    (let* ((t (* (time) 2))
           (x (sin t))
           (y (cos t)))

    (with-state
        (translate (vector x y 0))
        (colour (vector (+ 1.5 (sin (time))) 0 0))
        (draw-sphere))

    (with-state
        (translate (vmul (vector x y 0) 3))
        (colour (vector 0 0 (- 1.5 (sin (time)))))
        (draw-sphere))))

(every-frame (animate))
+23
10 июля 2010, 13:10
36

комментарии (18)

0
ArtyV #
О, а может кто-нибудь знает какие-нибудь кросплатформенные или win-аналоги Impromptu?
+1
zokotuhaFly #
Если вам необходима визуализация звуков и VJ-инг, то вот цитата из документации fluxus:

The original purpose of fluxus and still perhaps it's best use, was as a sound to light vjing application. In order to do this it needs to take real time values from an incoming sound source.

см. в документации главу Sound, fluxus вполне полноценно (для визуализации) умеет работать со звуком.

если нет — извините, других аналогов пока не знаю.

0
ArtyV #
Не, мне надо синтез, обработку, сиквенсинг, короче audio synthesis environment и чтобы это всё было lisp driven : D
+1
zokotuhaFly #
тогда это точно приятнее будет делать на маке :)
0
ArtyV #
Не вижу разницы : )
0
zokotuhaFly #
Ах, да ведь, вот «плагин» fluxa, синтезирует звук, lisp driven…
0
ArtyV #
Ох, очень уж лоулевел, но стоит глянуть, спасибо
+1
k0ldbl00d #
Мсье знает толк в извращениях!
0
zokotuhaFly #
Кстати, sketchpad у ProcessingJS совсем недавно обновился, так что тоже укажу ссылку
+1
IQSoftWare #
под Vist'ой такая ошибка:
C:\Program Files\fluxus-0.17rc5-win32\Fluxus\bin>fluxus.exe
default-load-handler: cannot open input file: «c:/Program Files/Fluxus/lib/fluxus-017/boot.scm» (я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜ я
┐╜я┐╜ я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜ я┐╜я┐╜я┐╜я┐╜я┐╜ я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜я┐╜ я┐╜я┐╜я┐╜я┐╜.; errno=3)
что это значит?
очень хочется поиграться — помогите пожалуйтса
0
zokotuhaFly #
Переименуйте каталог fluxus-0.17rc5-win32 в Fluxus и проверьте, есть ли в нём действительно каталог lib/fluxus-017
0
IQSoftWare #
встало :)
а как то по человечески путь можно ему назначить?
как примеры запустить?
0
zokotuhaFly #
Примеры вбивать самому либо копировать из документации в файлы, класть файлы в папку с флюксусом, загружать их через CTRL+L (в режиме CTRL+1). Сохранять своё — через CTRL+D (Save as) / CTRL+S (Save).
0
IQSoftWare #
что то посоветуйте по русски почитать
–3
tenshi #
а более реалистичные примеры есть? или это годится лишь для убогой светомузыки?
0
zokotuhaFly #
вот, например, игра Al Jazari для четверых, в ядре у неё живёт флюксус.

во флюксусе есть обработка нажатий клавиш и кнопок мыши, поддержка всяческих 3D-фич, в том числе GLSL шейдеров, а также планируется поддержка физики — в ваших руках практически полная свобода, утрудите только себя взглянуть на документацию.
–1
tenshi #
а есть видео процесса создания и отладки?
0
piupiu #
В MacOS 1.5 вылетает в течении ~5 секунд после запуска и заодно вешает все что можно. Может кто подскажет в чем проблема, очень хочется поиграться!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.