Разработка программного модуля цветовой коррекции изображения с использованием средств OpenGL

 

Содержание


Введение

1. Анализ исходных данных и разработка технического задания

.1 Характеристика требований на разработку

1.2 Анализ подходов к разработке аналогичного программного обеспечения

1.3 Выбор технологии проектирования

1.4 Специальное и общесистемное программное обеспечение

1.5 Разработка технического задания

2. Проектирование программного модуля цветокоррекции

2.1 Цветовая коррекция изображения при помощи градиентной карты

2.2 Цветовая коррекция при помощи трехмерной структуры

2.3 Цветовая коррекция с использованием буфера глубины

2.4 Проектирование библиотеки цветокоррекции

2.4.1 Разработка архитектуры приложения

2.4.2 Разработка диаграммы вариантов использования

2.4.3 Разработка диаграммы классов

2.4.4 Разработка диаграммы развертывания

2.4.5 Разработка диаграммы последовательности

3. Разработка и тестирование программного модуля цветокоррекции

3.1 Реализация шейдеров цветовой коррекции

3.1.1 Реализация шейдера цветовой коррекции при помощи градиентной карты

3.1.2 Реализация шейдера цветовой коррекции с помощью трехмерной структуры

3.1.3 Реализация шейдера цветовой коррекции с использованием буфера глубины

3.2 Реализация модуля цветной коррекции изображения

3.3 Реализация демонстрационной программы

3.3.1 Реализация загрузки трехмерной модели в сцену

3.3.2 Реализация загрузки текстурных карт

.4 Разработка программной и эксплуатационной документации для модуля цветовой коррекции изображения с использованием средств OpenGl

.4.1 Разработка описания программы

.4.2 Разработка программы и методики испытаний

.4.3 Разработка руководства системного программиста

.4.3 Разработка руководства оператора

. Экономическая часть

.1 Обоснование необходимости разработки программного обеспечения

.2 Структура работ по созданию программного обеспечения

.3 Составление сметы затрат на разработку программного обеспечения

.4 Расчет отпускной цены программного обеспечения

.5 Экономическая эффективность внедрения программного обеспечения

. Охрана труда

.1 Промышленная санитария и гигиена труда

.2 Техническая безопасность

.2.1 Правила установки ПЭВМ и РЭА

.2.2 Требования к организации и оборудованию рабочих мест

.2.3 Требования к безопасности перед началом работы

.2.4 Требования к безопасности при выполнении работы

.2.5 Требования к безопасности при окончании работы

.3 Электробезопасность

Заключение

Список литературы

Приложение А (обязательное). Техническое задание

Приложение Б (обязательное). Диаграмма вариантов использования

Приложение В(обязательное).Диаграмма классов

Приложение Г (обязательное). Диаграмма компонентов

Приложение Д (обязательное). Диаграмма последовательности

Приложение Е (обязательное). Описание программы

Приложение Ж (обязательное). Программа и методика испытаний

Приложение И (обязательное). Руководство системного программиста

Приложение К (обязательное). Структура программы

Приложение Л (обязательное). Руководство оператора


Введение


Стандарт OpenGL (Open Graphics Library - открытая графическая библиотека) был разработан и утвержден в 1992 году ведущими фирмами в области разработки программного обеспечения как эффективный аппаратно-независимый интерфейс, пригодный для реализации на различных платформах.является одним из самых популярных прикладных программных интерфейсов (API - Application Programming Interface) для разработки приложений в области двумерной и трехмерной графики.

Характерными особенностями OpenGL, которые обеспечили распространение и развитие этого графического стандарта, являются:

?стабильность. Дополнения и изменения в стандарте реализуются таким образом, чтобы сохранить совместимость с разработанным ранее программным обеспечением;

?надежность и переносимость. Приложения, использующие OpenGL, гарантируют одинаковый визуальный результат вне зависимости от типа используемой операционной системы и организации отображения информации. Кроме того, эти приложения могут выполняться как на персональных компьютерах, так и на рабочих станциях и суперкомпьютерах;

?легкость применения. Стандарт OpenGL имеет продуманную структуру и интуитивно понятный интерфейс, что позволяет с меньшими затратами создавать эффективные приложения, содержащие меньше строк кода, чем с использованием других графических библиотек. Необходимые функции для обеспечения совместимости с различным оборудованием реализованы на уровне библиотеки и значительно упрощают разработку приложений;

?описать возможности OpenGL можно через функции его библиотеки. Все функции можно разделить на пять категорий:

?функции описания примитивов определяют объекты нижнего уровня иерархии (примитивы), которые способна отображать графическая подсистема. В OpenGL в качестве примитивов выступают точки, линии, многоугольники и т.д.;

?функции описания источников света служат для описания положения и параметров источников света, расположенных в трехмерной сцене;

?функции задания атрибутов. С помощью задания атрибутов программист определяет, как будут выглядеть на экране отображаемые объекты. Другими словами, если с помощью примитивов определяется, что появится на экране, то атрибуты определяют способ вывода на экран. В качестве атрибутов OpenGL позволяет задавать цвет, характеристики материала, текстуры, параметры освещения;

?функции визуализации позволяет задать положение наблюдателя в виртуальном пространстве, параметры объектива камеры. Зная эти параметры, система сможет не только правильно построить изображение, но и отсечь объекты, оказавшиеся вне поля зрения;

?функций геометрических преобразований позволяют программисту выполнять различные преобразования объектов - поворот, перенос, масштабирование.может выполнять дополнительные операции, такие как использование сплайнов для построения линий и поверхностей, удаление невидимых фрагментов изображений, работа с изображениями на уровне пикселей и т.д.

Целью данного дипломного проекта является повышение эффективности деятельности компании посредством разработки библиотеки шейдеров, позволяющей осуществлять добавление новых шейдерных программ без изменения существующей архитектуры приложения.

Для достижения поставленной цели были сформулированы следующие задачи дипломного проектирования:

-провести анализ предметной области;

-осуществить выбор программных средств и технологий, необходимых для реализации проекта;

-реализовать программный продукт, соответствующий всем требованиям технического задания, которое представлено в приложении А;

-произвести отладку и тестирование данного программного продукта;

-разработать программную документацию, необходимую для сопровождения и системно-технической поддержки продукта.


1. Анализ исходных данных и разработка технического задания


.1 Характеристика требований на разработку


Задачу разработки программного модуля цветовой коррекции изображения с использованием средств OpenGL можно разделить на две части: реализацию шейдеров на языке GLSL, которые осуществляют цветовую коррекцию входного изображения, а также создание программного модуля на языке C++ с использованием OpenGL. Также необходимо разработать программу, которая будет демонстрировать работу модуля.

Модуль должен обеспечивать следующие функции:

-производить цветовую коррекцию несколькими известными способами;

-обеспечивать корректную работу с любыми видами входных данных.

Демонстрационная программа должна выполнять следующие функции:

-создавать трехмерную сцену и необходимые ресурсы (модели, текстурные карты, шейдерные программы) и загружать их на сцену.

-обеспечивать возможность переключения между различными видами цветовой коррекции.

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


.2 Анализ подходов к разработке аналогичного программного обеспечения


Проанализировав рынок программного обеспечения, можно утверждать, что в целом любая цветовая коррекция изображения в сфере трехмерной графики реального времени использует для этих целей шейдерные программы, которые обрабатывают изображение трехмерной сцены, отрисовка которого была произведена в текстурную карту. Если говорить про саму цветовую коррекцию, то существует несколько различных методов, по которым она может быть осуществлена.

Самой большой сферой, где используется цветовая коррекция изображения в трехмерном пространстве, является игровая индустрия, поэтому при анализе рассматриваются современные игровые движки - Unreal Engine, CryEngine, Unity. У всех рассматриваемых движков цветовая коррекция реализована по схожему принципу, и каждый из этих движков может использовать цветовую коррекцию с применением различных методов её достижения. Реализация шейдеров в разных движках представлена на разных языках (HLSL, ShaderLab), что обусловлено их внутренней архитектурой. Методы же используются схожие:

-цветовая коррекция при помощи градиентной карты;

-цветовая коррекция при помощи трехмерной текстуры.

В движке Unity также присутствует более продвинутый метод цветовой коррекции, который использует буфер глубины и дополнительную градиентную карту, чтобы степень цветовой коррекции зависела от удаленности объектов от камеры.

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


.3 Выбор технологии проектирования


На сегодняшний день проблема выбора наиболее подходящего и полностью удовлетворяющего поставленным целям и задачам CASE-средства представляется максимально актуальной в виду их широкого разнообразия и огромного спектра решений, который готов предложить разработчик для удовлетворения потребностей автоматизации.

Выбор CASE-средства во многом зависит от конкретного подхода к проектированию программного обеспечения. Важнейшими из подходов являются структурный (функциональный), объектно-ориентированный, также отдельно выделяется методология ARIS.

Сущность структурного подхода к разработке программного обеспечения заключается в его декомпозиции на автоматизируемые функции: программное обеспечение разбивается на функциональные подсистемы, которые в свою очередь делятся на подфункции, подразделяемые на задачи и так далее. На сегодняшний момент широкое распространение получили:

-CA ERwin Process Modeler (ранее: BPwin);

-CA ERwin Data Modeler (ранее: ERwin);

-Vantage Team Builder;

-Oracle Designer.

Объектно-ориентированный подход использует объектную декомпозицию, при этом статическая структура программного обеспечения описывается в терминах объектов и связей между ними, а поведение программного обеспечения описывается в терминах обмена сообщений между объектами. Средства, отвечающие объектно-ориентированному подходу:

-IBM Rational Rose;

-Sybase PowerDesigner;

-Enterprise Architect.

Методология ARIS определяет принципы моделирования различных аспектов деятельности организаций, основывается на концепции интеграции, предлагающей целостный взгляд на бизнес-процессы, и представляет собой множество различных методологий, интегрированных в рамках единого системного подхода.

В качестве критериев для сравнения CASE-средств целесообразно выделить: возможность проведения глубокого комплексного анализа бизнес-процессов, полноту описания и наглядность используемых моделей, гибкость, степень адаптации используемого средства для решения конкретных задач, а также возможность генерации программного кода и показатель распространенности средств, отвечающих рассматриваемому подходу.

Сравнение рассмотренных подходов в соответствии с выделенными критериями представлено в таблице 1.1.


Таблица 1.1 - Выбор Case-средств на основании сравнения разных подходов по проектированию программного обеспечения

ПодходыСтруктурный / ФункциональныйОбъектно-ориентированныйARISКритерии средствERwin, Bpwin, Vantage Team, Builder, Oracle, DesignerRational Rose, Power Designer, Enterprise, ArchitectAris ToolsetГлубина и комплексность анализа бизнес-процессов+-+Полнота описания и логическая целостность+-+ / -Наглядность-+-Структурность+-+ / -Гибкость и адаптируемость+ / -++ / -Возможность генерации кода+ / -+-Распространенность++ / --

В результате сравнения продуктов, можно сделать вывод о том, что средства, отвечающие структурному подходу (ERwin, BPwin), в основном находят свое применение на этапах определения требований к программному обеспечению. Такие средства подходят для осуществления глубокого анализа рассматриваемых процессов (Vantage Team Builder), позволяют максимально рационально расходовать ресурсы, вследствие независимости отельных компонент программного обеспечения (ПО). Что касается объектно-ориентированных средств, стоит отметить, что методика их применения позволяет осуществлять проектирование любого типа, по средству универсальности и наглядности языка UML, который используется в рамках Enterprise Architect, Rational Rose и Power Designer и является достаточно удобным инструментом для оперирования специалистами любого уровня подготовки [19].

На основании проведенного анализа было принято решение использовать средство Enterprise Architect, которое наиболее точно отвечает требованиям к проектированию разрабатываемого продукта.


.4 Специальное и общесистемное программное обеспечение


При реализации программного модуля цветовой коррекции изображения с использованием средств OpenGL для обеспечения всех функций, предусмотренных техническим заданием необходимо наличие специального общесистемного программного обеспечения, которое приведено в таблице 1.2.


Таблица 1.2 - Общесистемное и специальное программное обеспечение

Программное обеспечениеНазначениеMicrosoft Word 2010Программное обеспечение для работы с электронными документамиGLEWКроссплатформенная библиотека на C/C++, которая упрощает запрос и загрузку расширений OpenGLGLFWКроссплатформенная библиотека для создания и открытия окон, создания OpenGL контекста и управления вводом

.5 Разработка технического задания


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

