4#ifndef QSSGCUSTOMMATERIAL_H
5#define QSSGCUSTOMMATERIAL_H
18#include <QtQuick3D/private/qquick3dmaterial_p.h>
19#include <QtCore/qurl.h>
21#include <QtQuick3DUtils/private/qssgrenderbasetypes_p.h>
22#include <QtQuick3DRuntimeRender/private/qssgrendergraphobject_p.h>
23#include <QtQuick3D/private/qquick3dshaderutils_p.h>
31 Q_PROPERTY(
QUrl fragmentShader READ fragmentShader WRITE setFragmentShader NOTIFY fragmentShaderChanged)
32 Q_PROPERTY(
QUrl vertexShader READ vertexShader WRITE setVertexShader NOTIFY vertexShaderChanged)
34 Q_PROPERTY(
BlendMode destinationBlend READ dstBlend WRITE setDstBlend NOTIFY dstBlendChanged)
35 Q_PROPERTY(
bool alwaysDirty READ alwaysDirty WRITE setAlwaysDirty NOTIFY alwaysDirtyChanged)
62 OneMinusConstantColor,
64 OneMinusConstantAlpha,
72 ShadingMode shadingMode()
const;
73 QUrl vertexShader()
const;
74 QUrl fragmentShader()
const;
75 BlendMode srcBlend()
const;
76 BlendMode dstBlend()
const;
77 bool alwaysDirty()
const;
78 float lineWidth()
const;
82 void setVertexShader(
const QUrl &
url);
83 void setFragmentShader(
const QUrl &
url);
86 void setAlwaysDirty(
bool alwaysDirty);
102 ShaderSettingsDirty = 0x4,
103 DynamicPropertiesDirty = 0x8,
104 AllDirty = std::numeric_limits<quint32>::max() ^ DynamicPropertiesDirty
108 void itemChange(ItemChange,
const ItemChangeData &)
override;
113 void onPropertyDirty();
114 void onTextureDirty();
123 quint32 m_dirtyAttributes = Dirty::AllDirty;
124 BlendMode m_srcBlend = BlendMode::NoBlend;
125 BlendMode m_dstBlend = BlendMode::NoBlend;
128 QUrl m_fragmentShader;
129 bool m_alwaysDirty =
false;
130 float m_lineWidth = 1.0f;
void fragmentShaderChanged()
void shadingModeChanged()
void vertexShaderChanged()
void alwaysDirtyChanged()
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
void itemChange(ItemChange, const ItemChangeData &) override
\qmltype Object3D \inqmlmodule QtQuick3D \instantiates QQuick3DObject \inherits QtObject
virtual void markAllDirty()
Combined button and popup list for selecting options.
#define QML_NAMED_ELEMENT(NAME)
QUrl url("example.com")
[constructor-url-reference]
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent