CCanvas3D

CCanvas3D是一个用于在图表上简化3D对象创建和可视化的类。

描述

CCanvas3D以动态3D图形的形式大幅简化了大量数据的创建和可视化。CCanvas3D类包含管理相机和光线的方法,以及提供了用于创建图形资源的资源管理器 – 纹理、着色器、顶点缓冲区、索引和着色器参数。

此外,程序库还包括场景基对象的类,比如盒子,用户数据上的三维表面或任意网格。

显卡应支持DX 11和Shader Model 5.0,以便使函数正常工作。

声明

   class CCanvas

标题

   #include <Canvas\Canvas.mqh>

继承架构

  CCanvas

      CCanvas3D

按组划分类函数

创建/删除

描述

创建

创建用于渲染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

获取指向场景参数缓冲区的指针。