跳至内容

CCanvas3D

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获取指向场景参数缓冲区的指针。