Техническое задание оформляется в соответствии с ГОСТом 19.201-78 [10] и содержит следующие пункты:

а)основания для разработки;

б)назначение разработки;

в)требования к программе или программному изделию;

г)требования к программной документации;

д)стадии и этапы разработки;

е)порядок контроля и приемки.

Расширенное техническое задание приведено в приложении А.

На основании теоретического исследования, проведенного в рамках данной главы, были определены основные позиции, касающиеся реализации программного модуля цветовой коррекции изображения с использованием средств OpenGL:

а)реализация трех различных методов цветовой коррекции изображения;

б)среда Enterprise Architect для проектирования приложения;

в)библиотеки GLEW и GLFW для работы с OpenGL и реализации демонстрационной программы.


2. Проектирование программного модуля цветокоррекции


Проектирование программного модуля цветовой коррекции изображения с использованием средств OpenGL заключается в математическом описании различных принципов цветовой коррекции, и проектировка шейдеров, использующих эти принципы, на языке GLSL. Также проектирование программного модуля включает в себя разработку структуры программного модуля, а также структуры демонстрационного приложения. Поэтому является логичным разбиение процесса проектирования на следующие задачи:

-описание различных методов цветовой коррекции и проектировка соответствующих шейдеров;

-проектирование структуры модуля цветовой коррекции, использующего OpenGL;

-проектирование демонстрационного приложения.

Проектирование приложения подразумевает использование CASE-средств, позволяющих графически обозначить требования, предъявляемые к программному обеспечению.


.1 Шейдерные программы


Шейдер - это программа для одной из ступеней графического конвейера, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Она может включать в себя произвольной сложности описание поглощения и рассеяния света, наложения текстуры, отражение и преломление, затемнение, смещение поверхности и эффекты пост-обработки.

Программируемые шейдеры гибки и эффективны. Сложные с виду поверхности могут быть визуализированы при помощи простых геометрических форм. Например, шейдеры могут быть использованы для рисования поверхности из трёхмерной керамической плитки на абсолютно плоской поверхности.

В настоящее время шейдеры делятся на три типа: вершинные, геометрические и фрагментные (пиксельные).


.1.1 Вершинные шейдеры

Вершинный шейдер оперирует данными, сопоставленными с вершинами многогранников. К таким данным, в частности, относятся координаты вершины в пространстве, текстурные координаты, тангенс-вектор, вектор бинормали, вектор нормали. Вершинный шейдер может быть использован для видового и перспективного преобразования вершин, генерации текстурных координат, расчета освещения и т. д.


.1.2 Геометрические шейдеры

Геометрический шейдер, в отличие от вершинного, способен обработать не только одну вершину, но и целый примитив. Это может быть отрезок (две вершины) и треугольник (три вершины), а при наличии информации о смежных вершинах (adjacency) может быть обработано до шести вершин для треугольного примитива. Кроме того, геометрический шейдер способен генерировать примитивы «на лету», не задействуя при этом центральный процессор. Впервые начал использоваться на видеокартах Nvidia серии 8.


.1.3 Фрагментные шейдеры

Пиксельный шейдер работает с фрагментами растрового изображения. Под фрагментом изображения в данном случае понимается пиксель, которому поставлен в соответствие некоторый набор атрибутов, таких как цвет, глубина, текстурные координаты. Пиксельный шейдер используется на последней стадии графического конвейера для формирования фрагмента изображения.

2.1.4 Шейдерные языки

Впервые использованные в системе RenderMan компании Pixar, шейдеры получали всё большее распространение со снижением цен на компьютеры. Основное преимущество от использования шейдеров - их гибкость, упрощающая и удешевляющая цикл разработки программы, и при том повышающая сложность и реалистичность визуализируемых сцен.

Шейдерные языки обычно содержат специальные типы данных, такие как матрицы, семплеры, векторы, а также набор встроенных переменных и констант для удобной интеграции со стандартной функциональностью 3D API. Поскольку компьютерная графика имеет множество сфер приложения, для удовлетворения различных потребностей рынка было создано большое количество шейдерных языков.

GLSL (OpenGL Shading Language) - язык высокого уровня для программирования шейдеров. Синтаксис языка базируется на языке программирования ANSI C, однако, из-за его специфической направленности, из него были исключены многие возможности, для упрощения языка и повышения производительности. В язык включены дополнительные функции и типы данных, например для работы с векторами и матрицами.

Основным преимуществом GLSL перед другими шейдерными языкми реального времени является кроссплатформенность.


.2 Цветовая коррекция изображения при помощи градиентной карты


Цветовая коррекция изображения при помощи градиентной карты использует принцип коррекции цвета при помощи инструмента кривых, который присутствует в большинстве современных графических редакторов. При использовании кривых, преобразование входных данных в выходные для каждого цветового канала может быть представлено в виде произвольного кубического сплайна, либо же может быть нарисовано от руки. Такая гибкость очень удобна, однако это делает достаточно сложным выразить все в одном алгебраическом выражении, которое ляжет в основу шейдерной программы.

Пример работы кривых показан на рисунке 2.1. Обычно можно работать как с кривой каждого канала по-отдельности, так и с общей кривой, которая будет равномерно изменять каждый цвет.


Рисунок 2.1 - Пример работы кривых


Теоретически, шейдер может повторить всю математику, которая используется при цветовой коррекции с помощью кривых, однако есть способ, который позволяет достичь при цветовой коррекции тех же результатов, являясь при этом более легковесным и производительным. Поскольку известно, что в финальном результате при использовании кривых происходит преобразование один в один между входными данными и выходными, мы можем представить это преобразование в качестве одномерной карты, которую мы можем использовать как отдельную текстуру.

Для лучшего результата, мы будем использовать текстуру размером 1x256, так как текстуру меньшего размера не дадут достаточного качества. Прежде чем создать карту, пользователь должен произвести все цветовые преобразования, при этом он не должен ограничиваться только инструментом кривых. Большинство графических редакторов позволяют сохранить преобразования в отдельном файле настроек (к примеру «.acv» файлы для Adobe Photoshop).

Для создания непосредственно карты преобразований, необходимо создать изображение размером 1x256, и при помощи инструмента градиента, сделать плавный переход от черного цвета к белому (что будет соответствовать черному цвету на первом пикселе текстуры и белому цвету на последнем пикселе). После чего к этой текстуре применяются преобразования, которые были сохранены ранее в отдельном файле. Пример исходной карты преобразований, и получившейся после применения к ней необходимой цветовой коррекции, показан на рисунке 2.2.


Рисунок 2.2 - Пример исходной и полученной карты преобразования


Другими словами, шейдер использует серые значения каждого канала, чтобы преобразовать входной пиксель в необходимый при цветовой коррекции.

Схема работы шейдера цветовой коррекции с помощью градиентной текстуры представлена на рисунке 2.2:


Рисунок 2.2 - Схема работы шейдера цветовой коррекции изображения с помощью градиентной текстуры


.3 Цветовая коррекция при помощи трехмерной текстуры


Цветовая коррекция при помощи одномерной текстуры в некоторых случаях может быть ограничена. К примеру, с помощью неё нельзя применить к изображению оператор яркости, который позволяет сделать цветные пиксели исходного изображения серыми.

Трехмерная текстура преобразования цвета позволяет исключить все недостатки цветовой коррекции при помощи одномерной текстуры.

На рисунке 2.3 показано, как представлена трехмерная текстура для цветовой коррекции.

Рисунок 2.3 - Пример трехмерной текстуры


При такой цветовой коррекции возможно применение комплексных цветовых операций, так как возможно произвольное преобразование входов-выходов. Трехмерные текстуры цветовой коррекции, стали стандартами для ICC-профилирования, так как позволяют смоделировать комплексные взаимодействия различных устройств.

При использовании трехмерной текстуры для цветовой коррекции можно представить любой вид цветового преобразования, а такие тривиальные операции как изменение яркости, насыщенности и контраста выглядят на такой текстуре наглядно.

Однако следует отметить, что данный метод цветовой коррекции изображения имеет некоторые недостатки:

-не решает проблему учета положения объектов в пространстве. Данный вид цветовой коррекции может обрабатывать изображение только попиксельно;

-цветовое пространство корректируемого изображения должно лежать в строго определенных рамках. Если случается обратная ситуация, часть информации при коррекции изображения может быть потеряна.

В трехмерной текстуре преобразование происходит по принципу сопоставления каждого исходного значения цвета определенному измерению. Красный канал соответствует ширине трехмерной текстуры преобразования, зеленый соответствует длине, и синий - глубине.

Схема работы шейдера цветовой коррекции с помощью трехмерной текстуры показана на рисунке 2.4:

Рисунок 2.4 - Схема работы шейдера цветовой коррекции изображения с помощью трехмерной текстуры


.4 Цветовая коррекция с использованием буфера глубины


Использование буфера глубины является самым продвинутым методом при цветовой коррекции трехмерного изображения. Такая цветовая коррекция, к примеру, может использоваться для отображения больших ландшафтов - на большом расстоянии цвета будут менее насыщены.

Для цветовой коррекции с использованием буфера глубины используются две градиентные карты, одна из которых корректирует изображение на близкой дистанции, вторая - на дальней. Для того, чтобы шейдерная программа имела информацию о дальности объектов, на его вход передается текстурная карта, в которую был отрисован буфер глубины для текущего кадра. В шейдере происходит процедура линеаризации буфера глубины, и в дальнейшем смешения двух результатов цветовой коррекции (для близкого и дальнего расстояния) в зависимости от его значения.

Такой метод цветовой коррекции активно используется в современных трехмерных играх, где присутствует стилистическая необходимость выдержать определенный цветовой баланс в сцене. Например, отдаленные объекты мы можем привести к общей цветовой гамме, а близкие объекты будут иметь естественные цвета, практически не подвергаясь цветовой коррекции.

Производительность при таком подходе к цветовой коррекции будет ниже, чем в остальных случаях, что обусловлено рендером буфера глубины в текстуру, однако это будет не очень существенно. Также, если учесть, что в современных трехмерных приложениях буфер глубины может быть использован не только для цветовой коррекции, это не будет дополнительно нагружать приложение, в котором используется модуль.

Схема работы цветовой коррекции изображения с использованием буфера глубины показана на рисунке 2.5


2.5 Проектирование библиотеки цветокоррекции


.5.1 Разработка архитектуры приложения

В современном подходе к программированию важна универсальность и гибкость разрабатываемого программного обеспечения. Это необходимо для быстрой адаптации программного обеспечения под любые нужды, сопряженные с основными задачами, которое оно выполняет. В соответствии с данным подходом разрабатываемый программный модуль будет минимальным, и в него будут входить только самые необходимые блоки.

Поскольку в рамках диплома разрабатывается демонстрационная программа, которая показывает работу модуля цветовой коррекции, в пояснительной записке будет рассматриваться сразу вся архитектура, как модуля цветовой коррекции, так и демонстрационной программы.

Рисунок 2.5 - Схема работы шейдера цветовой коррекции изображения с использованием буфера глубины


.5.2 Разработка диаграммы вариантов использования

Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества сущностей или актеров, взаимодействующих с системой при помощи так называемых вариантов использования. При этом актером называется любая сущность, взаимодействующая с системой извне. Это может быть человек, техническое устройство, программа или любая другая система, которая может служить источником воздействия на моделируемую систему так, как определит сам разработчик. В свою очередь, вариант использования служит для описания сервисов, которые система предоставляет актеру. Другими словами, каждый вариант использования определяет некоторый набор действий, совершаемый системой при диалоге с актером. При этом ничего не говорится о том, каким образом будет реализовано взаимодействие актеров с системой[3]. На основании выше сказанного была построена UML-диаграмма вариантов использования, представленная в приложении Б.

Более подробно описание вариантов использования представлено в таблице 2.1. Таблица содержит описания общих вариантов использования, не включая расширения и включения.


Таблица 2.1 - Варианты использования

Название варианта использованияОписаниеОтображение цветовой коррекции при помощи градиентной картыОтображение цветовой коррекции при помощи градиентной карты и возможность регулировать параметры, связанные с нейОтображение цветовой коррекции при помощи трехмерной текстурыОтображение цветовой коррекции при помощи трехмерной текстуры и возможность регулировать параметры, связанные с нейОтображение цветовой коррекции при помощи буфера глубиныОтображение цветовой коррекции при помощи буфера глубины и возможность регулировать параметры, связанные с нейПереключение цветовой коррекцииПереключения вида цветовой коррекции с помощью ввода клавиатурыЗагрузка и отрисовка трехмерной сценыВключает в себя загрузку трехмерной модели, текстур для неё, необходимых шейдеров поверхности и отрисовка сцены в текстуруУправление камеройВключает управление направлением обзора и перемещение камеры в пространствеВывод информации на экранВключает в себя вывод текстовой справки и вывод количества кадров в секунду для сцены

