56 QByteArray *buf = state.uniformData();
57 const int shaderMatrixCount = newMaterial->viewCount();
61 const QRect r = state.viewportRect();
62 const QVector2D v(2.0f / r.width(), 2.0f / r.height());
64 memcpy(buf->data() + 64 * shaderMatrixCount + 8, &v, 8);
68 changed |= QSGTextureMaterialRhiShader::updateUniformData(state, newMaterial, oldMaterial);
81void QSGDefaultInternalImageNode::setFiltering(QSGTexture::Filtering filtering)
83 if (m_material.filtering() == filtering)
86 m_material.setFiltering(filtering);
87 m_materialO.setFiltering(filtering);
88 m_smoothMaterial.setFiltering(filtering);
89 markDirty(DirtyMaterial);
92void QSGDefaultInternalImageNode::setMipmapFiltering(QSGTexture::Filtering filtering)
94 if (m_material.mipmapFiltering() == filtering)
97 m_material.setMipmapFiltering(filtering);
98 m_materialO.setMipmapFiltering(filtering);
99 m_smoothMaterial.setMipmapFiltering(filtering);
100 markDirty(DirtyMaterial);
103void QSGDefaultInternalImageNode::setVerticalWrapMode(QSGTexture::WrapMode wrapMode)
105 if (m_material.verticalWrapMode() == wrapMode)
108 m_material.setVerticalWrapMode(wrapMode);
109 m_materialO.setVerticalWrapMode(wrapMode);
110 m_smoothMaterial.setVerticalWrapMode(wrapMode);
111 markDirty(DirtyMaterial);
114void QSGDefaultInternalImageNode::setHorizontalWrapMode(QSGTexture::WrapMode wrapMode)
116 if (m_material.horizontalWrapMode() == wrapMode)
119 m_material.setHorizontalWrapMode(wrapMode);
120 m_materialO.setHorizontalWrapMode(wrapMode);
121 m_smoothMaterial.setHorizontalWrapMode(wrapMode);
122 markDirty(DirtyMaterial);
148bool QSGDefaultInternalImageNode::updateMaterialBlending()
150 const bool alpha = m_material.flags() & QSGMaterial::Blending;
151 if (materialTexture() && alpha != materialTexture()->hasAlphaChannel()) {
152 m_material.setFlag(QSGMaterial::Blending, !alpha);
SmoothTextureMaterialRhiShader(int viewCount)
bool updateUniformData(RenderState &state, QSGMaterial *newMaterial, QSGMaterial *oldMaterial) override
This function is called by the scene graph to get the contents of the shader program's uniform buffer...