跳至内容

使用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释放句柄