Nachschlagewerk MQL5Arbeiten mit DirectX 

Arbeiten mit DirectX

Die Funktionen von DirectX 11 und des Shaders (erzeugt die Schatten) sind für die 3D-Visualisierung direkt auf einem Preischart konzipiert.

Die Erstellung von 3D-Grafiken erfordert einen grafischen Kontext (DXContextCreate) mit der erforderlichen Bildgröße. Außerdem ist es notwendig, Vertex- und Indexpuffer (DXBufferCreate) vorzubereiten, sowie Vertex- und Pixel-Shader (DXShaderCreate) zu erstellen. Dies reicht aus, um Grafiken in Farbe darzustellen.

Die nächste Grafikstufe benötigt die Eingaben (DXInputSet) zur Übergabe zusätzlicher Renderingparameter an den Shader. Dies ermöglicht die Einstellung der Position der Kamera und des 3D-Objekts, die Beschreibung der Lichtquellen und die Steuerung von Maus und Tastatur.

Mit den integrierten MQL5-Funktionen können Sie somit animierte 3D-Diagramme direkt in MetaTrader 5 erstellen, ohne dass Sie Werkzeuge von Drittanbietern benötigen. Eine Grafikkarte sollte DX 11 und Shader Model 5.0 unterstützen, damit die Funktionen funktionieren.

Um die Arbeit mit der Bibliothek zu beginnen, lesen Sie einfach den Artikel Wie man 3D-Grafiken mit DirectX in MetaTrader 5 erstellt.

Funktion

Aktion

DXContextCreate

Erzeugt einen grafischen Kontext zum Rendern von Frames einer bestimmten Größe.

DXContextSetSize

Ändert die Frame-Größe eines mit DXContextCreate() erstellten Grafikkontextes.

DXContextSetSize

Liefert die Rahmengröße eines mit DXContextCreate() erstellten Grafikkontextes.

DXContextClearColors

Weist eine bestimmte Farbe allen Pixeln für den Rendering-Puffer.

DXContextClearDepth

Löscht den Tiefenpuffer

DXContextGetColors

Ruft ein Bild einer bestimmten Größe und eines bestimmten Offsets aus einem Grafikkontext ab.

DXContextGetDepth

Ruft den Tiefenpuffer eines gerenderten Frames ab

DXBufferCreate

Erstellt einen Puffer eines bestimmten Typs basierend auf einem Daten-Array

DXTextureCreate

Erstellt eine 2D-Textur aus einem Rechteck mit einer bestimmten Größe, das aus einem übergebenen Bild ausgeschnitten wurde.

DXInputCreate

Erstellt die Eingaben des Shaders

DXInputSet

Setzt die Eingaben des Shaders

DXShaderCreate

Erstellt einen Shader eines bestimmten Typs

DXShaderSetLayout

Legt das Vertex-Layout für den Vertex-Shader fest

DXShaderInputsSet

Setzt die Eingaben des Shaders

DXShaderTexturesSet

Legt die Texturen des Shaders fest

DXDraw

Rendert die Eckpunkte des in DXBufferSet() gesetzten Vertex-Puffers

DXDrawIndexed

Rendert grafische Primitive, die durch den Indexpuffer von DXBufferSet() beschrieben werden

DXPrimiveTopologySet

Setzt den Typ der Primitive für das Rendern mit DXDrawIndexed()

DXBufferSet

Setzt einen Puffer für das aktuelle Rendering

DXShaderSet

Setzt einen Shader für das Rendern

DXHandleType

Liefert einen Handle-Typ zurück

DXRelease

Gibt ein Handle frei