使用DirectX
使用DirectX
DirectX 11功能和着色器旨在直接在价格图表上实现3D可视化。
创建3D图形需要一个具有所需图像大小的图形环境(DXContextCreate)。此外,还需要准备顶点和索引缓冲区(DXBufferCreate),以及创建顶点和像素着色器(DXShaderCreate)。这足以显示彩色图形。
下一级图形需要输入(DXInputSet)以将其他渲染参数传递到着色器。这可以设置相机和3D对象的位置、描述光源并实现鼠标和键盘控制。
因此,内置的MQL5函数可以使您在MetaTrader 5中直接创建动画3D图表,无需第三方工具。显卡应支持DX 11和Shader Model 5.0,以便使函数正常工作。
若要开始使用该函数库,只需阅读文章如何在MetaTrader 5中使用DirectX创建3D图形。
| 函数 | 操作 |
|---|---|
| DXContextCreate | 创建图形环境,以渲染指定大小的画帧 |
| DXContextSetSize | 更改在DXContextCreate()中创建的图形环境的画帧大小 |
| DXContextSetSize | 获取在DXContextCreate()中创建的图形环境的画帧大小 |
| DXContextClearColors | 为渲染缓冲区的所有像素设置指定的颜色 |
| DXContextClearDepth | 清除深度缓冲区 |
| DXContextGetColors | 从图形环境获取具有指定大小和偏移量的图像 |
| DXContextGetDepth | 获取渲染画帧的深度缓冲区 |
| DXBufferCreate | 根据数据数组创建指定类型的缓冲区 |
| DXTextureCreate | 从传递图像中剪切的指定大小的矩形中创建2D结构 |
| DXInputCreate | 创建着色器输入 |
| DXInputSet | 设置着色器输入 |
| DXShaderCreate | 创建指定类型的着色器 |
| DXShaderSetLayout | 设置顶点着色器的顶点布局 |
| DXShaderInputsSet | 设置着色器输入 |
| DXShaderTexturesSet | 设置着色器结构 |
| DXDraw | 渲染在DXBufferSet()中设置的顶点缓冲区的顶点 |
| DXDrawIndexed | 渲染由DXBufferSet()的索引缓冲区描述的图形原语 |
| DXPrimiveTopologySet | 设置使用DXDrawIndexed()渲染的原语类型 |
| DXBufferSet | 设置当前渲染的缓冲区 |
| DXShaderSet | 设置渲染的着色器 |
| DXHandleType | 返回句柄类型 |
| DXRelease | 释放句柄 |