Class QAccelPlot::LineMaterial¶
ClassList > QAccelPlot > LineMaterial
QSGMaterial for line rendering, extending DataTextureMaterial with line-specific uniforms.More...
#include <LineMaterial.hpp>
Inherits the following classes: QAccelPlot::DataTextureMaterial
Inherited by the following classes: QAccelPlot::BandEdgeMaterial, QAccelPlot::GradientLineMaterial
Inheritance diagram¶
flowchart TB
classQAccelPlot_1_1LineMaterial["QAccelPlot::LineMaterial"]
classQAccelPlot_1_1DataTextureMaterial["QAccelPlot::DataTextureMaterial"]
classQAccelPlot_1_1DataTextureMaterial --> classQAccelPlot_1_1LineMaterial
click classQAccelPlot_1_1DataTextureMaterial "../classQAccelPlot_1_1DataTextureMaterial/" "Open QAccelPlot::DataTextureMaterial"
external_base_classQAccelPlot_1_1DataTextureMaterial_1["QSGMaterial"]
external_base_classQAccelPlot_1_1DataTextureMaterial_1 --> classQAccelPlot_1_1DataTextureMaterial
classQAccelPlot_1_1BandEdgeMaterial["QAccelPlot::BandEdgeMaterial"]
classQAccelPlot_1_1LineMaterial --> classQAccelPlot_1_1BandEdgeMaterial
click classQAccelPlot_1_1BandEdgeMaterial "../classQAccelPlot_1_1BandEdgeMaterial/" "Open QAccelPlot::BandEdgeMaterial"
classQAccelPlot_1_1GradientLineMaterial["QAccelPlot::GradientLineMaterial"]
classQAccelPlot_1_1LineMaterial --> classQAccelPlot_1_1GradientLineMaterial
click classQAccelPlot_1_1GradientLineMaterial "../classQAccelPlot_1_1GradientLineMaterial/" "Open QAccelPlot::GradientLineMaterial"
Public Attributes¶
| Type | Name |
|---|---|
| float | antialiasingEnabled = {1.0f}1.0 when GPU anti-aliasing is active. |
| float | antialiasingFeather = {1.0f}Anti-aliasing feather width in pixels. |
| float | dashOffset = {0.0f}Phase offset into the dash pattern. |
| float | dashPattern = {}Alternating dash/gap lengths (up to 8 entries). |
| int | dashPatternSize = {0}Number of valid entries in dashPattern . |
| float | dashPeriod = {0.0f}Total dash+gap cycle length in pixels. |
| float | lineWidth = {1.0f}Rendered line width in pixels. |
| float | pointCount = {0.0f}Number of data points (used to index the data texture). |
| float | stepMode = {0.0f}StepMode of the line, as a float (std140 offset 180 in the UBO). |
Public Attributes inherited from QAccelPlot::DataTextureMaterial¶
See QAccelPlot::DataTextureMaterial
| Type | Name |
|---|---|
| QColor | color = {Qt::blue}Line/fill color uniform. |
| std::shared_ptr< DataTexture > | dataTexture Data texture sampled by the shader. Materials drawing the same samples may share one. |
| QVector2D | domainMax = {1.0f, 1.0f}Maximum data-space coordinate. |
| QVector2D | domainMin = {0.0f, 0.0f}Minimum data-space coordinate. |
| float | logScaleX = {0.0f}1.0 when the X axis uses log scale (float for std140 UBO compatibility). |
| float | logScaleY = {0.0f}1.0 when the Y axis uses log scale (float for std140 UBO compatibility). |
| float | useVertexColor = {0.0f}1.0 when per-vertex color overrides color (float for std140 UBO compatibility). |
| QVector2D | viewportSize = {800.0f, 600.0f}Viewport size in pixels. |
Public Functions¶
| Type | Name |
|---|---|
| LineMaterial () Constructs a LineMaterial with default uniform values. |
|
| QSGMaterialShader * | createShader (QSGRendererInterface::RenderMode) override const Creates and returns the line shader program. |
| QSGMaterialType * | type () override const Returns the unique material type identifier for this subclass. |
Public Functions inherited from QAccelPlot::DataTextureMaterial¶
See QAccelPlot::DataTextureMaterial
| Type | Name |
|---|---|
| DataTextureMaterial () Constructs an empty DataTextureMaterial . |
|
| int | compare (const QSGMaterial * other) override const Compares shared uniform fields; delegates type-specific fields to compareExtra() . |
| QSGTexture * | sampledTexture () const Returns the texture the shader samples, or nullptr beforedataTexture holds an upload. |
| void | uploadTexture (QQuickWindow * window, const float * data, int floatCount) Uploads floatCount raw floats from__data into dataTexture , creating it when it isnullptr . |
| ~DataTextureMaterial () override |
Public Static Functions inherited from QAccelPlot::DataTextureMaterial¶
See QAccelPlot::DataTextureMaterial
| Type | Name |
|---|---|
| const QSGGeometry::AttributeSet & | attributeSet () Returns the shared vertex attribute set: {float id, float param, uchar4 color} (12 bytes). |
| void | commitTexture (QSGMaterialShader::RenderState & state, int binding, QSGTexture ** texture, const DataTexture * data) Commits the texture of data to sampler__binding (call from updateSampledImage ). Does nothing before an upload. |
| const QSGGeometry::AttributeSet & | vertexIndexAttributeSet () Returns the attribute set of marker quads: one ignored uchar4 placeholder (4 bytes). |
| bool | writeCommonUniforms (char * buf, int bufSize, const QMatrix4x4 & matrix, const DataTextureMaterial * mat) Writes the shared UBO prefix (transform + color + domain + flags) into buf . |
Protected Functions¶
| Type | Name |
|---|---|
| virtual int | compareExtra (const QSGMaterial * other) override const Compares line-specific uniform fields after the base-class comparison succeeds. |
Protected Functions inherited from QAccelPlot::DataTextureMaterial¶
See QAccelPlot::DataTextureMaterial
| Type | Name |
|---|---|
| virtual int | compareExtra (const QSGMaterial * other) const Subclass hook for compare() — called after the shared fields compare equal. |
Protected Static Functions¶
| Type | Name |
|---|---|
| QSGMaterialShader * | createLineShader (const QString & vertexShaderFileName) Returns the line shader program with vertex stage vertexShaderFileName and the line fragment stage. |
Detailed Description¶
Supplies line width, point count, anti-aliasing parameters, and dash pattern data to the line shaders (std140 offsets 104–183 in the UBO; 176–179 holds the inherited item opacity).
Public Attributes Documentation¶
variable antialiasingEnabled¶
1.0 when GPU anti-aliasing is active.
variable antialiasingFeather¶
Anti-aliasing feather width in pixels.
variable dashOffset¶
Phase offset into the dash pattern.
variable dashPattern¶
Alternating dash/gap lengths (up to 8 entries).
variable dashPatternSize¶
Number of valid entries in dashPattern .
variable dashPeriod¶
Total dash+gap cycle length in pixels.
variable lineWidth¶
Rendered line width in pixels.
variable pointCount¶
Number of data points (used to index the data texture).
variable stepMode¶
StepMode of the line, as a float (std140 offset 180 in the UBO).
Public Functions Documentation¶
function LineMaterial¶
Constructs a LineMaterial with default uniform values.
function createShader¶
Creates and returns the line shader program.
QSGMaterialShader * QAccelPlot::LineMaterial::createShader (
QSGRendererInterface::RenderMode
) override const
function type¶
Returns the unique material type identifier for this subclass.
Protected Functions Documentation¶
function compareExtra¶
Compares line-specific uniform fields after the base-class comparison succeeds.
Implements QAccelPlot::DataTextureMaterial::compareExtra
Protected Static Functions Documentation¶
function createLineShader¶
Returns the line shader program with vertex stage vertexShaderFileName and the line fragment stage.
static QSGMaterialShader * QAccelPlot::LineMaterial::createLineShader (
const QString & vertexShaderFileName
)
The vertex stage must declare the same uniform block as line.vert.
The documentation for this class was generated from the following file QAccelPlot/src/QAccelPlot/materials/LineMaterial.hpp