.5.3 Разработка диаграммы вариантов использования

Диаграмма классов по праву занимает центральное место в объектно-ориентированном подходе. Фактически любая методология включает в себя некоторую разновидность диаграмм классов.

На основании диаграммы вариантов использования (см. приложение Б) была разработана диаграмма классов, описание которой приведено в таблице 2.2, представленная в приложении В.


Таблица 2.2 - Описание классов

Название варианта использованияОписаниеControlsКласс, обеспечивающий обзор сцены при помощи мышиModelLoaderКласс, обеспечивающий загрузку трехмерной модели в формате Wavefront OBJShaderLoaderКласс, обеспечивающий загрузку шейдерных программFontManagerКласс, обеспечивающий загрузку шрифтов из текстуры и вывод текста на экранTextureLoaderКласс, обеспечивающий загрузку двухмерных и трехмерных текстур в форматах DDS и BMPIndexerVBOКласс, обеспечивающий индексацию буфера вершинColorCorrectionКласс, обеспечивающий цветовую коррекцию изображенияRenderToTextureКласс, обеспечивающий отрисовку изображения и буфера глубины в текстуру

.5.4 Разработка диаграммы компонентов

Диаграмма компонентов представляет из себя статическую структурную диаграмм <#"justify">.5.5 Разработка диаграммы последовательности

Диаграмма последовательности - диаграмма, на которой показано взаимодействие объектов (обмен между ними сигналами и сообщениями), упорядоченное по времени, с отражением продолжительности обработки и последовательности их проявления. Используется в языке UML. Приложение Д.

3. Разработка и тестирование программного модуля цветокоррекции


Разработка программного продукта состоит из модуля цветовой коррекции изображения и демонстрационной программы.

Модуль цветовой коррекции изображения включает в себя:

-три фрагментных и один вершинный шейдер цветовой коррекции;

-классы TextureLoader, ShaderLoader и ColorCorrection.

Демонстрационная программа включает в себя:

-шейдер поверхности (поддержка диффузной карты, карты нормалей и карты отражений);

-шейдер для отображения текста;

-классы Controls, ModelLoader, FontManager, IndexerVBO и RenderToTexture.


3.1 Реализация шейдеров цветовой коррекции


Шейдеры цветовой коррекции реализовывались на шейдерном языке GLSL (при разработке использовалась шейдерная модель 3.3). Для цветовой коррекции разработано два вида шейдеров - вершинный шейдер, который является общим, и три фрагментных шейдера, для каждого типа цветовой коррекции.

Вершинный шейдер оперирует данными, сопоставленными с вершинами многогранников. К таким данным, в частности, относятся координаты вершины в пространстве, текстурные координаты, тангенс-вектор, вектор бинормали, вектор нормали. В случае цветовой коррекции, вершинный шейдер используется для генерации текстурных координат.


3.1.1 Реализация шейдера цветовой коррекции при помощи градиентной карты

Любой шейдер цветовой коррекции представляет собой пиксельный (фрагментный) шейдер, который работает с фрагментами растрового изображения. Под фрагментом изображения в данном случае понимается пиксель, которому сопоставлен в соответствие некоторый набор атрибутов, таких как цвет, глубина, текстурные координаты. Пиксельный шейдер используется на последней стадии графического конвейера для формирования фрагмента изображения.

Шейдер цветовой коррекции изображения с помощью градиентной карты включает в себя следующую последовательность действий:

а)получение цветового значения необходимого фрагмента из исходной текстуры (по UV-координатам);

б)покомпонентная цветовая коррекция каждого цвета исходного значения и сборка всех цветовых компонент в один вектор цвета (выходное значение.

Реализация шейдера цветовой коррекции с помощью градиентной карты выглядит следующим образом:


#version 330 corevec2 UV;vec3 color;sampler2D _MainTex;sampler2D _RampTex;float time;main()

{inColor = texture(_MainTex, UV);= vec3(texture(_RampTex, vec2(inColor.r,0)).r,(_RampTex, vec2(inColor.g,0)).g,

texture(_RampTex, vec2(inColor.b,0)).b);

}


.1.2 Реализация шейдера цветовой коррекции с помощью трехмерной текстуры

Разработанный шейдер также является фрагментным, и работает по следующему алгоритму:

а)получение цветового значения необходимого фрагмента из исходной текстуры (по UV-координатам);

б)получение выходного цветового значения благодаря использованию исходного значения в качестве координат для трехмерной текстуры.

Реализация шейдера цветовой коррекции с помощью трехмерной текстуры:


#version 330 corevec2 UV;vec3 color;sampler2D _MainTex;sampler3D _LookupTex;float time;main()

{inColor = texture(_MainTex, UV).xyz;= texture(_LookupTex,vec3(inColor.r,inColor.g,inColor.b)).xyz;

}


3.1.3 Реализация шейдера цветовой коррекции с использованием буфера глубины

Алгоритм работы данного шейдера является самым сложным и комплексным из всех, разработанных в рамках дипломного проекта:

а)получение цветового значения необходимого фрагмента из исходной текстуры (по UV-координатам);

б)получение значения буфера глубины необходимого фрагмента из текстуры буфера глубины (по UV-координатам);

в)линеаризация буфера глубины;

г)получение значения цветовой коррекции на близком расстоянии;

д)получение значения цветовой коррекции на дальнем расстоянии;

е)смешивание значений цветовой коррекции в нужном отношении (на основании значения буфера глубины).

Реализация шейдера цветовой коррекции с использованием буфера глубины выглядит следующим образом:


#version 330 corevec2 UV;vec3 color;sampler2D _MainTex;sampler2D _RampTex;sampler2D _DepthBuffer;sampler2D _DepthRampTex;float time;main()

{inColor = texture(_MainTex, UV);zValue = texture(_DepthBuffer,UV).r;linearZ = (2.0 / (500 + 0.5 - zValue* (500 - 0.5)));nearColor = vec3 (texture(_RampTex,vec2(inColor.r,0)).r,(_RampTex,vec2(inColor.g,0)).g,(_RampTex,vec2(inColor.b,0)).b);farColor = vec3(texture(_DepthRampTex,vec2(inColor.r,0)).r,(_DepthRampTex,vec2(inColor.g,0)).g,(_DepthRampTex,vec2(inColor.b,0)).b);= vec3( mix(nearColor, farColor, linearZ));

}


.2 Реализация модуля цветовой коррекции изображения


Разработанный модуль цветовой коррекции состоит из следующих классов:

-TextureLoader - класс загружающий двухмерные текстуры из файлов в форматах DDS и BMP, а также загружающий трехмерные текстуры из файла в формате BMP;

-ShaderLoader - класс, позволяющий загрузить шейдер и в дальнейшем использовать его при выполнении программы;

-ColorCorrection - класс, который предоставляет методы для применения цветовой коррекции к изображению.


.3 Реализация демонстрационной программы


Демонстрационная программа должна демонстрировать работы модуля цветовой коррекции, поэтому при разработке были реализованы следующие функции:

-создание окна OpenGL;

-загрузка трехмерной модели в сцену;

-наложение на трехмерные модели текстурных карт и отрисовка трехмерной сцены в текстуру;

-отрисовка справки;

-отрисовка буфера глубины в текстуру;

-применение к полученным текстурам цветовой коррекции.

Внешний вид демонстрационной программы показан на рисунке 3.1.


Рисунок 3.1 - Внешний вид программы


.3.1 Реализация загрузки трехмерной модели в сцену

В качестве формата для хранения трехмерной модели был выбран Wavefront OBJ. Это формат файлов описания геометрии, разработанный в Wavefornt Technologies для их анимационного пакета Advanced Visualizer. Формат файла является открытым и был принят другими разработчиками приложения трехмерной графики и может быть импортирован и экспортирован в множество различных программ.

Формат файлов OBJ - это простой формат данных, который содержит только трехмерную геометрию, а именно, позицию каждой вершины, связь координат текстуры с вершиной, нормаль для каждой вершины, а также параметры, которые создают полигоны.

OBJ является одним из самых популярных форматов передачи трехмерной компьютерной геометрии. Информация о внешнем виде объектов (материалы) передается в файлах-спутниках в формате MTL (Material Library).

OBJ файл содержит несколько типов определения:

«v 0.123 0.234 0.345 1.0» - вершина с координатами (x,y,z[,w]).

«vt 0.123 0.234 1.0» - текстурные координаты (u,v[,w]).

«vn 0.707 0.000 0.707» - нормали.

«f 1 2 3» - определение поверхности (сторон).


.3.2 Реализация загрузки текстурных карт

Разработанное приложение может загружать текстурные карты в двух форматах - DDS и Bitmap, причем Bitmap может загружаться в качестве трехмерной текстуры.

Загрузка BMP файлов является тривиальной задачей, т.к. используются файлы без сжатия, которые представляют из себя последовательное описание цветов пикселей.

DDS (Direct Draw Surface) - формат хранения данных, разработанный корпорацией Microsoft для использования в DirectX SDK. чаще всего используется для хранения текстур и применяется во множестве 3d приложений, а также в современных 3d играх. Позволяет хранить текстуры как в сжатом, так и не в сжатом виде.

Эта особенность позволяет использовать DDS в консолях нового поколения, таких как Xbox360 и Play Station 3. DDS позволяет хранить текстурные массивы. Преимущество формата dds заключается в том, что благодаря поддержке видеокартами DXTn их драйвера могут выполнять сжатие текстур «на лету» (в OpenGL для этого используется инструкция GL_ARB_texture_compression), что экономит время, необходимое на декомпрессию сжатых текстур в таких форматах как Jpeg. Всё вышесказанное повышает быстродействие.

Использование формата DDS позволяет ещё и избежать появления «артефактов», которые возникают при сжатии, что сохраняет качество текстур.

3.3.3 Реализация шейдеров поверхности

Разработанный шейдер поверхности включает в себя обработку трех текстурных карт:

-Диффузная карта;

-Карта нормалей;

-Карта отражений.

Шейдер имитирует источник освещения, поэтому его координаты передаются на вход.

Реализация шейдера поверхности выглядит следующим образом:


#version 330 core(location = 0) in vec3 vertexPosition_modelspace;(location = 1) in vec2 vertexUV;(location = 2) in vec3 vertexNormal_modelspace;vec2 UV;vec3 Position_worldspace;vec3 Normal_cameraspace;vec3 EyeDirection_cameraspace;vec3 LightDirection_cameraspace;mat4 MVP;mat4 V;mat4 M;vec3 LightPosition_worldspace;main(){_Position = MVP * vec4(vertexPosition_modelspace,1);_worldspace = (M * vec4(vertexPosition_modelspace,1)).xyz;_cameraspace = vec3(0,0,0) - (V*M* vec4(vertexPosition_modelspace,1)).xyz;LightPosition_cameraspace = ( V * vec4(LightPosition_worldspace,1)).xyz;_cameraspace = LightPosition_cameraspace + EyeDirection_cameraspace;_cameraspace = ( V * M * vec4(vertexNormal_modelspace,0)).xyz;

UV = vertexUV;

}


.4 Разработка программной и эксплуатационной документации для модуля цветовой коррекции изображения с использованием библиотеки OpenGL


Результатом разработки программной и эксплуатационной документации являются следующие документы:

-описание программы;

-программа и методика испытаний;

-руководство системного программиста;

-руководство оператора.


.4.1 Разработка описания программы

Описание программы представляет собой документ, предназначенный для указания области применения программы, функционального состава, круга решаемых задач и технических и программных средств, необходимых для нормального функционирования. Также должна быть приведена логическая структура, описан способ начала работы. Описание программы составляется в соответствии с ГОСТ 19.402-2000 [11].

Описание программы приведено в приложении Е.


.4.2 Разработка программы и методики испытаний

Программа и методика испытаний используется для реализации полноценного тестирования разработанного программного продукта, описывает совокупность функций подлежащих проверке на корректность выполнения. Данный документ позволяет провести тестирование программы, не участвуя в разработке самого продукта, и на основании полученных результатов сделать вывод о работоспособности и необходимости проведения доработки перед началом внедрения и эксплуатации.

