Skip to content

Class QAccelPlot::PointMaterial

ClassList > QAccelPlot > PointMaterial

QSGMaterial for LineCurve marker rendering.More...

  • #include <PointMaterial.hpp>

Inherits the following classes: QAccelPlot::DataTextureMaterial

Inheritance diagram

flowchart TB
  classQAccelPlot_1_1PointMaterial["QAccelPlot::PointMaterial"]

  classQAccelPlot_1_1DataTextureMaterial["QAccelPlot::DataTextureMaterial"]
  classQAccelPlot_1_1DataTextureMaterial --> classQAccelPlot_1_1PointMaterial
  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

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 gradientDirection = {0.0f}
0.0 for a horizontal gradient, 1.0 for a vertical one.
GradientTexture gradientTexture
Gradient lookup texture sampled at binding 2.
float gradientValueMax = {1.0f}
Render-space data value at gradient position 1.
float gradientValueMin = {0.0f}
Render-space data value at gradient position 0.
float markerFilled = {1.0f}
1.0 for filled markers, 0.0 for hollow outlines.
float markerSize = {4.0f}
Marker radius in pixels.
float markerStrokeWidth = {1.0f}
Outline width in pixels for hollow markers.
int shapeType = {0}
Marker shape: MarkerShape value minus one (0 = Circle).

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
PointMaterial ()
Constructs a PointMaterial with default uniform values.
QSGMaterialShader * createShader (QSGRendererInterface::RenderMode) override const
Creates and returns the point shader program.
QSGMaterialType * type () override const
Returns the unique material type identifier for this class.

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 intodataTexture , 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 fromupdateSampledImage ). 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 marker-specific uniforms and the gradient texture identity.

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.

Detailed Description

Marker positions are read from the inherited data texture as interleaved XY floats, so the vertex buffer depends only on the point count. With useVertexColor == 1 the markers take their color from gradientTexture at their position along gradientDirection.

Public Attributes Documentation

variable antialiasingEnabled

1.0 when GPU anti-aliasing is active.

float QAccelPlot::PointMaterial::antialiasingEnabled;


variable antialiasingFeather

Anti-aliasing feather width in pixels.

float QAccelPlot::PointMaterial::antialiasingFeather;


variable gradientDirection

0.0 for a horizontal gradient, 1.0 for a vertical one.

float QAccelPlot::PointMaterial::gradientDirection;


variable gradientTexture

Gradient lookup texture sampled at binding 2.

GradientTexture QAccelPlot::PointMaterial::gradientTexture;


variable gradientValueMax

Render-space data value at gradient position 1.

float QAccelPlot::PointMaterial::gradientValueMax;


variable gradientValueMin

Render-space data value at gradient position 0.

float QAccelPlot::PointMaterial::gradientValueMin;


variable markerFilled

1.0 for filled markers, 0.0 for hollow outlines.

float QAccelPlot::PointMaterial::markerFilled;


variable markerSize

Marker radius in pixels.

float QAccelPlot::PointMaterial::markerSize;


variable markerStrokeWidth

Outline width in pixels for hollow markers.

float QAccelPlot::PointMaterial::markerStrokeWidth;


variable shapeType

Marker shape: MarkerShape value minus one (0 = Circle).

int QAccelPlot::PointMaterial::shapeType;


Public Functions Documentation

function PointMaterial

Constructs a PointMaterial with default uniform values.

QAccelPlot::PointMaterial::PointMaterial () 


function createShader

Creates and returns the point shader program.

QSGMaterialShader * QAccelPlot::PointMaterial::createShader (
    QSGRendererInterface::RenderMode
) override const


function type

Returns the unique material type identifier for this class.

QSGMaterialType * QAccelPlot::PointMaterial::type () override const


Protected Functions Documentation

function compareExtra

Compares marker-specific uniforms and the gradient texture identity.

virtual int QAccelPlot::PointMaterial::compareExtra (
    const QSGMaterial * other
) override const

Implements QAccelPlot::DataTextureMaterial::compareExtra



The documentation for this class was generated from the following file QAccelPlot/src/QAccelPlot/materials/PointMaterial.hpp