File LineMaterial.hpp¶
File List > materials > LineMaterial.hpp
Go to the documentation of this file
//
// SPDX-FileCopyrightText: 2026 Michal Grabarczyk
// SPDX-License-Identifier: GPL-3.0-only WITH Universal-FOSS-exception-1.0
//
// This file is also available under a separate commercial license.
// See COMMERCIAL-LICENSING.md for contact information.
//
#pragma once
#include "QAccelPlot/materials/DataTextureMaterial.hpp"
namespace QAccelPlot {
class LineMaterial : public DataTextureMaterial {
public:
LineMaterial();
QSGMaterialType* type() const override;
QSGMaterialShader* createShader(QSGRendererInterface::RenderMode) const override;
float lineWidth{1.0f};
float pointCount{0.0f};
float antialiasingEnabled{1.0f};
float antialiasingFeather{1.0f};
// Dash line uniforms (std140 offsets 132–175 in the UBO).
float dashPeriod{0.0f};
float dashOffset{0.0f};
int dashPatternSize{0};
float dashPattern[8]{};
float stepMode{0.0f};
protected:
static QSGMaterialShader* createLineShader(const QString& vertexShaderFileName);
int compareExtra(const QSGMaterial* other) const override;
};
} // namespace QAccelPlot