QmlMaterial 0.1.0
Loading...
Searching...
No Matches
elevation_material.h
1#pragma once
2
3#include <QSGMaterial>
4
5namespace qml_material::sg
6{
7
8class ElevationMaterial : public QSGMaterial {
9public:
10 ElevationMaterial();
11 ~ElevationMaterial();
12
13 QSGMaterialShader* createShader(QSGRendererInterface::RenderMode) const override;
14 QSGMaterialType* type() const override;
15 int compare(const QSGMaterial* other) const override;
16
17 void init_fadeoff_texture(QQuickWindow* win);
18 auto strength_texture() -> QSGTexture*;
19
20private:
21 QSGTexture* m_fadeoff_texture;
22};
23
24class ElevationShader : public QSGMaterialShader {
25public:
26 ElevationShader();
27
28 bool updateUniformData(QSGMaterialShader::RenderState& state, QSGMaterial* newMaterial,
29 QSGMaterial* oldMaterial) override;
30
31 void updateSampledImage(RenderState&, int binding, QSGTexture** texture,
32 QSGMaterial* newMaterial, QSGMaterial*) override;
33};
34
35} // namespace qml_material::sg