Разработка языка сценариев для систем виртуальной реальности А.А. Безгодов А.Ю. Тропченко.

Презентация:



Advertisements
Похожие презентации
Разработка языка сценариев для систем виртуальной реальности А.А. Безгодов А.Ю. Тропченко.
Advertisements

Разработка языка сценариев для систем виртуальной реальности А.А. Безгодов А.Ю. Тропченко.
Представление чисел в памяти компьютера. Язык машинных команд.
Регистры общего назначения – сумматор, регистр данных, адресный регистр и т.д. Арифметико- логическое устройство Устройство управления
Вперёд ЯЗЫКИ ПРОГРАММИРОВАНИЯ ЦЕЛИ: ЦЕЛИ: 1. Средство для задания действий, которые должны быть выполнены машиной.(Машинный язык) 1. Средство для задания.
Разработка программного обеспечения для сигнальных процессоров TMS320C64xx Часть 3. Архитектура ядра процессоров с64хх.
IronRuby: внутренности и примеры использования Рахматиллаев Тимур IndyCode 3-я конференция.NET разработчиков 25 сентября 2011.
Библиотека вспомогательных модулей Введение Описание Функции Цены Аннотация 500 р.
Обеспечение целостности данных Процедурное. Хранимые процедуры Хранимые процедуры пишутся на специальном встроенном языке программирования, они могут.
Second Life Новое пространство для разработчиков Жигайло Юрий WORLD2.RU.
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Система поддержки принятия решений в кризисных ситуациях В.С.Кретов,д.т.н., профессор Российской академии государственной службы при Президенте РФ И.С.Лебедев,ведущий.
ParaCon Система параллельного программирования на основе типовых алгоритмических структур Истомин Тимофей Научный руководитель: д.ф-м.н. Берзигияров П.К.
Реализация индексного анализа для деревьев циклов любого вида сложности Выполнил : студент 818 гр. Юдин Павел Научный руководитель : к. т. н. Муханов Л.
Скриптовые языки на примере Perl. Языки программирования Скриптовые Программа (или ее бай-код) интерпретируется Зачастую более высокий уровень абстрагирования.
Содержание ( может быть изменено в зависимости от задач и конечной технологии ) 1. Введение ( пара общих слов о системе : полное название, особенности,
ПРЕЗЕНТАЦИЯ НА ТЕМУ: ПРЕЗЕНТАЦИЯ НА ТЕМУ: ВИДЫ ТРАНСЛЯЦИИ Составил: Ревнивцев М.В Преподаватель: Кленина В.И.
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Лекция 1 Введение в программирование и язык C. Машинный код Машинный код или машинный язык система команд (набор кодов операций) конкретной вычислительной.
Генерация кода Преобразование дерева операций в код на языке ассемблера Ассемблер процессоров типа Intel 80x86 Code – функция перевода узла в команды ассемблера.
Транксрипт:

Разработка языка сценариев для систем виртуальной реальности А.А. Безгодов А.Ю. Тропченко

Проблема Рост сложности приложений Рост времени компиляции (>30 мин) Рост сложности и времени разработки Рост стоимости Необходимость расширения функциональности приложения после выпуска

Решения Распределенная сборка проектов –У конечных пользователей нет исходных текстов –Сложность разработки Программные модули (plug-ins) –Сложность разработки модулей Языки сценариев –Низкая производительность Совместное использование всех 3-х подходов

Языки сценариев Lua MEL (Maya embedded language) Unreal Script Angel Script Quake C Python

Цели и требования Синтаксис С Динамическая типизация Типы данных: –Null –Float, Integer –Vector –String Поддержка типов данных на уровне VM Легкость встраивания в главное приложение

Пример кода 0! = 0 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = ! = ! =

Типы данных 20 байт 4 байта16 байт NULL INTint DOUBLEdouble VECTORfloat Float STRINGindex FUNCTIONindex REFERENCEindex

Память и адресация Основная память Стек Общее адресное пространство: –[ 0 | address ] – основная память –[ 1 | offset ] - стек

Система команд Стек и памятьДанныеПоток выполнения LOAD, address LDAD, address STORE CONST, operand STKRES, n REM ADDSUBMUL DIVMODNEG BIN_AND BIN_OR BIN_XOR BIN_NOT LOG_AND LOG_OR LOG_NOT IS_EQ IS_UNEQ IS_GRTR IS_LESS IS_GEQ IS_LEQ CALL, n RETURN JMP, addr JMPC, addr JMPNC, addr

Вызов функций … BASE TOP Arg 1 Arg 2 Arg 3 FN Ptr Local 3 Local 2 Local 1 Result LOAD FN Ptr LOAD arg3 LOAD arg2 LOAD arg1 CALL 3 STKRES 3 … RETURN LOAD FN Ptr LOAD arg3 LOAD arg2 LOAD arg1 CALL 3 STKRES 3 … RETURN LOADResult

Векторные операции Поддержка на уровне команд VM: –ADD –SUB –MUL Библиотеки функций: –vector(x, y, z, w) –dot(v1, v2) –cross(v1, v2)

Заключение Массивы, списки, деревья и другие контейнеры Структуры данных Формат данных для векторов и матриц Параллельное выполнение Инструменты: –Отладчики –Профайлеры

Вопросы?