По результатам тестирования и сравнения различных методов цветовой коррекции выявлено, что каждый из методов имеет как и некоторое недостатки, так и некоторые преимущества по сравнению с другими:

а)наиболее быстрым и оптимальным по использованию памяти является метод, использующий для цветовой коррекции градиентную карту;

б)наиболее продвинутым, но самым медленным (хотя и не на много) является метод, использующий буфер глубины;

в)методом, который дает наиболее тонкие возможности по цветовой коррекции (хотя и не применяющий её в зависимости от глубины), является метод, использующий трехмерную текстурную карту.

Список функций и описание результатов их тестирования описаны в таблице 3.1.


Таблица 3.1 - Результаты тестирования функций

Имя функцииОписаниеРезультаты тестированияgetViewMatrix()Возвращает матрицу вида для организации вида камерыФункция работает корректноindexVBO()Индексирует вершины моделиФункция работает корректноloadOBJ()Загружает трехмерную модель в формате Wavefront OBJЗагрузка модели производится корректноLoadShaders()Загружает вершинную и фрагментную шейдерную программуФункция работает корректноloadBMP_custom()Загружает текстуру в формате BMP без сжатияЗагружаемая текстура корректнаloadBMP_lookup()Загружает трехмерную текстуру в формате BMP без сжатияЗагружаемая текстура корректнаloadDDS()Загружает текстуру в формате DDSЗагружаемая текстура корректнаRenderImageToTexture()Отрисовывает изображение в текстуруФункция работает корректноDepthBufferToTexture()Отрисовывает буфер глубины в текстуруФункция работает корректноinitText2D()Загружает текстуру шрифтовФункция работает корректноprintText2D()Выводит текст на экранФункция работает корректноRampCorrection()Производит цветовую коррекцию изображения с помощью градиентной текстурыФункция работает корректно3DLookupCorrection()Производит цветовую коррекцию изображения с помощью трехмерной текстурыФункция работает корректноDepthCorrection()Производит цветовую коррекцию изображения с помощью буфера глубиныФункция работает корректно

Программа и методика испытаний составляется и оформляется в соответствии ГОСТ 19.301-2000 [12].

Подробное описание программы и методики испытаний модуля цветовой коррекции изображения с использованием библиотеки OpenGL приведено в приложении Ж.


.4.3 Разработка руководства системного программиста

Руководство системного программиста оформляется в соответствии ГОСТ 19.503-79 [13].

Руководство системного программиста модуля цветовой коррекции изображения с использованием библиотеки OpenGL приведено в приложении З.


.4.4 Разработка руководства оператора

Руководство оператора оформляется в соответствии ГОСТ 19.505-79 [14].

Руководство оператора модуля цветовой коррекции изображения с использованием библиотеки OpenGL приведено в приложении И.


4. Экономическая часть


.1 Обоснование необходимости разработки программного обеспечения


Целью дипломного проектирования является повышение эффективности деятельности компании посредством разработки программного модуля цветокоррекции, позволяющего осуществлять продажу товаров и услуг в сети Интернет. Разработанный программный продукт будет использоваться на ЧУП Гейм-Мастер.

При расчете технико-экономического обоснования данного проекта следует обратить внимание на то, что на предприятии имеется разработанный графический движок для создания игр с реализацией некоторых видов шейдеров. Однако для решения широкого спектра эффектов необходимо существенно расширить функциональные возможности имеющегося движка.

Целью экономического раздела дипломного проекта является расчет затрат на разработку программного продукта и определение экономической эффективности от его внедрения.


.2 Структура работ по созданию программного обеспечения


Работа по созданию программного продукта делится на определенные этапы, которые в совокупности называются жизненным циклом программного обеспечения. Существует множество методик разбиения жизненного цикла программного продукта на этапы. Наиболее популярно следующее разложение жизненного цикла программного продукта, которое включает в себя следующие этапы:

а)проектирование общей системы;

б)реализация составных частей системы;

в)тестирование готового программного комплекса;

г)приём программного продукта заказчиком.

Суммарное время, отведённое графиком дипломного проектирования на разработку программного обеспечения, составляет 12 недель.

Этап проектирование общей системы является первым и наиболее важным в разработке программного продукта. Задача, поставленная на данном этапе перед разработчиком - определение общих требований к программному продукту. Кроме того, на этой фазе необходимо добиться в определенном смысле оптимального распределения функции системы, выбрать алгоритм и процедуры, а также обозначить системные компоненты и связь между ними. На данный этап отводиться 25% времени, то есть 3 недели.

Завершив проектирование, можно начинать реализацию составных частей системы. Однако на практике фаза проектирования и реализации перекрываются. Таким образом, по мере осуществления иерархического процесса разбиения анализ некоторых элементов системы может быть признан достаточно полным для перехода к реализации, в то время как другие элементы требуют дальнейшего уточнения. Данный этап является наиболее продолжительным. На его реализацию отводиться 50% времени, то есть шесть недель.

Этап тестирование представляет собой совокупность тестов, которым подвергается после реализации готовый программный продукт. Все ошибки, которые будут выявлены на данном этапе, должны быть исправлены. На данный этап отводиться 12% времени, то есть 10 дней.

Этап приём программного продукта заказчиком представляет собой приемочные испытания. Целью данного этапа является испытание готовой системы заказчиком. По результатам данных испытаний программный продукт может быть отправлен на доработку в случае, если он не полностью удовлетворяет потребностям заказчика. На данный этап отводиться 13% времени, то есть 11 дней.

На рисунке 4.1 представлена диаграмма распределения времени по стадиям разработки.


Рисунок 4.1 - Диаграмма распределения времени по стадиям разработки


.3 Составление сметы затрат на разработку программного обеспечения


Оценка стоимости программного обеспечения и определение экономического эффекта у разработчика предполагают составление сметы затрат, которая согласно Постановления Министерства экономики Республики Беларусь, Министерства финансов Республики Беларусь и Министерства труда и социальной защиты Республики Беларусь от 30.10.08 г. №210/161/151 «Об основных положениях по составу затрат, включаемых в себестоимость продукции (работ, услуг)», включает следующие статьи затрат:

1)материалы и комплектующие (используемые в процессе разработки и производства программного обеспечения) ();

)электроэнергия ();

)основная заработная плата разработчиков ();

)дополнительная заработная плата разработчиков ();

)отчисления в фонд социальной защиты населения и на обязательное страхование ();

)амортизация оборудования и программного обеспечения ();

)спецоборудование для научных (экспериментальных) работ ();

)накладные расходы ();

)прочие прямые расходы ().

1) По статье «Материалы» отражаются расходы на магнитные носители, бумагу, красящие ленты и другие материалы, необходимые для разработки ПО.

Результаты представлены в таблице 4.1.


Таблица 4.1 - Стоимость основных и вспомогательных материалов

НаименованиеЦена, руб.КоличествоОбщая сумма, руб.Бумага А4(печать)60011066 000Бумага А1(печать)10 000660 000Компакт диск DVD-RW5 00015 000Всего131 000

Общая стоимость материалов рублей.

2) Затраты на электроэнергию находятся исходя из продолжительности разработки программного обеспечения и тарифа за 1 кВт/ч. Разработка ПО длится 3 месяца, в месяце 21 рабочий день. Рабочий день составляет 8 часов. Мощность осветительных приборов равна 100 Вт, потребляемая мощность компьютера 100 Вт, т.е. суммарная потребляемая мощность 0,2 кВт. Тарифы на электроэнергию применяются согласно приложения к Декларации «Об уровне тарифов на электроэнергию, отпускаемую РУП Электроэнергетики ГПО «Белэнерго» для ЮЛ и ИП» на соответствующий период времени, когда разрабатывался программный продукт. Базовый тариф для юридических лиц с 01.03.2014 г. составляет 1390,5 руб. за 1 кВт/ч

Тогда затраты на электроэнергию рассчитываются по формуле:


руб.(4.1)


) Основной статьёй расходов на разработку программного обеспечения является заработная плата программиста. Оплата труда в Республике Беларусь осуществляется на основе Единой тарифной сетки (ETC), в которой представлены тарифные разряды и тарифные коэффициенты с учетом категории, должности, образования, сложности выполняемой работы.

Для расчета заработной платы правительственными органами устанавливается тарифная ставка 1-го разряда.

Основная заработная плата () является основной статьёй затрат при разработке программного обеспечения и рассчитывается по формуле [1, с.6]:


;(4.2)


где - месячная тарифная ставка, руб.; - коэффициент премирования (устанавливается на предприятии); - количество исполнителей участвовавших в разработке программного обеспечения, чел; t - количество времени, затраченное на разработку программного обеспечения, месяцев.

Месячная тарифная ставка () определяется путем умножения действующей тарифной ставки 1-го разряда () на тарифный коэффициент (), соответствующий установленному тарифному разряду согласно ЕТС Республики Беларусь:

Тарифная ставка () определяется по формуле [1, с.6]:


;(4.3)


где -тарифная ставка первого разряда, руб.; - тарифный коэффициент согласно ЕТС.

C 1.05.2014 г. тарифная ставка первого разряда составляет 275 000 руб. Программист имеет согласно единой тарифной сетке 12 разряд, тарифный коэффициент для которого равен 2,84. Также введём повышающий коэффициент, равный 2.

Следовательно, тарифная ставка программиста равна:

руб.

А общие затраты на основную заработную плату программиста за 3 месяца будут равны:

руб

) Статья Дополнительная заработная плата () на конкретное программное обеспечение включает выплаты, предусмотренные законодательством о труде (оплата отпусков, льготных часов, времени выполнения государственных обязанностей и других выплат, не связанных с основной деятельностью исполнителей), и определяется по нормативу в процентах к основной заработной плате[1, с.6]


Zdi = (Zoi * Nd) / 100 ; (4.4)


где Zdi - дополнительная заработная плата исполнителей на конкретное программное обеспечение, руб.; Nd - норматив дополнительной заработной платы на предприятии, %.

Норматив дополнительной заработной платы программиста при разработке данного проекта принят 30 %. Тогда затраты на разработку составят

Zd = (7 029 000 * 30) / 100 = 2 108 700 руб.

) Статья Отчисления на социальные нужды включает в себя отчисления в фонд социальной защиты населения (Nsz - 34%) и отчисления на обязательное страхование от несчастных случаев (Nstr - 0,1-0,6%).

Osn определяются в соответствии с действующими законодательными актами по нормативу в процентном отношении к фонду основной и дополнительной зарплаты исполнителей, определенной по нормативу, установленному в целом по организации[1, с.7]


Osn = ((Zdi + Zoi) * (Nsz + Nstr)) / 100 ;(4.5)


где Nsz - норматив отчислений в фонд социальной защиты населения(%); Nstr - норматив отчислений на обязательное страхование от несчастных случаев (%).

Согласно законодательству норматив отчислений в Фонд социальной защиты населения равен 34%, норматив отчислений на обязательное страхование от несчастных случаев примем равным 0,6%. Следовательно, сумма отчислений составит:

Osn = ((7 029 000 + 2 108 700 ) * (34 + 0,6)) / 100 = 3 161 644 руб.

) Затраты по статье «Амортизация основных средств и нематериальных активов» будут рассчитаны линейным методом.

Величина амортизационных отчислений определяется на основе норм амортизации. Норма амортизации - это установленный размер амортизационных отчислений на полное восстановление, выраженное в процентах. Норма амортизации устанавливается на основе экономически целесообразного срока службы и должна обеспечить возмещение износа основных средств к моменту возможного их морального и физического износа и создать экономическую основу для замены. Норма амортизации рассчитывается формуле[1, с.7]


Na = ((Cp - L) / (Cp * Tn)) * 100%; (4.6)


где Na - годовая норма амортизации; Cp - первоначальная стоимость основных средств; L - ликвидационная стоимость основных средств; Tn - нормативный срок службы.

В дипломном проекте сумма затрат на амортизацию основных средств и нематериальных активов рассчитывается на период работы над дипломным проектом, т.е. на 3 месяца.

В процессе выполнения проекта использовался ноутбук стоимостью 5 160000 руб., мобильный телефон стоимостью 800 000 руб., а также программное обеспечение, приведённое в таблице 4.2.


Таблица 4.2 - Использованное программное обеспечение

НаименованиеСтоимость, рубWindows 7 Home Basic1 100 000Office 2010 1 050 000Microsoft SQL Server3 360 000Всего 5 510 000

При линейном методе начисления амортизации начисление производится равномерно. Амортизацию начисляют ежемесячно, исходя из годовой нормы амортизации. Норма амортизации составит:

