CCanvas3D

Класс CCanvas3D является классом для упрощенного создания и визуализации трехмерных объектов на графике.

Описание

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

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

Для работы функций видеокарта должна поддерживать DX 11 и шейдеры версии 5.0.

Декларация

   class CCanvas

Заголовок

   #include <Canvas\Canvas.mqh>

Иерархия наследования

  CCanvas

      CCanvas3D

Методы класса по группам

Создание/удаление

Описание

Create

Создает графический ресурс для отрисовки 3D-сцены без привязки к объекту чарта.

Attach

Получает из объекта OBJ_BITMAP_LABEL графический ресурс и привязывает его к экземпляру класса CCanvas.

ObjectAdd

Добавляет на 3D-сцену объект для последующей отрисовки.

Destroy

Уничтожает графический ресурс и освобождает графический 3D-контекст.

Работа со светом

 

AmbientColorSet

Устанавливает цвет и интенсивность окружающего ненаправленного освещения.

AmbientColorGet

Получает цвет и интенсивность окружающего ненаправленного освещения.

LightDirectionSet

Задает направление направленного источника света.

LightDirectionGet

Получает направление направленного источника света.

LightColorSet

Устанавливает цвет и интенсивность направленного источника света.

LightColorGet

Получает цвет и интенсивность направленного источника света.

Работа с камерой

 

ProjectionMatrixSet

Вычисляет и устанавливает матрицу проекции 3D-координаты на 2D кадр.

ProjectionMatrixGet

Получает матрицу проекции 3D-сцены на 2D кадр.

ViewMatrixSet

Устанавливает матрицу вида 3D-сцены.

ViewMatrixGet

Возвращает матрицу вида 3D-сцены.

ViewPositionSet

Устанавливает положение  точки зрения на 3D-сцену.

ViewRotationSet

Задает направление взгляда на 3D-сцену.

ViewTargetSet

Устанавливает координаты точки, на которую направлен взгляд.

ViewUpDirectionSet

Устанавливает направление верхней границы кадра в 3D-пространстве.

Отрисовка

 

Render

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

RenderBegin

Подготавливает графический контекст для отрисовки нового кадра.

RenderEnd

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

Получение ресурсов

 

DXContext

Возвращает хендл графического контекста.

DXDispatcher

Возвращает хендл диспетчера ресурсов.

InputScene

Возвращает указатель на буфер параметров сцены.