57 QByteArray *buf = state.uniformData();
58 const int shaderMatrixCount = newMaterial->viewCount();
62 const QRect r = state.viewportRect();
63 const QVector2D v(2.0f / r.width(), 2.0f / r.height());
65 memcpy(buf->data() + 64 * shaderMatrixCount + 8, &v, 8);
69 changed |= QSGTextureMaterialRhiShader::updateUniformData(state, newMaterial, oldMaterial);
82void QSGDefaultInternalImageNode::setFiltering(QSGTexture::Filtering filtering)
84 if (m_material.filtering() == filtering)
87 m_material.setFiltering(filtering);
88 m_materialO.setFiltering(filtering);
89 m_smoothMaterial.setFiltering(filtering);
90 markDirty(DirtyMaterial);
93void QSGDefaultInternalImageNode::setMipmapFiltering(QSGTexture::Filtering filtering)
95 if (m_material.mipmapFiltering() == filtering)
98 m_material.setMipmapFiltering(filtering);
99 m_materialO.setMipmapFiltering(filtering);
100 m_smoothMaterial.setMipmapFiltering(filtering);
101 markDirty(DirtyMaterial);
104void QSGDefaultInternalImageNode::setVerticalWrapMode(QSGTexture::WrapMode wrapMode)
106 if (m_material.verticalWrapMode() == wrapMode)
109 m_material.setVerticalWrapMode(wrapMode);
110 m_materialO.setVerticalWrapMode(wrapMode);
111 m_smoothMaterial.setVerticalWrapMode(wrapMode);
112 markDirty(DirtyMaterial);
115void QSGDefaultInternalImageNode::setHorizontalWrapMode(QSGTexture::WrapMode wrapMode)
117 if (m_material.horizontalWrapMode() == wrapMode)
120 m_material.setHorizontalWrapMode(wrapMode);
121 m_materialO.setHorizontalWrapMode(wrapMode);
122 m_smoothMaterial.setHorizontalWrapMode(wrapMode);
123 markDirty(DirtyMaterial);
149bool QSGDefaultInternalImageNode::updateMaterialBlending()
151 const bool alpha = m_material.flags() & QSGMaterial::Blending;
152 if (materialTexture() && alpha != materialTexture()->hasAlphaChannel()) {
153 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...