Na = (((5150000 + 800 000 + 5 510 000 - 0)) / ((5 150 000 + 800 000 + 5 510 000 - 0) * 5)) * 100% = 20%

Разработка программного продукта занимает 3 месяца, следовательно, сумма амортизационных отчислений за этот период составит:

A = ((5150000 + 800 000 + 5 510 000) * 20 * 3) / (100 * 12) = 573 000 руб.

) Статья Расходы на спецоборудование (Pc) включает затраты на приобретение вспомогательных технических и программных средств специального назначения, необходимых для разработки конкретного программного обеспечения, включая расходы на их проектирование, изготовление, отладку, установку и эксплуатацию. При разработке данного программного обеспечения специальные технические средства не требуются.

) Статья Накладные расходы (Pni) связанна с необходимостью содержания аппарата управления, вспомогательных хозяйств и опытных (экспериментальных) производств, а также с расходами на общехозяйственные нужды (Pni), относится на конкретное ПО по нормативу (Nrn) в процентном отношении к основной заработной плате исполнителей. Накладные расходы рассчитываются по формуле [1, с.11]:


Pni = (Zoi * Nrn) / 100% ; (4.7)


где Pni - накладные расходы на конкретное ПО; Zoi - основная заработная плата исполнителей; Nrn - норматив накладных расходов в целом по организации.

Норматив устанавливается в целом по организации. В данном случае он принят в размере 10% от основной заработной платы исполнителей.

Тогда сумма накладных расходов составляет:

Pn = (7 029 000 * 10%) / 100% = 702 900 руб.

) Статья Прочие прямые расходы (Pz) на конкретное программное обеспечение включает затраты на приобретение и подготовку специальной научно-технической информации и специальной литературы. Основным источником информации при реализации данного проекта является Интернет. Оплата услуг интернет-провайдера за 3 месяца составила 235 350 руб. Таким образом, прочие прямые расходы составили 235 350 руб.

Общая сумма затрат по смете (плановая себестоимость) (С) на программное обеспечение рассчитывается по формуле [1, с.12]:


С = М + E + Zo + Zd + Osn + A + Pc + Pn + Pz ; (4.8)


Расчет плановой себестоимости библиотеки шейдеров для создания теней и отражений представлен в таблице 4.3.


Таблица 4.3 - Расчёт плановой себестоимости библиотеки шейдеров для создания теней и отражений

Статья затратСумма затрат, рубМатериалы и комплектующие (М)131 000Электроэнергия (Е)140 162Основная заработная плата исполнителей ()7 029 000Дополнительная заработная плата исполнителей ()2 108 700Отчисления на социальные нужды ()3 161 644Амортизация (А)573 000Расходы на спецоборудование ()0Накладные расходы ()702 900Прочие прямые расходы ()235 350Общая сумма расходов (плановая себестоимость (С))14 081 756

На рисунке 4.2 представлена диаграмма, отражающая вклад различных статей расходов в себестоимость разрабатываемого программного продукта.


Рисунок 4.2 - Структура затрат на разработку программного продукта


4.4 Расчет отпускной цены программного обеспечения


Отпускная цена продукции формируется исходя из плановой себестоимости производства продукции, всех видов установленных налогов и прибыли, а также с учетом качества, потребительских свойств продукции и конъюнктуры рынка.

С учетом действующих в республике нормативных документов отпускная цена на продукцию предприятия рассчитывается по формуле:


; (4.9)


Где - отпускная цена изготовителя, руб.; С - плановая себестоимость, руб.; П - прибыль, руб.

Прибыль закладывается в цену по нормативу рентабельности, установленному на предприятии, расчет производится по следующей формуле:


П = R*C ; (4.10)


где R - норматив рентабельности (например, если рентабельность 20%, то при расчете переводим в коэффициент и получаем 0,2); С - плановая себестоимость, руб;

Отпускная цена изготовителя с налогом на добавленную стоимость рассчитывается по формуле:


;(4.11)


где С - плановая себестоимость, руб.; П - прибыль, руб.; Ставка НДС = 20%.

Прогнозируемая отпускная цена на программное обеспечение с НДС рассчитывается по формуле:


ОЦсНДС = С + П + НДС ;(4.12)


Норматив рентабельности (R) примем равным 15%. Тогда прогнозируемая отпускная цена будет равна:

П = 0,1514 081 756 = 2 112 263 руб.

ОЦ = 14 081 756 + 2 112 263 = 16 194 019 руб.

НДС =(16 194 019 * 20) / 100 = 3 238 803 руб.

ОЦсНДС = 16 194 019 +3 238 803 = 19 432 822 руб.

Цена программного обеспечения с учётом НДС является ценой не за единицу продукции, а ценой всего проекта вместе с документацией и исходными кодами, необходимыми для сопровождения и доработки программного обеспечения. Данная цена покроет затраты на разработку проекта и обеспечит приемлемую прибыль.


.5 Экономическая эффективность внедрения программного обеспечения


Экономический эффект оценить невозможно, так как программный продукт отдельно не распостраняется и является частью от другого программного продукта как 3d ускоритель или движок для написания игр.

Вывод по главе 4

В данной главе были выполнены расчеты по оценке стоимости разработки библиотеки шейдеров для создания теней и отражений, а так же была посчитана потенциальная прибыль. Программный продукт, разрабатываемый в рамках данного дипломного проекта, оценен в 19 432 822 рублей, расчетная прибыль составляет 2 112 263 рублей.


5. Охрана труда


Охрана труда - система обеспечения безопасности жизни и здоровья работников в процессе трудовой деятельности, включающая правовые, социально-экономические, санитарно-гигиенические, психофизические, лечебно-профилактические, реабилитационные и иные мероприятия. Функциями охраны труда являются исследования санитарии и гигиены труда, проведение мероприятий по снижению влияния вредных факторов на организм работников в процессе труда. Основным методом охраны труда является использование техники безопасности. При этом решаются две основные задачи: создание машин и инструментов, при работе с которыми исключена опасность для человека, и разработка специальных средств защиты, обеспечивающих безопасность человека в процессе труда, а также проводится обучение работающих безопасным приемам труда и использования средств защиты, создаются условия для безопасной работы.

В процессе труда на человека воздействует множество разнообразных факторов производственной среды, которые в совокупности определяют то или иное состояние условий труда. Производственные факторы подразделяются на технические, эргономические, санитарно-гигиенические, организационные, психофизиологические, социально-бытовые, природно-климатические, экономические.

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

Опасный производственный фактор - такой фактор, воздействие которого на работающего в определенных условиях приводит к травме или другому внезапному резкому ухудшению здоровья или к смерти.

Вредным производственным фактором называется такой фактор, воздействие которого на работающего в определенных условиях приводит к заболеванию, снижению работоспособности или к отрицательному влиянию на здоровье потомства.

Для организации работы и осуществления контроля по охране труда на предприятии создается отдел охраны труда.

Основными задачами отдела охраны труда являются:

?организация работы по охране труда и пожарной безопасности;

?координация деятельности структурных подразделений по обеспечению здоровых и безопасных условий труда;

?совершенствование системы управления охраной труда;

?внедрение передового опыта и научных разработок по пожарной безопасности, безопасности и гигиене труда, пропаганда охраны труда;

?информирование и консультирование работников организации, в т.ч. ее руководителя, по вопросам охраны труда и пожарной безопасности;

?осуществление контроля за соблюдением законодательства об охране труда, пожарной безопасности, выполнением (соблюдением) локальных нормативных актов по вопросам охраны труда и пожарной безопасности.

Все принимаемые на работу лица и другие лица, участвующие в деятельности организации, проходят в установленном порядке вводный инструктаж. Вводный инструктаж по охране труда проводится по программе, разработанной на основании законодательных и иных нормативных правовых актов с учетом специфики деятельности организации и утвержденной в установленном порядке работодателем. Вводный инструктаж проводит инженер по охране труда.

Кроме вводного инструктажа по охране труда, проводится первичный инструктаж на рабочем месте, повторный, внеплановый и целевой инструктажи.

Первичный инструктаж на рабочем месте, повторный, внеплановый и целевой инструктажи проводит непосредственный руководитель работ, прошедший в установленном порядке обучение по охране труда и проверку знаний требований охраны труда.

Инструктаж по охране труда завершается устной проверкой приобретенных работником знаний и навыков безопасных приемов работы лицом, проводившим инструктаж.

Проведение всех видов инструктажей регистрируется в соответствующих журналах проведения инструктажей с указанием подписи инструктируемого и подписи инструктирующего, а также даты проведения инструктажа.

Первичный инструктаж на рабочем месте проводится до начала самостоятельной работы. Первичный инструктаж на рабочем месте проводится руководителями структурных подразделений организации по программам, разработанным и утвержденным в установленном порядке в соответствии с требованиями законодательных и иных нормативных правовых актов по охране труда, локальных нормативных актов организации, инструкций по охране труда, технической и эксплуатационной документации.

Повторный инструктаж проходят все работники не реже одного раза в шесть месяцев по программам, разработанным для проведения первичного инструктажа на рабочем месте.

Внеплановый инструктаж по охране труда (далее - внеплановый инструктаж) проводится при:

?принятии новых нормативных правовых актов, в том числе технических нормативных правовых актов и локальных нормативных правовых актов, содержащих требования по охране труда, или внесении изменений и дополнений к ним;

?изменении технологического процесса, замене или модернизации оборудования, приборов и инструмента, сырья, материалов и других факторов, влияющих на безопасность труда;

?нарушении лицами настоящей Инструкции, нормативных правовых актов, технических нормативных правовых актов, локальных нормативных правовых актов, содержащих требования по охране труда, которое привело или могло привести к аварии, несчастному случаю на производстве и другим тяжелым последствиям;

?перерывах в работе по профессии (в должности) более шести месяцев;

?поступлении информации об авариях и несчастных случаях, происшедших в однопрофильных организациях.

Целевой инструктаж проводится при выполнении разовых работ, при ликвидации последствий аварий, стихийных бедствий и работ, на которые оформляется наряд-допуск, разрешение или другие специальные документы, а также при проведении в организации массовых мероприятий.

Конкретный порядок, условия, сроки и периодичность проведения всех видов инструктажей по охране труда работников отдельных отраслей и организаций регулируются соответствующими отраслевыми и межотраслевыми нормативными правовыми актами по безопасности и охране труда.

Для обеспечения безопасности труда и предупреждения профессиональных заболеваний наниматель обязан организовать проведение предварительных (при поступлении на работу) и периодических (в течение трудовой деятельности) медицинских осмотров работников, занятых на работах с вредными и (или) опасными условиями труда или на работах, где есть необходимость в профессиональном отборе.

Предварительные при поступлении на работу и периодические медицинские осмотры осуществляются с целью:

?определения соответствия (пригодности) рабочих и служащих поручаемой им работе, обеспечения безопасности труда и предотвращения распространения инфекционных и паразитарных заболеваний;

?выявления лиц с профессиональными заболеваниями или с подозрением на профессиональное заболевание;

?распознавания общих (непрофессиональных) заболеваний, при которых дальнейшая работа в контакте с профессиональной вредностью может ухудшить их течение;

?назначения индивидуальных лечебно-оздоровительных мероприятий лицам с выявленными заболеваниями или с подозрением на профессиональное заболевание (диспансерное наблюдение, обследование в клинике, лечение амбулаторное, в стационаре, оздоровление в профилактории, санатории, доме отдыха, рациональное трудоустройство и другие);

?оценки условий труда и разработки санитарно-гигиенических мероприятий, направленных на ликвидацию причин, вызывающих профессиональное заболевание;

?обеспечения преемственности в оказании лечебно-профилактической помощи работающим путем организации инженерно-врачебных бригад.

Отказ поступающего на работу от прохождения предварительного медицинского или наркологического осмотра в предусмотренных законодательством случаях является основанием для отказа в приеме на работу.


.1 Промышленная санитария и гигиена труда


Промышленная санитария - система организационных, санитарно-гигиенических, технических средств и методов, предотвращающих или уменьшающих воздействие на работающих вредных производственных факторов до значений, не превышающих допустимые.

