> Статистика |
|
Главная » 2013 » Июнь » 8 » Контекстно-ориентированная система рендеринга двухмерной графики для Mac OS X
Контекстно-ориентированная система рендеринга двухмерной графики для Mac OS X
Александр Хабаров
8 класс
|
|
|
Целью проекта является cоздание системы двухмерного рендеринга для Mac OS X 10.8, работающей с низкоуровневым графическим контекстом системы.
В работе реализована система рендеринга TXLibMac, обеспечивающая попиксельный доступ к контексту низкоуровневого фреймворка Core Graphics операционной системы OS X. При использовании стандартных методов Core Graphics для вызова функций необходимо задавать
множество низкоуровневых параметров, работать с матрицами и менять
системы координат. Разработанная система предоставляет врапперы на языках С и Objective-C для методов контекста Core Graphics
для работы с графическими примитивами, текстом, изображениями,
контекстами графики, что сильно облегчает разработку графических программ. Некоторые возможности Core Graphics в качестве
врапперов пока не реализованы, но за счет предоставления доступа к
контексту ядра их можно использовать напрямую. Реализована полная поддержка Interface Builder, за счет использования Objective-C классов интерфейса пользователя в ядре.
Также создана отдельная библиотека на основе Core Image для продвинутой фильтрации изображений. Она использует привязывающийся к контексту при инициализации динамический массив, что позволяет сильно ускорить изменение цветов отдельных пикселей. Массив хранит данные в формате RGBA, что позволяет использовать прозрачность.
Помимо этого, для TXLibMac разработаны модули:
1) Получения ввода с устройств на Mac - привычные для программистов Win32 функции GetAsyncKeyState и kbhit. 2) Взаимодействия с консолью Mac - ввод и вывод в графическом окне программы с помощью стандартных методов С и С++. 3) Работы с операционной системой Mac OS - многооконность и использование Cocoa.
Все части системы объединены в едином фреймворке, представленным динамической библиотекой. Разработаны шаблоны проектов и мастер проектов для среды программирования Xcode.
Работа выполнена на языке Objective-C в среде Xcode.
Литература
Mac Dev Center Mac Developer Library Coding Together: Developing Apps for iPhone and iPad (RSS feed) StackOverflow Wikipedia
Материалы работы
Создание проекта на основе фреймворка TXLibMac (видео в формате QuickTime) Текст доклада (для докладчика)
|
Категория: Семинар |
Просмотров: 5906 |
Добавил: ded32
|
|
|
> Инструменты
|
|
О рекламе на сайте ↑
|
Сайт расположен на бесплатном хостинге, правила которого запрещают вырезать рекламу, вставляемую автоматически,
в том числе в виде автоматического открытия страниц других сайтов. Автор этого сайта не имеет никакого отношения к этой рекламе.
|
> Примеры проектов
|
- М. Андриенко. Заметки участника трех конференций
- И. Шаповалов. Платформа для машинно-независимого исполнения программного кода с возможностью JIT-компиляции
- Д. Байгушев. Модульная система трансляции с возможностью обратимой трансляции для ЯВУ, машинно-независимым исполнением программ и поддержкой JIT
- Т. Борисова. Разработка дополнения к Visual Studio для синтаксически ориентированной фильтрации сообщений
- Л. Столяров, Ф. Петряйкин, Н. Уваров. Платформа для автоматной многоагентной системы в стиле 3D-Action
- Л. Столяров. Трансляция описаний конечных автоматов исходный код на языке С
- В. Янушковский. Использование компиляции для построения графиков в MathTools
- А. Пимкин. Эволюция игры PunkMania
- В. Зайцев. Программно-аппаратный комплекс AnalyticExpert (тезисы и презентация)
- М. Варенцов. Программа для тестирования по географии Globus++
- А. Переславцев, А. Поташев. Построение графиков произвольных функций (презентация)
- А. Татаринов, В. Устинов, В Федосеев. Мультиагентная система Elendor
- В. Попов. Реализация подмножества DirectX в DOS (презентация),
(доклад,
статья)
- М. Давыдова. Сетевой резидентный клиент (презентация),
(доклад,
статья)
- П. Константинов. Интегрированная среда для разработки под PIC (презентация),
(статья)
- А. Попов. Перехват функций Win32 API (презентация),
(доклад,
статья)
- А. Афанасьев. Компиляция выражений в машинный код (статья)
|
|