Работа с DirectX

Функции и шейдеры DirectX 11 предназначены для 3D-визуализации прямо на ценовом графике.

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

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

Таким образом, встроенные прямо в MQL5 функции позволяют создавать анимированные 3D-графики прямо в терминале MetaTrader 5 и не требуют для этого сторонних инструментов. Для работы функций видеокарта должна поддерживать DX 11 и шейдеры версии 5.0.

Для того чтобы начать работать с библиотекой, достаточно прочитать статью Как создать 3D-графику на DirectX в MetaTrader 5.

Функция

Действие

DXContextCreate

Создает графический контекст для отрисовки кадров указанного размера

DXContextSetSize

Изменяет размер кадра графического контекста, созданного в DXContextCreate()

DXContextSetSize

Получает размер кадра графического контекста, созданного в DXContextCreate()

DXContextClearColors

Устанавливает для буфера отрисовки все пиксели в указанный цвет

DXContextClearDepth

Очищает буфер глубины

DXContextGetColors

Получает из графического контекста изображение указанного размера и смещения

DXContextGetDepth

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

DXBufferCreate

Создает буфер указанного типа на основе массива данных

DXTextureCreate

Создает 2-мерную текстуру из прямоугольника заданного размера, вырезанного из переданного изображения

DXInputCreate

Создает входные параметры шейдера

DXInputSet

Устанавливает входные параметры шейдера

DXShaderCreate

Создает шейдер указанного типа

DXShaderSetLayout

Устанавливает разметку вершин для вершинного шейдера

DXShaderInputsSet

Устанавливает входные параметры шейдера

DXShaderTexturesSet

Устанавливает текстуры для шейдера

DXDraw

Отрисовывает вершины вершинного буфера, установленного в DXBufferSet()

DXDrawIndexed

Отрисовывает графические примитивы, описанные индексным буфером из DXBufferSet()

DXPrimiveTopologySet

Устанавливает тип примитивов для отрисовки с помощью DXDrawIndexed()

DXBufferSet

Устанавливает буфер для текущей отрисовки

DXShaderSet

Устанавливает шейдер для отрисовки

DXHandleType

Возвращает тип хендла

DXRelease

Освобождает хендл