К физическим вредным производственным факторам, которые могут возникнуть в помещении, где находится работающий на ПЭВМ, относятся: повышенная или пониженная температура воздуха рабочей зоны; повышенная или пониженная влажность воздуха рабочей зоны; повышенный или пониженный уровень освещенности рабочей зоны; повышенный уровень прямой и отраженной блесткости; повышенный уровень электромагнитных излучений; повышенный уровень запыленности рабочей зоны. К психофизиологическим производственным факторам относят: напряжение зрения; напряжение внимания; монотонность труда; эмоциональные перегрузки; нерациональная организация рабочего места; длительное статическое напряжение. Дисплеи персональных компьютеров, выполненные на электронно-лучевых трубках (ЭЛТ), являются потенциальными источниками мягкого рентгеновского, ультрафиолетового (УФ), инфракрасного (ИК), видимого, радиочастотного, сверх- и низкочастотного электромагнитного излучения (ЭМИ).

Степень воздействия электромагнитных излучений на организм человека зависит от диапазона частот, интенсивности воздействия соответствующего фактора, продолжительности облучения, характера излучения, режима облучения, размеров облучаемой поверхности тела и индивидуальных особенностей организма. Биологическое воздействие электромагнитных полей более высоких частот вызывают в основном с их тепловым и аритмическим эффектом.

Помещения с ПЭВМ должны иметь естественное и искусственное освещение.

Звукоизоляция ограждающих конструкций помещений с ПЭВМ должна отвечать гигиеническим требованиям и обеспечивать нормируемые параметры шума.

В помещениях с ПЭВМ ежедневно должна проводиться влажная уборка.

Помещения с ПЭВМ должны быть оснащены аптечкой первой помощи и углекислотными огнетушителями.

Метеорологические условия (или микроклимат) на производстве являются одними из важнейших при обеспечении комфортных условий работы. Соблюдение правил обеспечения микроклимата повышают работоспособность и самочувствие сотрудников. Метеорологические условия определяются следующими параметрами: температура воздуха, относительная влажность, скорость движения воздуха.

Оптимальные показатели микроклимата распространяются на всю рабочую зону. Оптимальные показатели температуры, относительной влажности и скорости движения воздуха показаны в таблице 5.1.


Таблица 5.1 - Оптимальные величины показателей микроклимата для рабочих мест

Период годаТемпература воздуха, °СОтносительная влажность, %Скорость движения воздуха, м/схолодныйот 21 до 23 включительноот 40 до 60 включительно0,1, не болеетеплыйот 22 до 24 включительноот 40 до 60 включительно0,2, не более

Соблюдение норм поддержания микроклимата в помещении достигается применением системы кондиционирования, вентиляции и отопления. Для повышения влажности воздуха в помещениях с ПЭВМ следует применять увлажнители воздуха, заправляемые ежедневно дистиллированной или прокипяченной питьевой водой и проводить регулярные влажные уборки помещения.

Уровни положительных и отрицательных аэроионов в воздухе помещений при работе на ЭВМ и ПЭВМ должны соответствовать нормам, приведенным в таблице 5.2.


Таблица 5.2 - Уровни ионизации воздуха помещений при работе на ЭВМ и ПЭВМ

УровниЧисло ионов в 1 см3 воздухап+п-Минимально необходимые400600Оптимальные1500-30003000-5000Максимально допустимые5000050000

Освещение рабочего места является важнейшим фактором создания нормальных условий труда. Освещение не только необходимо для выполнения производственных заданий, оно еще и влияет на психическое и физическое состояние работающего. В помещении, где будет находиться пользователь ПЭВМ, может быть три вида освещения: естественное (источником его является солнце), искусственное (когда используются только искусственные источники света), совмещенное (характеризуется одновременным сочетанием естественного и искусственного освещения).

Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300-500 лк. Допускается установка светильников местного освещения для подсветки документов. Местное освещение не должно создавать бликов на поверхности экрана и увеличивать освещенность экрана более 300 лк.

При выполнении основной работы на ПЭВМ (диспетчерские, операторские, расчетные, кабинеты и посты управления, залы вычислительной техники и др.), во всех помещениях с ПЭВМ уровень шума на рабочем месте не должен превышать 50 дБ.

Экран видеомонитора должен находиться от глаз пользователя на оптимальном расстоянии 600-700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов.

Помещения с ПЭВМ должны быть оснащены аптечкой первой помощи и углекислотными огнетушителями.


.2 Техническая безопасность


К работе на ПЭВМ допускаются лица, прошедшие медицинское обследование, вводный инструктаж, первичный инструктаж на рабочем месте, а также обучение проверку знаний правил по охране труда.

Опасный фактор - это производственный фактор, воздействие которого на работающего в определенных условиях приводит к травме или другому резкому внезапному ухудшению здоровья.

К опасным факторам относятся:

?поражение электрическим током;

?возникновение пожара на рабочем месте.

К наиболее потенциально опасным источникам и причинам возгорания в отделе, где будет эксплуатироваться разработанное программное приложение, можно отнести неисправности электрооборудования, неосторожное обращение с электроприборами. К мерам предупреждения перегрузок и коротких замыканий в электрических проводках относятся применение плавких предохранителей и правильный монтаж электрических цепей.

В целях обеспечения безопасности обслуживающего персонала и обеспечения устранения ситуаций, угрожающих здоровью либо жизни людей в помещении, должно быть предусмотрено наличие средств пожаротушения. Для обеспечения быстрого и своевременного тушения очага пожара, внутри рабочего помещения должен находиться огнетушитель. Огнетушители относятся к первичным средствам тушения пожара. Так же первичным средствам тушения пожаров относятся: пожарные стволы, действующие от внутреннего пожарного трубопровода, сухой песок, асбестовые одеяла.

При работе с ПК работники обязаны:

?соблюдать режим труда и отдыха, установленный законодательством, правилами внутреннего трудового распорядка организации, трудовую дисциплину, выполнять требования охраны труда, правил личной гигиены;

?выполнять требования пожарной безопасности, знать порядок действий при пожаре, уметь применять первичные средства пожаротушения;

?курить только в специально предназначенных для курения местах;

?знать приемы оказания первой помощи при несчастных случаях на производстве;

?о неисправностях оборудования и других замечаниях по работе с ПК сообщать непосредственному руководителю или лицам, осуществляющим техническое обслуживание оборудования.

Не допускается:

?выполнять работу, находясь в состоянии алкогольного опьянения либо в

?состоянии, вызванном употреблением наркотических средств, психотропных или токсических веществ, а также распивать спиртные напитки, употреблять наркотические средства, психотропные или токсические вещества на рабочем месте или в рабочее время;

?устанавливать системный блок в закрытых объемах мебели, непосредственно на полу;

?использовать для подключения ПК розетки, удлинители, не оснащенные заземляющим контактом (шиной).

?В аварийных ситуациях пользователь ПЭВМ обязан:

?во всех случаях обнаружения обрыва проводов питания, неисправности заземления и других повреждений электрооборудования, появления запаха гари немедленно отключить питание и сообщить об аварийной ситуации руководителю или дежурному электрику;

?при обнаружении человека, попавшего под напряжение, немедленно освободить его от действия тока путем отключения электропитания и до прибытия врача оказать потерпевшему первую медицинскую помощь;

?при любых случаях сбоя в работе технического оборудования или программного обеспечения немедленно вызвать представителя инженерно-технической службы эксплуатации вычислительной техники;

?в случае появления рези в глазах, невозможности сфокусировать взгляд или навести его на резкость, появления боли в пальцах и кистях рук, усиления сердцебиения немедленно покинуть рабочее место, сообщить о происшедшем руководителю работ и обратиться к врачу;

?при возгорании оборудования отключить питание и принять меры к тушению очага пожара при помощи углекислого или порошкового огнетушителя, вызвать пожарную команду и сообщить о происшествии руководителю работ.

По окончании работы оператор обязан:

?произвести закрытие всех активных задач;

?выключить питание системного блока и всех периферийных устройств;

?отключить блок питания;

?отключить стабилизатор напряжения (если он используется);

?осмотреть и привести в порядок рабочее место.


.3 Электробезопасность


Электрический ток, воздействуя на человека, приводит к травмам:

Проходя через тело человека, электрический ток оказывает следующие воздействия:

?термическое - нагрев тканей и биологической среды;

?электролитическое - разложение крови и плазмы;

?биологическое - способность тока возбуждать и раздражать живые ткани организма;

?механическое - возникает опасность механического травмирования в результате судорожного сокращения мышц.

Тяжесть поражения электрическим током зависит от:

?величины тока;

?времени протекания;

?пути протекания;

?рода и частоты тока;

?сопротивления человека;

?окружающей среды;

?состояния человека;

?пола и возраста человека.

Общие травмы:

?судорожное сокращение мышц, без потери сознания;

?судорожное сокращение мышц, с потерей сознания;

?потеря сознания с нарушением работы органов дыхания и кровообращения;

?состояние клинической смерти;

?местные травмы;

?электрические ожоги.

Наиболее опасным переменным током является ток 20 - 100Гц. Так как компьютер питается от сети переменного тока частотой 50Гц, то этот ток является опасным для человека.

Технические мероприятия, обеспечивающие безопасность работ в электроустановках, выполняют в следующем порядке:

1.Отключают напряжение и принимают меры, исключающие его ошибочную подачу к месту работы: включают блокировку, ставят механический запор на привод разъединителя, рубильника, снимают предохранители, устанавливают временные ограждения.

2.Вывешивают предупредительные плакаты на коммутационной аппаратуре, на постоянных и временных ограждениях.

.К заземляющему устройству присоединяют зажим переносного заземления.

.Проверяют, есть ли напряжение на отключенной для работы части установки, если его нет, то немедленно накладывают на токоведущие части установки переносное заземление.

.На месте работы вывешивают плакат «Работать здесь», «Влезать здесь», «Заземление».

Эти мероприятия выполняет дежурный персонал, обслуживающий электроустановку.

Отключение напряжения - на месте работы отключают оборудование, которое подлежит ремонту и те токоведущие части, к которым при работе можно приблизиться на опасное расстояние или случайно прикоснуться.

Отключенный участок отделяют со всех сторон, откуда может быть подано напряжение, видимым разрывом, создаваемым разъединителями, рубильником, снятыми перемычками.

Работать на оборудовании, отделенном только выключателем, не разрешается. Во избежание обратной трансформации со стороны низшего напряжения силовые и измерительные трансформаторы отключают как от высокого, так и от среднего и низшего напряжения.

Приводы разъединителей с ручным управлением механически запирают навесным замком, специальным болтом или штифтом для предупреждения их ошибочного или самопроизвольного включения. На приводах с пневматическим управлением запирают вентиль подвода воздуха. В электроустановках напряжением до 1000 В напряжение отключается коммутационными аппаратами с ручным управлением.

Ограждение места работ и вывешивание плакатов.

Если расположенные вблизи места работ токоведущие части не могут быть отключены, их надежно ограждают. Расстояние от ограждения до токоведущей части, как правило, должно соответствовать допустимому расстоянию в метрах в зависимости от напряжения в кВ токоведущих частей:

?до 15 кВ - 0,7 м;

?выше 15 до 35 кВ - 1,0 м;

?выше 35 до 110 кВ - 1,5 м.

В электроустановках напряжением до 1000 В допускается не отключать допустимые прикосновению токоведущие части, если они будут ограждены накладками из изолирующих материалов.

На временных ограждениях участка ремонтных работ и на постоянных ограждениях соседних ячеек вывешиваются плакаты «Стой - высокое напряжение».

На открытых подстанциях участок для ремонтных работ выделяют с помощью каната, натягиваемого по периметру участка. На канате закрепляют плакаты «Стой - высокое напряжение», обращая их внутрь, к месту работы.

Если работы ведутся на высоте, то на конструкции, на которой поднимаются к месту работы, вывешивают плакат «Влезать здесь», а на соседних - «Не влезать - убьет». На месте работы вывешивают плакат «Работать здесь».

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

Вывешивать и снимать плакаты разрешается только оперативному персоналу, осуществляющему подготовку рабочего места.

Чтобы исключить случайную или ошибочную подачу напряжения на отключенное оборудование, на всех ключах управления и приводах выключателей, разъединителей, рубильников вывешивают плакаты « Не включать - работают люди».

Если отключения произведены для подготовки работы на линии электропередачи, то вешают плакаты «Не включать - работа на линии».

Проверка отсутствия напряжения.

После того, как напряжение отключено, необходимо убедиться, что напряжение отсутствует, затем немедленно заземлить отключенные токоведущие части. Для этого у места работ снимают постоянные ограждения Переносное заземление присоединяют одним концом к шине заземляющего контура (его свободные концы будут присоединены к токоведущей части после того как удостоверятся в том, что напряжения на ней нет).

Отсутствие напряжения проверяют специальным указателем.

Наложение и снятие заземлений.

