summaryrefslogtreecommitdiffstats
path: root/src/quick3d
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-08-19 14:02:25 +0200
committerLiang Qi <liang.qi@theqtcompany.com>2015-08-19 14:02:25 +0200
commitf09744e1e09baa63e22b6a0bfc8740e6930daf45 (patch)
tree4e45d4a76d38dceee891bc534ab073268706d513 /src/quick3d
parentef09640fb0ba358f17fda7b8f572f5e1e0239381 (diff)
parent7b2315c6fd149b49be9553bafa7a3ff6d3b3ac3f (diff)
Merge remote-tracking branch 'origin/5.5' into 5.6
Diffstat (limited to 'src/quick3d')
-rw-r--r--src/quick3d/imports/scene3d/scene3ditem.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/quick3d/imports/scene3d/scene3ditem.cpp b/src/quick3d/imports/scene3d/scene3ditem.cpp
index f3b0b67e5..79aa2b4e5 100644
--- a/src/quick3d/imports/scene3d/scene3ditem.cpp
+++ b/src/quick3d/imports/scene3d/scene3ditem.cpp
@@ -609,13 +609,13 @@ void Scene3DRenderer::render()
ContextSaver saver;
- const QSize currentSize = m_item->boundingRect().size().toSize();
+ const QSize currentSize = m_item->boundingRect().size().toSize() * window->effectiveDevicePixelRatio();
const bool forceRecreate = currentSize != m_lastSize || m_multisample != m_lastMultisample;
// Rebuild FBO and textures if never created or a resize has occurred
if ((m_multisampledFBO.isNull() || forceRecreate) && m_multisample) {
qCDebug(Scene3D) << Q_FUNC_INFO << "Creating multisample framebuffer";
- m_multisampledFBO.reset(createMultisampledFramebufferObject(m_item->boundingRect().size().toSize()));
+ m_multisampledFBO.reset(createMultisampledFramebufferObject(currentSize));
if (m_multisampledFBO->format().samples() == 0 || !QOpenGLFramebufferObject::hasOpenGLFramebufferBlit()) {
qCDebug(Scene3D) << Q_FUNC_INFO << "Failed to create multisample framebuffer";
m_multisample = false;
@@ -624,7 +624,7 @@ void Scene3DRenderer::render()
}
if (m_finalFBO.isNull() || forceRecreate) {
- m_finalFBO.reset(createFramebufferObject(m_item->boundingRect().size().toSize()));
+ m_finalFBO.reset(createFramebufferObject(currentSize));
m_texture.reset(window->createTextureFromId(m_finalFBO->texture(), m_finalFBO->size(), QQuickWindow::TextureHasAlphaChannel));
m_node->setTexture(m_texture.data());
}