BEFLIX - это имя первого встроенного спецификатора домена c язык для компьютерной анимации, изобретенный Кеном Ноултоном в Bell Labs в 1963 году. Название происходит от комбинации Bell Flicks. Кен Ноултон использовал BEFLIX для создания анимационных фильмов для образовательных и инженерных целей. Он также сотрудничал с художником Стэном Вандербиком из Bell Labs, чтобы создать серию компьютерных анимационных фильмов под названием Poemfields между 1966 и 1969 годами.
BEFLIX был разработан на IBM 7090 универсальный компьютер, использующий для вывода записывающее устройство микрофильмов Stromberg-Carlson SC2040. Среда программирования, на которую нацелен BEFLIX, состояла из реализации FORTRAN II с макросами Программа сборки FORTRAN II (FAP). Первая версия BEFLIX была реализована с помощью макроса FAP. Более поздняя версия, нацеленная на FORTRAN IV, напоминала более традиционную библиотеку подпрограмм и теряла некоторые уникальные особенности языка.
Пиксели создаются путем записи символов на экране устройства записи микрофильмов расфокусированным электронным лучом. В SC2040 использовалась трубка charactron для экспонирования микрофильмов. В BEFLIX электронный луч расфокусирован для рисования пикселей как размытых форм символов. Символы выбираются для создания диапазона значений оттенков серого для пикселей. Рекордер микрофильмов не подключен напрямую к 7090, а общается через магнитную ленту. BEFLIX записывает вывод на магнитную ленту на 7090, а видеомагнитофон считывает ленту для вывода пленки. BEFLIX также поддерживает режим предварительного просмотра, в котором выбранные кадры вывода записываются на линейный принтер.
Память 7090 организована в виде прямоугольных поверхностей пикселей. Поверхности обозначаются двухбуквенным кодом, который определяет конкретную геометрию поверхности. BEFLIX поддерживает два разрешения для выходных кадров: высокое (252x184) и грубое (126x92). У 7090 достаточно памяти для поддержки двух кадров с высоким разрешением. Организация поверхностей в BEFLIX допускает различные геометрические комбинации меньших поверхностей в пределах доступной памяти. Пиксели BEFLIX хранят значения 0-7, что позволяет упаковывать их от 12 до 36-битного слова 7090.
BEFLIX обеспечивает операции низкого уровня и операции высокого уровня. Для низкоуровневых операций BEFLIX предоставляет 26 сканеров с именами от A до Z. Сканер имеет значение и координату положения на поверхности. Операторы низкого уровня в BEFLIX применяют операции к сканеру на основе набора выполняемых условий. Пример низкоуровневой операции:
IFANY (B, R, 10) (B, A, C) (A, E, 7) T (A, T, B) (A, U, 2) (A, W, 3) LOC5
Это означает, что если выполняется одно из следующих условий:
, тогда выполняются следующие операции:
, а затем управление передается оператору с меткой LOC5
.
. Таким образом, сложные шаблоны могут быть запрограммированы в поведение сканеров как вывод пленки продолжается. Все операции сканера являются немедленными и обновляют поверхности без вывода кадров между операциями.
Операции высокого уровня в BEFLIX можно разделить на четыре категории:
Рисование примитивов и операции с динамическим прямоугольником могут выполняться постепенно в течение серии кадры вывода как быстрый способ кодирования анимации.