После проверки отсутствия напряжения заземляют и соединяют накоротко фазы тех токоведущих частей, на которых будут работать или от которых может быть подано напряжение. Заземления накладывают со всех сторон, откуда может быть подано напряжение, так чтобы отключенный для работы участок находился между ними. Этим обеспечивается наиболее надежная защита работающих от случайного появления напряжения.

В ячейке отходящей линии заземления ставят не только со стороны шин, но и на ножах линейных разъединителей.

Переносные заземления, как правило, устанавливают двумя работниками, один из которых должен иметь 4 квалификационную группу. При единоличном оперативном обслуживании электроустановки одному дежурному разрешается включение стационарных заземляющих ножей, а также наложение переносных заземлений в установках напряжением до1000 В.

Этот порядок организации работ, принятый на электроустановках, продиктован опытом работы и там, где он соблюдается полностью, поражение электрическим током - редкий случай.


.4 Пожарная безопасность


Пожарная безопасность может быть обеспечена мерами пожарной профилактики и активной пожарной защитой.

К наиболее потенциально опасным источникам и причинам возгорания в отделе, где будет эксплуатироваться разработанное программное приложение, можно отнести неисправности электрооборудования, неосторожное обращение с электроприборами. К мерам предупреждения перегрузок и коротких замыканий в электрических проводках относятся применение плавких предохранителей и специальных автоматов, а также правильный монтаж электрических цепей.

Эффект воздействия высокой температуры на организм человека в значительной мере зависит от влажности воздуха: чем выше влажность, тем ниже критическая температура (критическая температура находится в пределах 60-70°С).

Переносимость человеком лучистых потоков зависит от интенсивности облучения. Чем выше интенсивность облучения, тем меньше время, в течение которого человек способен выдерживать воздействие лучистых потоков.

Для обеспечения быстрого и своевременного тушения очага пожара, в помещении должны быть первичные средства пожаротушения: ящик с песком и огнетушитель (марки ОУ-5, ОУ-8) [59], предназначенные для тушения неинтенсивных очагов пожара.

Огнетушители необходимо располагать так, чтобы они были защищены от воздействия прямых солнечных лучей, тепловых потоков, механических воздействий. Они должны быть хорошо видны и легкодоступны в случае пожара. В помещениях, насыщенных производственным или другим оборудованием визуально заслоняющим огнетушители, должны быть установлены указатели их местоположения. Указатели должны на видных местах на высоте 2,0-2,5 м от уровня пола. Рекомендуется переносные огнетушители устанавливать на подвесных кронштейнах, в шкафах пожарных кранов или в специальных шкафах. Огнетушители должны располагаться так, чтобы основные надписи и пиктограммы, показывающие порядок приведения их в действие, были хорошо видны и обращены наружу или в сторону наиболее вероятного подхода к ним.

В системе профилактических мер, направленных на обеспечение безопасности людей при возникновении пожара в зданиях и сооружениях, важное место занимает вопрос своевременной и организованной их эвакуации.

Кратковременность процесса эвакуации объясняется быстрым нарастанием при пожаре факторов, опасных для здоровья и жизни человека. К опасным факторам пожара для здоровья человека относят температуру среды в рабочей зоне или на уровне роста человека, снижение концентрации кислорода в помещениях до опасных величин, опасные концентрации продуктов горения и термического разложения, потерю видимости из-за задымления помещений и путей эвакуации, лучистые тепловые потоки. Все эти факторы вредно воздействуют на организм человека и при достижении определенных значений могут привести к смертельным исходам. Сильное задымление помещений и путей эвакуации приводит к потере ориентировки эвакуирующихся.

цветовой коррекция шейдер изображение


Заключение


В результате дипломного проектирования по теме «Разработка программного модуля цветовой коррекции изображения с использованием средств OpenGL», были решены следующие задачи:

а)был произведен тщательный анализ предметной области, в результате которого были определены основные методы цветовой коррекции для трехмерного изображения;

б)путем сравнительного анализа осуществлен выбор программных средств и методов, необходимых для проектирования и реализации проекта;

в)осуществлен анализ и проектирование программного модуля цветовой коррекции изображения. Результатом данного проектирования являются диаграммы вариантов использования, классов и развертывания;

г)результатом реализации стал программный модуль цветовой коррекции изображения, а также демонстрационная программа. Программа имеет простой интерфейс, который позволяет переключать различные методы цветовой коррекции и легко сравнивать их друг с другом;

д)тестирование проводилось в соответствии с разработанной программой и методикой испытаний. Оно показало соответствие программного продукта требованиям технического задания;

е)произведен расчет себестоимости программного продукта, которая составила 14 081 756 руб.;

ж)разработан пакет программных эксплуатационных документов: техническое задание, описание программы, руководство системного программиста, руководство пользователя, программа и методика испытаний.

Благодаря разработанной демонстрационной программе стало возможным произвести анализ различных методов цветовой коррекции и сделать следующие выводы:

а)наиболее быстрым и оптимальным по использованию памяти является метод, использующий для цветовой коррекции градиентную карту;

б)наиболее продвинутым, но самым медленным является метод, использующий буфер глубины;

в)методом, который дает наиболее тонкие возможности по цветовой коррекции (хотя и не применяющий её в зависимости от глубины), является метод, использующий трехмерную текстурную карту.


Список литературы


1.Порев В.Н. Компьютерная графика. СПб., BHV, 2002

2.Шикин А.В., Боресков А.В. Компьютерная графика. Полигональные модели. Москва, ДИАЛОГ-МИФИ, 2001

.Тихомиров Ю. Программирование трехмерной графики. СПб, «БХВ - Петербург» 2002

.Хилл Ф., OpenGL. Программирование компьютерной графики. СПб.: «Питер», 2004

.Боресков - Графика трехмерной игры на OpenGL (2004)

.Поляков, Брусенцев - Методы и алгоритмы компьютерной графики в примерах на Visual C++(2003)

.Эйнджел - Интерактивная компьютерная графика. Вводный курс на базе OpenGL (2001)

.ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению. - М.: Издательство стандартов, 1982.

.Херн, Бейкер - Компьютерная графика и стандарт OpenGL (2005)

.Программирование GLUT: окна и анимация. Miguel Angel Sepulveda, LinuxFocus

.Компьютерная графика и стандарт OpenGL, 3-е издание, Дональд Херн, М. Паулин Бейкер

.Алгоритмы: построение и анализ 2-е издание, Томас X. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн

."Интерактивная компьютерная графика. Вводный курс на базе OpenGL", Эдвард Эйнджел.

.ГОСТ 19.402-78 ЕСПД. Описание программы. - М.: Издательство стандартов, 1982.

.ГОСТ 19.504-79 ЕСПД. Руководство оператора. - М.: Издательство стандартов, 1981.

.ГОСТ 19.301-79. Программа и методика испытаний. - М.: Издательство стандартов, 1981.

.Скуматова О.А. Методические указания к выполнению экономической части дипломного проекта для студентов специальности 1-400101 «Программное обеспечение информационных технологий», 1-400201 «Вычислительные машины, системы и сети». - Новополоцк: ПГУ, 2011.

.Дорожко С.В., Пустовит В.Т., Морзак Г.И. Защита населения и хозяйственных объектов в чрезвычайных ситуациях. Радиационная безопасность. Учебное пособие в 3-х частях. Часть 1. Чрезвычайные ситуации и их предупреждение. - Мн.: УП «Технопринт», 2001. - 222 с.

.Калван Э.П. Защита населения и хозяйственных объектов в чрезвычайной ситуации. Учебно-методический комплекс. - Новополоцк: ПГУ. - 2001.

.СанПиН 9-131 РБ 2000 «Гигиенические требования к видеодисплейным терминалам, электронно-вычислительным машинам и организации работы».

.Охрана труда при работе на персональных электронно-вычислительных машинах и другой офисной технике. Практ. пос. Доп. тир. / Сост. В.П. Семич, А.В. Семич: - Мн.; ЦОТЖ, 2001. - 75 с.

.«Пожарная техника. Огнетушители. Требования к эксплуатации. НПБ 28-2001»

.СНБ 2.02.02-01 «Эвакуация людей из зданий и сооружений при пожаре»

24 Основы OpenGL


Приложение А


Техническое задание

Введение

Название разрабатываемого программного продукта - «Программный модуль цветовой коррекции изображения с использованием средств OpenGL».

Область применения модуля цветовой коррекции - использование в видеоиграх, компьютерной визуализации.

А.1 Основания для разработки

Основанием для разработки программного продукта является приказ N 315 от 21.05.2014.

А.2 Назначение разработки

Назначение программного модуля цветовой коррекции изображения:

-цветовая коррекция трехмерного изображения различными известными способами;

-простая интеграция в существующие проекты, использующие библиотеку OpenGL.

Цели создания программного модуля цветовой коррекции изображения:

-предоставление разработчикам приложений с использованием библиотеки OpenGL готового средства для цветовой коррекции изображения;

-исследование различных способов цветовой коррекции изображения, их сравнительный анализ;

-сравнительный анализ модуля цветовой коррекции изображения с существующими аналогами.

А.3 Требования к программе или программному изделию

А.3.1 Требования к функциональным характеристикам

Модуль должен быть реализован в виде набора классов на языке C++ с использованием библиотеки OpenGL, возможных вспомогательных библиотек, а также набора шейдеров на языке GLSL, реализующих цветовую коррекцию.

Модуль должен реализовывать следующие функции:

а)загрузка трехмерной сцены;

б)загрузка текстурных карт;

в)загрузка шейдерных программ;

г)отрисовка изображения в текстуру;

д)отрисовка буфера глубины в текстуру;

е)переключение различных видов цветовой коррекции.

Входными данными для модуля цветовой коррекции в обычном случае являются:

а)изображение (текстура) для последующей цветовой коррекции;

б)один из видов данных для цветовой коррекции:

)градиентная одномерная текстура;

)трехмерная поисковая текстура.

Входными данными для модуля цветовой коррекции в случае его расширенного использования являются:

а)изображение (текстура) для последующей цветовой коррекции;

б)градиентная одномерная текстура для цветовой коррекции;

в)буфер глубины трехмерного изображения;

г)градиентная одномерная текстура для цветовой коррекции относительно глубины трехмерного изображения.

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

Система должна обеспечивать корректную работу с любым видом входных данных.

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

А.3.2 Требования к надежности

Обеспечение надежности работы модуля подразумевает обработку исключительных операций, связанных с предоставлением некорректных данных, а также вывод в режиме отладки приложения всех возникших ошибок, связанных с работой модуля.

А.3.3 Условия эксплуатации

Условия эксплуатации модуля цветовой коррекции изображения определяются требованиями к помещениям для эксплуатации ПЭВМ согласно СанПиН 2.2.2.9-131 РБ 2000:

-площадь рабочего места - не менее 6 м2;

-объем рабочего места - не менее 20 м3;

-влажность воздуха - от 40 до 60%;

-температура воздуха зимой от 21 до 24°C;

-температура воздуха летом от 22 до 25°C.

Требования, предъявляемые к эргономике и технической эстетике модуля цветовой коррекции:

-простота в обращении;

-полное соответствие средств, предоставляемых разработчику, парадигме объектно-ориентированного программирования.

Требования к квалификации работающих с модулем цветовой коррекции изображения:

-базовые знания языка программирования C++;

-базовые знания принципов программирования трехмерной графики с использованием OpenGL;

-представление о работе шейдеров.

А.3.4 Требования к составу и параметрам технических средств

Модуль цветовой коррекции должен успешно функционировать на ПЭВМ следующей минимальной конфигурации:

-процессор Intel или AMD с тактовой частотой 1200 МГц;

-оперативная память 512 Мб;

-видеоадаптер 512 Мб, с поддержкой модели шейдеров 3 и позже, а также OpenGL версии 3.3 и позже;

-разрешение экрана не менее 1280*1024 пикселей;

-цветной монитор;

-клавиатура;

-манипулятор «мышь».

А 3.5 Требования к информативной и программной совместимости

Модуль должен быть совместим с любым средством для разработки на языке C++, с учетом наличия возможности подключения к ней библиотеки OpenGL версии 3.3 и позже.

А.3.6 Требования к маркировке и упаковке

Требования к маркировке и упаковке разрабатываемого программного продукта не предъявляются.

А.3.6 Требования к транспортированию и хранению

Требования к транспортированию, а также хранению разрабатываемого программного продукта не предъявляются.

А.4 Требования к программной документации

Программная документация дипломного проекта должна быть представлена в следующем составе:

