- •5. Содержание
- •6. Технические требования
- •Санкт-Петербургский государственный электротехнический университет
- •(СПбГэту “лэти”)
- •Календарный план выполнения выпускной квалификационной работы
- •Реферат
- •Содержание
- •Определения, обозначения и сокращения
- •Введение
- •Обзор методов и средств разработки графических приложений для ос багрос-4000
- •БагрОс-4000 как операционная система реального времени
- •Средства разработки графического по для БагрОс-4000
- •Отрисовка кадра с помощью OpenGl
- •Спецификация OpenGl sc 1.0.1
- •Особенности работы с графикой в ос БагрОс-4000
- •Последовательный способ отрисовки
- •Единовременная отрисовка
- •Реализация и тестирование методов отрисовки
- •Реализация метода последовательной отрисовки
- •Реализация метода единовременной отрисовки
- •Тестирование методов отрисовки
- •Состав библиотеки графических примитивов
- •Управляющие функции
- •Функции отрисовки примитивов
- •Функции работы с маскированием
- •Математические функции
- •Порядок работы с библиотекой
- •Пример прикладной программы
- •Разработка и стандартизация программных средств
- •Разработка плана проекта
- •Расчёт цены проекта
- •Расчёт себестоимости проекта
- •Расчёт цены предлагаемого продукта
- •Определение кода разрабатываемого программного изделия
- •Заключение
- •Список использованных источников
- •Приложение а Фрагменты исходного кода библиотеки
Управляющие функции
Управляющие функции предназначены для задания различных параметров, влияющих на отрисовку примитивов (тип линии, флаг заливки и т.п.). Список управляющих функций приведён в таблице 3.1.
Таблица 3.1 – Управляющие функции библиотеки
Объявление функции |
Описание |
void gfInit(int32 ww, int32 wh) |
При первом вызове – инициализация библиотеки и установка необходимых значений переменных для работы с контекстом OpenGL и библиотекой символов, а также установка размеров рабочей области (ww – ширина окна, wh – высота); при повторном – сброс управляющих значений по умолчанию |
void gfSetRelativeOffset (int32 x, int32 y) |
Смещение центра координат относительно окна на вектор «x, y» |
void gfSetAbsoluteOffset (int32 x, int32 y) |
Установка центра координат в «x, y» координаты окна |
void gfSetRelativeAngle (float32 angle) |
Установка углового смещения относительно центра координат на «angle» относительно текущего |
void gfSetAbsoluteAngle (float32 angle) |
Установка углового общения относительно центра координат в «angle» |
void gfCirclePred (int32 idx) |
Установка количества граней для отрисовки окружности |
void gfColor (int32 idx) |
Установка текущего цвета для отрисовки примитивов в соответствии с записанным в настроечном файле массивом |
|
|
Продолжение таблицы 3.1 |
|
Объявление функции |
Описание |
void gfEdgingColor (int32 idx) |
Установка текущего цвета обводки примитивов в соответствии с записанным в настроечном файле массивом |
void gfLineWidth (int32 idx) |
Установка толщины отрисовываемых линий idx+1 |
void gfEdgingWidth (int32 idx) |
Установка толщины обводки примитивов idx+1 |
void gfLineType (int32 idx) |
Установка шаблона линий в соответствии с записанным в настроечном файле массивом |
void gfFont (int32 idx) |
Установка шрифта в соответствии с записанным в настроечном файле массивом |
void gfFontSize (int32 idx) |
Установка текущего размера шрифта |
void gfCharacter (int32 idx) |
Установка текущего символа |
void gfTextAlign (enum TEXTALIGN align) |
Установка выравнивания текста в соответствии с входным аргументом. TextAlignLeft - по левому краю TextAlignCenter - по центру TextAlignRight – по правому краю |
void gfEnable (GRAPHICFLAGS flag) |
Включение графического режима в соответствии с входным аргументом GF_SMOOTH_POINT – сглаживание точки GF_SMOOTH_LINE – сглаживание линии GF_SMOOTH_POLYGON – сглаживание полигона GF_FILLING – заливка примитивов GF_EDGING_POINT – обводка точки GF_EDGING_LINE – обводка линии GF_EDGING_POLYGON – обводка полигона |
void gfDisable (GRAPHICFLAGS flag) |
Выключение графического режима в соответствии с входным аргументом |
void gfPushTransform (int32 id) void gfPopTransform (int32 id) |
Сохранение и восстановление текущих линейных и углового смещений по принципу работы стека |
void gfEndDrawing() |
Сообщает библиотеке о конце отрисовки текущего кадра |