Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qquick3dscenerenderer_p.h>
Public Member Functions | |
QQuick3DSceneRenderer (const std::shared_ptr< QSSGRenderContextInterface > &rci) | |
~QQuick3DSceneRenderer () | |
Static Public Member Functions | |
static QSSGRenderLayer::TonemapMode | getTonemapMode (const QQuick3DSceneEnvironment &environment) |
Protected Member Functions | |
QRhiTexture * | renderToRhiTexture (QQuickWindow *qw) |
void | beginFrame () |
void | endFrame () |
void | rhiPrepare (const QRect &viewport, qreal displayPixelRatio) |
void | rhiRender () |
void | synchronize (QQuick3DViewport *view3D, const QSize &size, float dpr) |
void | invalidateFramebufferObject () |
QSize | surfaceSize () const |
void | releaseCachedResources () |
std::optional< QSSGRenderRay > | getRayFromViewportPos (const QPointF &pos) |
PickResultList | syncPick (const QSSGRenderRay &ray) |
PickResultList | syncPickOne (const QSSGRenderRay &ray, QSSGRenderNode *node) |
PickResultList | syncPickSubset (const QSSGRenderRay &ray, QVarLengthArray< QSSGRenderNode * > subset) |
PickResultList | syncPickAll (const QSSGRenderRay &ray) |
void | setGlobalPickingEnabled (bool isEnabled) |
QQuick3DRenderStats * | renderStats () |
Friends | |
class | SGFramebufferObjectNode |
class | QQuick3DSGRenderNode |
class | QQuick3DSGDirectRenderer |
class | QQuick3DViewport |
struct | ViewportTransformHelper |
Definition at line 42 of file qquick3dscenerenderer_p.h.
|
explicit |
Definition at line 189 of file qquick3dscenerenderer.cpp.
References dumpRenderTimes, and qEnvironmentVariableIntValue().
QQuick3DSceneRenderer::~QQuick3DSceneRenderer | ( | ) |
Definition at line 195 of file qquick3dscenerenderer.cpp.
References QSSGRhiContextStats::get().
|
protected |
Definition at line 500 of file qquick3dscenerenderer.cpp.
Referenced by QQuick3DSGRenderNode::prepare(), and renderToRhiTexture().
|
protected |
Definition at line 505 of file qquick3dscenerenderer.cpp.
Referenced by QQuick3DSGRenderNode::render(), and renderToRhiTexture().
|
protected |
Definition at line 1028 of file qquick3dscenerenderer.cpp.
References QSize::height(), QVarLengthArray< T, Prealloc >::isEmpty(), pos, position(), QSSGRenderLayer::renderedCameras, QSSGUtils::rect::toRectRelative(), QSize::width(), QVector2D::x(), and QVector2D::y().
Referenced by ViewportTransformHelper::map().
|
inlinestatic |
Definition at line 49 of file qquick3dscenerenderer_p.h.
References QSSGRenderLayer::Custom, QSSGRenderLayer::None, QQuick3DSceneEnvironment::tonemapMode, QQuick3DSceneEnvironment::TonemapModeNone, and QQuick3DSceneEnvironment::useBuiltinTonemapper().
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
protected |
Definition at line 1012 of file qquick3dscenerenderer.cpp.
References SGFramebufferObjectNode::invalidatePending.
Referenced by SGFramebufferObjectNode::handleScreenChange().
|
protected |
Definition at line 1018 of file qquick3dscenerenderer.cpp.
References QSSGLayerRenderData::getReflectionMapManager(), QSSGLayerRenderData::getShadowMapManager(), and QSSGRenderLayer::renderData.
|
protected |
Definition at line 1096 of file qquick3dscenerenderer.cpp.
Referenced by SGFramebufferObjectNode::render().
|
protected |
Definition at line 260 of file qquick3dscenerenderer.cpp.
References QSSGRhiShaderResourceBindingList::addTexture(), QSSGRhiShaderResourceBindingList::addUniformBuffer(), QSSGRenderLayer::antialiasingMode, QSSGRenderLayer::antialiasingQuality, beginFrame(), cb, QRhiSampler::ClampToEdge, QSSGRenderLayer::Color, QSSGRhiContext::commandBuffer(), QSSGRhiContext::commonPassFlags(), QRhiResourceUpdateBatch::copyTexture(), QRhiBuffer::create(), QRhiSwapChain::currentFrameCommandBuffer(), QSSGFrameData::DepthTexture, dpr(), QRhiBuffer::Dynamic, endFrame(), QQuick3DRenderStats::endRenderPrepare(), QSSGRenderLayer::firstEffect, QRhiShaderResourceBinding::FragmentStage, QSSGRhiContextStats::get(), QSSGRhiContextPrivate::get(), QSize::height(), QVarLengthArray< T, Prealloc >::isEmpty(), QSSGRenderLayer::lightProbe, QRhiSampler::Linear, QRhi::newBuffer(), QRhi::nextResourceUpdateBatch(), QRhiSampler::None, QSSGRhiEffectSystem::process(), QSSGRenderLayer::progAAPassIndex, QSSGRenderLayer::progressiveAAIsActive, Q_ASSERT, Q_QUICK3D_PROFILE_END_WITH_ID, Q_QUICK3D_PROFILE_END_WITH_STRING, Q_QUICK3D_PROFILE_START, Q_TRACE, Q_TRACE_SCOPE, QByteArrayLiteral, QSSG_prepareFrame_entry, QSSGRHICTX_STAT, QStringLiteral, qWarning, QSSGRenderLayer::renderedCameras, renderer, QRhiSampler::Repeat, QSSGRhiContext::rhi(), rhiPrepare(), QSGRendererInterface::RhiRedirectCommandBuffer, rhiRender(), s_ProgressiveAABlendFactors, s_TemporalAABlendFactors, QRhiRenderBuffer::sampleCount(), QSSGRhiContext::sampler(), QSSGRhiGraphicsPipelineStatePrivate::setShaderPipeline(), QSSGRenderLayer::SkyBox, QSSGRenderLayer::SkyBoxCubeMap, QSSGRenderLayer::skyBoxCubeMap, QSSGRenderLayer::SSAA, QQuick3DRenderStats::startRenderPrepare(), QSSGRenderLayer::tempAAPassIndex, QSSGRenderLayer::temporalAAIsActive, Qt::transparent, QRhiBuffer::UniformBuffer, QSSGRhiQuadRenderer::UvCoords, QSSGRhiGraphicsPipelineState::viewport, and QSize::width().
Referenced by SGFramebufferObjectNode::render().
|
protected |
Definition at line 510 of file qquick3dscenerenderer.cpp.
References QVarLengthArray< T, Prealloc >::isEmpty(), QSSGRenderLayer::renderData, QSSGLayerRenderData::renderedCameras, renderer, and viewport().
Referenced by QQuick3DSGRenderNode::prepare(), and renderToRhiTexture().
|
protected |
Definition at line 532 of file qquick3dscenerenderer.cpp.
Referenced by QQuick3DSGRenderNode::render(), and renderToRhiTexture().
|
protected |
Definition at line 1091 of file qquick3dscenerenderer.cpp.
References QSSGRendererPrivate::setGlobalPickingEnabled().
|
inlineprotected |
Definition at line 67 of file qquick3dscenerenderer_p.h.
Referenced by QQuick3DSGRenderNode::prepare(), and SGFramebufferObjectNode::render().
|
protected |
Definition at line 575 of file qquick3dscenerenderer.cpp.
References QColor::alphaF(), QSSGRenderLayer::antialiasingMode, QSSGRenderLayer::antialiasingQuality, QRhi::backend(), QQuick3DSceneEnvironment::backgroundMode, bfs(), QColor::blueF(), QQuick3DLightmapBaker::Cancelled, QSSGLightmapper::Cancelled, QList< T >::clear(), QQuick3DSceneEnvironment::clearColor, QQuick3DViewport::clearExtensionListDirty(), QRhiRenderBuffer::Color, QQuick3DLightmapBaker::Complete, QSSGLightmapper::Complete, QSSGRenderLayer::Count, QRhiTexture::create(), QRhiRenderBuffer::create(), QRhiTextureRenderTarget::create(), QRhiRenderBuffer::DepthStencil, dpr(), dumpRenderTimes, QQuick3DRenderStats::endSync(), QQuick3DViewport::environment, QQuick3DLightmapBaker::Error, QSSGLightmapper::Error, QQuick3DViewport::extensionList(), QQuick3DViewport::extensionListDirty(), QSSGRenderLayer::firstEffect, QRhiTexture::format(), QColor::fromRgbF(), QQuick3DObjectPrivate::get(), QQuick3DSceneManager::getOrSetWindowAttachment(), QColor::greenF(), QSize::height(), i, QQuick3DViewport::importScene, QSSGLayerRenderData::interactiveLightmapBakingRequested, isEmbedded(), QSSGRenderGraphObject::isExtension(), QRhi::isFeatureSupported(), QSSGRhiContext::isValid(), QRhi::isYUpInFramebuffer(), it, QSSGLayerRenderData::lightmapBakingOutputCallback, list, QSSGRenderEffect::m_nextEffect, QQuick3DViewport::maybeLightmapBaker(), QRhi::Metal, QSSGRenderLayer::MSAA, QRhi::MultisampleRenderBuffer, QRhiTextureRenderTarget::newCompatibleRenderPassDescriptor(), QRhi::newRenderBuffer(), QRhi::newTexture(), QRhi::newTextureRenderTarget(), QSSGRenderLayer::NoAA, QQuick3DLightmapBaker::None, QSSGLightmapper::None, QQuick3DViewport::Offscreen, QQuick3DViewport::Overlay, QSSGRhiEffectSystem::overriddenOutputFormat(), QQuick3DObject::parent, QSSGRenderLayer::progAAPassIndex, QQuick3DLightmapBaker::Progress, QSSGLightmapper::Progress, QSSGRenderLayer::ProgressiveAA, Q_ASSERT, Q_QUICK3D_PROFILE_END_WITH_ID, Q_QUICK3D_PROFILE_START, Q_TRACE_SCOPE, QByteArrayLiteral, qMax(), QSSG_ASSERT, qWarning, QQuick3DWindowAttachment::rci(), QColor::redF(), QSSGRenderLayer::removeImportScene(), QSSGRenderLayer::renderData, QSSGRenderLayer::renderExtensions, QQuick3DViewport::renderFormat, QQuick3DViewport::renderMode, QQuick3DViewport::renderStats, QRhiTexture::RenderTarget, QQuick3DWindowAttachment::requestUpdate(), QRhiTexture::RGBA16F, QRhiTexture::RGBA8, QSSGRhiContext::rhi(), QQuick3DViewport::scene, QQuick3DSceneEnvironment::scissorRect, QSSGRenderLayer::scissorRect, QRhiTexture::setFormat(), QSSGRenderLayer::setImportScene(), QRhiResource::setName(), QRhiTexture::setPixelSize(), QRhiRenderBuffer::setPixelSize(), QQuick3DWindowAttachment::setRci(), QRhiColorAttachment::setRenderBuffer(), QRhiRenderTarget::setRenderPassDescriptor(), QRhiColorAttachment::setResolveTexture(), QQuick3DRenderStats::setRhiContext(), QSSGRhiEffectSystem::setup(), QRect::size(), QSSGRenderLayer::SSAA, QQuick3DRenderStats::startSync(), QRhi::supportedSampleCounts(), QQuick3DWindowAttachment::synchronize(), QSSGRenderLayer::tempAAPassIndex, QSSGRenderLayer::temporalAAEnabled, QQuick3DSceneEnvironment::tonemapMode, tonemapRgb(), QRect::topLeft(), QSSGBufferManager::toRhiFormat(), toRhiTextureFormat(), QQuick3DViewport::Underlay, QSSGRenderTextureFormat::Unknown, QRhiTexture::UsedAsTransferSource, QQuick3DLightmapBaker::Warning, QSSGLightmapper::Warning, QSize::width(), window(), QQuickItem::window(), and QQuick3DWindowAttachment::window().
|
protected |
Definition at line 1048 of file qquick3dscenerenderer.cpp.
References QSSGRendererPrivate::syncPick().
|
protected |
Definition at line 1081 of file qquick3dscenerenderer.cpp.
References QSSGRendererPrivate::syncPickAll().
|
protected |
Definition at line 1058 of file qquick3dscenerenderer.cpp.
References QSSGRendererPrivate::syncPick().
Referenced by ViewportTransformHelper::map().
|
protected |
Definition at line 1069 of file qquick3dscenerenderer.cpp.
References QSSGRendererPrivate::syncPickSubset().
|
friend |
Definition at line 130 of file qquick3dscenerenderer_p.h.
|
friend |
Definition at line 129 of file qquick3dscenerenderer_p.h.
|
friend |
Definition at line 131 of file qquick3dscenerenderer_p.h.
|
friend |
Definition at line 128 of file qquick3dscenerenderer_p.h.
|
friend |
Definition at line 132 of file qquick3dscenerenderer_p.h.