-техническое задание, выполненное в соответствии с ГОСТ 19.201-78;

-описание программы, выполненное в соответствии с ГОСТ 19.502-2000;

-программа и методика испытаний, выполненные в соответствии с ГОСТ 19.301-79;

-руководство пользователя, выполненное в соответствии с ГОСТ 19.505-2000.

А.5 Технико-экономические показатели

Экономическая эффективность разрабатываемого программного продукта должна быть обеспечена за счет использования свободно лицензируемых средств и библиотек разработки.

А.6 Стадии и этапы разработки

Этапы разработки модуля цветовой коррекции изображения с использованием средств OpenGL представлены в таблице А.1.


Таблица А.1 - Этапы и сроки разработки модуля цветовой коррекции изображения с использованием средств OpenGL

Наименование этапа работСроки выполненияАнализ поставленной задачи01.02.2014-20.02.2014Анализ существующих средств и методов цветовой коррекции изображения20.02.2014-01.03.2014Проектирование модуля цветовой коррекции02.03.2014-02.04.2014Реализация модуля и демонстрационной программы03.04.2014-03.05.2014Тестирование, опытная эксплуатация, доработка разработанного программного продукта04.05.2014-10.06.2014Оформление программной документации11.06.2014-19.06.2014

А.7 Параметры контроля и приемки

Приемка программного продукта в рамках дипломного проекта осуществляется государственной экзаменационной комиссией.


Приложение Б


Диаграмма вариантов использования


Приложение В


Диаграмма классов



Приложение Г


Диаграмма компонентов


Приложение Д


Диаграмма последовательности


Приложение Е


Описание программы

Е. 1 Общие сведения

Наименование программного продукта: программный модуль цветовой коррекции изображения с использованием библиотеки OpenGL.

Автор: студент группы 08ВСз факультета информационных технологий специальности 1-400201 «Вычислительные системы и сети» Каськевич Д. Л.

Дата создания: 30.03.2014 - 30.05.2014.

Версия: 1.0.

Программная среда и программное обеспечение, необходимое для функционирования программы:

-операционная система семейства Windows (XP/Vista/7/8);

-драйвера для видеоадаптеры, предоставленные производителем.

Для разработки приложения был использован язык программирования C++.

Е. 2 Функциональное назначение

Назначение программного модуля цветовой коррекции изображения:

-цветовая коррекция трехмерного изображения различными известными способами;

-простая интеграция в существующие проекты, использующие библиотеку OpenGL.

Е. 3 Описание логической структуры

Программный модуль цветовой коррекции изображения с использованием библиотеки OpenGL представляет программную библиотеку классов, которую можно внедрить и использовать в существующем проекте.

Модуль написан на языке C++, и включает в себя шейдерные программы цветовой коррекции, использующие язык GLSL - шейдерный язык библиотеки OpenGL.

В рамках дипломного проектирования также реализована демонстрационная программа, которая использует разработанный программный модуль и показывает все его возможности. Демонстрационная программа использует библиотеку GLWF для создания окна OpenGL и GLEW для ввода с клавиатуры и мыши.

Е. 4 Используемые технические средства

Модуль цветовой коррекции должен успешно функционировать на ПЭВМ следующей минимальной конфигурации:

-процессор Intel или AMD с тактовой частотой 1200 МГц;

-оперативная память 512 Мб;

-видеоадаптер 512 Мб, с поддержкой модели шейдеров 3 и позже, а также OpenGL версии 3.3 и позже;

-разрешение экрана не менее 1280*1024 пикселей;

-цветной монитор;

-клавиатура;

-манипулятор «мышь».

Е. 5 Вызов и загрузка

Запуск приложения осуществляется исполняемым файлом «ColorCorrection.exe».

Е. 6 Входные данные

Входными данными для модуля цветовой коррекции в обычном случае являются:

а)изображение (текстура) для последующей цветовой коррекции;

б) один из видов данных для цветовой коррекции:

)градиентная одномерная текстура;

)трехмерная поисковая текстура.

Входными данными для модуля цветовой коррекции в случае его расширенного использования являются:

а)изображение (текстура) для последующей цветовой коррекции;

б)градиентная одномерная текстура для цветовой коррекции;

в)буфер глубины трехмерного изображения;

г)градиентная одномерная текстура для цветовой коррекции относительно глубины трехмерного изображения.

Е. 7 Выходные данные

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

Система должна обеспечивать корректную работу с любым видом входных данных.


Приложение Ж


Программа и методика испытаний

Ж. 1 Объект испытаний

Объектом испытаний является программный продукт - модуль цветовой коррекции изображения с использованием библиотеки OpenGL.

Ж. 2 Цель испытаний

Целью испытаний является проверка работоспособности разработанного программного обеспечения. В ходе испытаний необходимо протестировать все функции, которые реализуются программой. Результатом проведения тестирования должно стать заключение о степени соответствия программы требованиям, выдвигаемым техническим заданием.

Ж. 3 Требования к программе

Разработанный программный продукт должен корректно выполнять цветовую коррекцию изображения и переключение между различными методами её достижения, причем должен корректно работать на видеоадаптерах, поддерживающих работу с OpenGL 2.1.

Ж. 4 Требования к программной документации

Для проведения испытаний программного модуля цветовой коррекции изображения с использованием библиотеки OpenGL должна быть предоставлена следующая техническая документация:

-техническое задание на дипломное проектирование с перечислением всех требований, предъявляемых к программе;

-руководство системного программиста;

-руководство оператора программы;

-программа и методика испытаний.

Ж. 5 Средства и порядок испытаний

Для тестирования программного модуля цветовой коррекции изображения с использованием библиотеки OpenGL требуется ПЭВМ следующей минимальной конфигурации:

-процессор Intel или AMD с тактовой частотой 1200 МГц;

-оперативная память 512 Mб;

-видеоадаптер 256 Mб с поддержкой OpenGL 2.1;

-разрешение экрана не менее 1280x720 пикселей;

-цветной монитор;

-клавиатура;

-манипулятор мышь.

Программная среда и программное обеспечение, необходимое для тестирования программы:

-операционная система семейства Windows (XP/Vista/7/8);

-драйвера для видеоадаптеры, предоставленные производителем.

Порядок проведения испытаний:

а)создание градиентной карты с отсутствием цветовой коррекции;

б)создание градиентной карты с существенной цветовой коррекцией;

в)сравнение результатов работы модуля с разными градиентными картами;

г)создание трехмерной текстурной карты с отсутствием цветовой коррекции;

д)создание трехмерной текстурной карты для получения эффекта повышенной контрастности изображения;

е)сравнение результатов работы модуля с разными трехмерными текстурными картами;

ж)создание градиентных карт для тестирования цветовой коррекции с использованием буфера глубины. Одна из карт будет с отсутствием цветовой коррекции, другая будет иметь существенную цветовую коррекцию;

и) сравнение работы цветовой коррекции с использованием буфера глубины при разном порядке загрузки градиентных текстур.

Ж. 6 Методы испытаний

Описания тестов и способов проверок с указанием ожидаемых результатов испытаний приведены в таблице Ж.1.


Таблица Ж.1 - Способы проверок с указанием ожидаемых результатов испытаний

Способ проверкиОжидаемый результатИспользование градиентной карты с отсутствием цветовой коррекции Полное соответствие исходного изображения и выходного изображенияИспользованием трехмерной карты с повышенной контрастностьюСущественное отличие исходного изображения и выходного изображения - выходное изображение обладает большим контрастомИспользование градиентной карты с отсутствием цветовой коррекции для близкой дистанции и градиентной карты с существенной цветовой коррекцией для дальней дистанцииВсе объекты на заднем плане приобретают оттенок, соответствующий цветовой коррекции для дальней дистанции. Объекты вблизи камеры имеют свои естественные цветаИспользование программы для снятия количества кадров в секунду для приложений трехмерной отрисовки (Fraps)Полное соответствие информации о кадрах в секунду предоставляемой разработанной программой и данными, полученными с помощью стороннего приложенияНажатие на клавиши 1, 2, 3Переключение между видами цветовой коррекции

Приложение И


Руководство системного программиста

Наименование программного продукта: программный модуль цветовой коррекции изображения с использованием библиотеки OpenGL.

Модуль цветовой коррекции должен успешно функционировать на ПЭВМ следующей минимальной конфигурации:

-процессор Intel или AMD с тактовой частотой 1200 МГц;

-оперативная память 512 Мб;

-видеоадаптер 512 Мб, с поддержкой модели шейдеров 3 и позже, а также OpenGL версии 3.3 и позже;

-разрешение экрана не менее 1280*1024 пикселей;

-цветной монитор;

-клавиатура;

-манипулятор «мышь».

Программная среда и программное обеспечение, необходимое для функционирования программы:

-операционная система семейства Windows (XP/Vista/7/8);

-драйвера для видеоадаптеры, предоставленные производителем.

Назначение программного модуля цветовой коррекции изображения:

-цветовая коррекция трехмерного изображения различными известными способами;

-простая интеграция в существующие проекты, использующие библиотеку OpenGL.


Приложение K


Структура программы

K. 1 Структура программы

Программный модуль цветовой коррекции изображения с использованием библиотеки OpenGL представляет из себя программную библиотеку классов, которую можно внедрить и использовать в существующем проекте.

Модуль написан на языке C++, и включает в себя шейдерные программы цветовой коррекции, использующие язык GLSL - шейдерный язык библиотеки OpenGL.

В рамках дипломного проектирования также реализована демонстрационная программа, которая использует разработанный программный модуль и показывает все его возможности. Демонстрационная программа использует библиотеку GLWF для создания окна OpenGL и GLEW для ввода с клавиатуры и мыши.

K. 2 Настройка программы

Разработанное программное обеспечение не требует дополнительных настроек.

K. 3 Проверка программы

Проверка работоспособности программы осуществляется согласно «Программе и методике испытаний».

K. 4 Проверка программы

При проблемах во время запуска программа выдаст сообщение, которое пояснит причину возникновения ошибки. В большинстве случаях необходимо проверить корректность установленных драйверов для видеоадаптера.


Приложение Л


Руководство оператора

Л. 1 Назначение программы

Назначение программного модуля цветовой коррекции изображения:

-цветовая коррекция трехмерного изображения различными известными способами;

-простая интеграция в существующие проекты, использующие библиотеку OpenGL.

Л. 2 Условия выполнения программы

Модуль цветовой коррекции должен успешно функционировать на ПЭВМ следующей минимальной конфигурации:

-процессор Intel или AMD с тактовой частотой 1200 МГц;

-оперативная память 512 Мб;

-видеоадаптер 512 Мб, с поддержкой модели шейдеров 3 и позже, а также OpenGL версии 3.3 и позже;

-разрешение экрана не менее 1280*1024 пикселей;

-цветной монитор;

-клавиатура;

-манипулятор «мышь

Л. 2.1 Требования к информативной и программной совместимости

Программный модуль цветовой коррекции изображения с использованием библиотеки OpenGL представляет собой программную библиотеку классов, которую можно внедрить и использовать в существующем проекте.

Модуль написан на языке C++, и включает в себя шейдерные программы цветовой коррекции, использующие язык GLSL - шейдерный язык библиотеки OpenGL.

В рамках дипломного проектирования также реализована демонстрационная программа, которая использует разработанный программный модуль и показывает все его возможности. Демонстрационная программа использует библиотеку GLWF для создания окна OpenGL и GLEW для ввода с клавиатуры и мыши.

Л. 3 Выполнение программы

Л. 3.1 Запуск программы

Запуск приложения осуществляется исполняемым файлом «ColorCorrection.exe».

Л. 3.2 Основное окно программы

При запуске демонстрационной программы открывается главное окно приложения, которое представляет собой OpenGL окно, отображающее трехмерную сцену и справку по управлению программой. Внешний вид главного окна приложения представлен на рисунке Л.1.


Рисунок Л.1 - Внешний вид программы


Управление камерой осуществляется при помощи мыши и клавиш движения (стрелки). Переключение различных видов цветовой коррекции изображения осуществляется по средствам цифровых клавиш, а также с помощью кнопок 1,2,3 осуществляющих демонстрацию работы каждого отдельного шейдера, приближение и отдаление объектов осуществляется при помощью стрелок на клавиатуре, например при помощи клавиши UP осуществляется приближение объекта, при помощи клавиши DOWN отдаление объекта.


Содержание Введение 1. Анализ исходных данных и разработка технического задания .1 Характеристика требований на разработку 1.2 Анализ подходов к

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