- DXContextCreate
- DXContextSetSize
- DXContextGetSize
- DXContextClearColors
- DXContextClearDepth
- DXContextGetColors
- DXContextGetDepth
- DXBufferCreate
- DXTextureCreate
- DXInputCreate
- DXInputSet
- DXShaderCreate
- DXShaderSetLayout
- DXShaderInputsSet
- DXShaderTexturesSet
- DXDraw
- DXDrawIndexed
- DXPrimiveTopologySet
- DXBufferSet
- DXShaderSet
- DXHandleType
- DXRelease
Работа с DirectX
Функции и шейдеры DirectX 11 предназначены для 3D-визуализации прямо на ценовом графике.
Для создания трехмерной графики необходимо создать графический контекст (DXContextCreate) с нужным размером изображения. Далее подготавливаем вершинный и индексный буферы (DXBufferCreate), создаем вершинный и пиксельный шейдеры (DXShaderCreate). Этого достаточно чтобы вывести графику в цвете.
Для следующего уровня графики необходимо добавить входные параметры (DXInputSet), которые предназначены для передачи в шейдеры дополнительных параметров отрисовки. Это позволит задавать положение камеры и 3D-объекта, описать источники света, реализовать управление с помощью мышки и клавиатуры.
Таким образом, встроенные прямо в MQL5 функции позволяют создавать анимированные 3D-графики прямо в терминале MetaTrader 5 и не требуют для этого сторонних инструментов. Для работы функций видеокарта должна поддерживать DX 11 и шейдеры версии 5.0.
Для того чтобы начать работать с библиотекой, достаточно прочитать статью Как создать 3D-графику на DirectX в MetaTrader 5.
Функция |
Действие |
---|---|
Создает графический контекст для отрисовки кадров указанного размера |
|
Изменяет размер кадра графического контекста, созданного в DXContextCreate() |
|
Получает размер кадра графического контекста, созданного в DXContextCreate() |
|
Устанавливает для буфера отрисовки все пиксели в указанный цвет |
|
Очищает буфер глубины |
|
Получает из графического контекста изображение указанного размера и смещения |
|
Получает буфер глубины отрисованного кадра |
|
Создает буфер указанного типа на основе массива данных |
|
Создает 2-мерную текстуру из прямоугольника заданного размера, вырезанного из переданного изображения |
|
Создает входные параметры шейдера |
|
Устанавливает входные параметры шейдера |
|
Создает шейдер указанного типа |
|
Устанавливает разметку вершин для вершинного шейдера |
|
Устанавливает входные параметры шейдера |
|
Устанавливает текстуры для шейдера |
|
Отрисовывает вершины вершинного буфера, установленного в DXBufferSet() |
|
Отрисовывает графические примитивы, описанные индексным буфером из DXBufferSet() |
|
Устанавливает тип примитивов для отрисовки с помощью DXDrawIndexed() |
|
Устанавливает буфер для текущей отрисовки |
|
Устанавливает шейдер для отрисовки |
|
Возвращает тип хендла |
|
Освобождает хендл |