![]() |
Qt 6.x
The Qt SDK
|
#include <QtQuick3DRuntimeRender/private/qssgrenderitem2d_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderer_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendercontextcore_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendercamera_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderlight_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderimage_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderbuffermanager_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendereffect_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrhicustommaterialsystem_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendershadercodegenerator_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderdefaultmaterialshadergenerator_p.h>
#include <QtQuick3DRuntimeRender/private/qssgperframeallocator_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrhiquadrenderer_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendertexturedata_p.h>
#include <QtQuick3DRuntimeRender/private/qssglayerrenderdata_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrhiparticles_p.h>
#include <QtQuick3DUtils/private/qquick3dprofiler_p.h>
#include <QtQuick3DUtils/private/qssgdataref_p.h>
#include <QtQuick3DUtils/private/qssgutils_p.h>
#include <QtQuick3DUtils/private/qssgassert_p.h>
#include <qtquick3d_tracepoints_p.h>
#include <QtCore/QMutexLocker>
#include <QtCore/QBitArray>
#include <cstdlib>
#include <algorithm>
#include <limits>
Go to the source code of this file.
Typedefs | |
using | RenderableList = QVarLengthArray< const QSSGRenderNode * > |
Variables | |
static constexpr float | QSSG_PI = float(M_PI) |
static constexpr float | QSSG_HALFPI = float(M_PI_2) |
static const QRhiShaderResourceBinding::StageFlags | RENDERER_VISIBILITY_ALL |
using RenderableList = QVarLengthArray<const QSSGRenderNode *> |
Definition at line 427 of file qssgrenderer.cpp.
|
inlinestatic |
Definition at line 1076 of file qssgrenderer.cpp.
References QSSGRhiShaderResourceBindingList::addTexture(), AoTexture, QSSGRhiShaderPipeline::bindingForTexture(), QRhiSampler::ClampToEdge, DepthTexture, QSSGRhiShaderPipeline::depthTexture(), QRhiShaderResourceBinding::FragmentStage, QRhiSampler::Linear, QRhiSampler::Nearest, QRhiSampler::None, QRhiSampler::Repeat, QSSGRhiContext::sampler(), and QSSGRhiShaderPipeline::ssaoTexture().
Referenced by RenderHelpers::rhiPrepareDepthPass(), RenderHelpers::rhiPrepareRenderable(), and rhiPrepareResourcesForShadowMap().
|
static |
Definition at line 871 of file qssgrenderer.cpp.
References QSSGRhiShaderResourceBindingList::addTexture(), QList< T >::append(), QSSGRhiShaderPipeline::bindingForTexture(), QList< T >::cbegin(), QList< T >::cend(), QRhiSampler::ClampToEdge, QShaderDescription::combinedImageSamplers(), QSSGRhiContext::commandBuffer(), QRhiTexture::CubeMap, QShader::description(), QSSGRhiContext::dummyTexture(), QSSGRhiShaderPipeline::extraTextureAt(), QSSGRhiShaderPipeline::extraTextureCount(), QRhiTexture::flags(), QSSGRhiShaderPipeline::fragmentStage(), QSSGMaterialShaderGenerator::getSamplerName(), i, it, QSSGRenderImage::m_horizontalTilingMode, QSSGRenderableImage::m_imageNode, QSSGRenderImage::m_magFilterType, QSSGRenderableImage::m_mapType, QSSGRenderImage::m_minFilterType, QSSGRenderImage::m_mipFilterType, QSSGRenderableImage::m_nextImage, QSSGRenderableImage::m_texture, QSSGRenderImageTexture::m_texture, QSSGRenderImage::m_verticalTilingMode, QRhiTexture::MipMapped, QRhiSampler::Nearest, QRhi::nextResourceUpdateBatch(), QRhiSampler::None, qMax(), RENDERER_VISIBILITY_ALL, QRhiSampler::Repeat, QRhiCommandBuffer::resourceUpdate(), QSSGRhiContext::rhi(), QSSGRhiContext::sampler(), QShaderDescription::SamplerCube, QBitArray::setBit(), QRhiShaderStage::shader(), QBitArray::testBit(), toRhi(), var, and QSSGRhiShaderPipeline::vertexStage().
Referenced by RenderHelpers::rhiPrepareDepthPass(), and rhiPrepareResourcesForShadowMap().
|
static |
Definition at line 703 of file qssgrenderer.cpp.
References i.
Referenced by setupCameraForShadowMap().
|
static |
Definition at line 712 of file qssgrenderer.cpp.
References QSSGRenderableObject::bounds, QVector3D::dotProduct(), i, and QSSGBounds3::include().
Referenced by setupCameraForShadowMap().
|
static |
Definition at line 195 of file qssgrenderer.cpp.
References QSSGRenderContextInterface::bufferManager(), model, and QSSGRenderContextInterface::rhiContext().
Referenced by QSSGRenderer::cleanupResources(), and QSSGRenderer::cleanupResources().
|
static |
Definition at line 724 of file qssgrenderer.cpp.
References QSSGRenderCamera::calculateViewProjectionMatrix(), QMatrix4x4::inverted(), QMatrix4x4::map(), and Q_ASSERT.
Referenced by setupCameraForShadowMap().
|
static |
Definition at line 428 of file qssgrenderer.cpp.
References child, QSSGRenderNode::children, dfs(), QSSGRenderGraphObject::isRenderable(), QVarLengthArray< T, Prealloc >::push_back(), and QSSGRenderGraphObject::type.
Referenced by dfs(), and QSSGRenderer::getLayerHitObjectList().
|
static |
Definition at line 1220 of file qssgrenderer.cpp.
References QRhiGraphicsPipeline::TargetBlend::dstAlpha, QRhiGraphicsPipeline::DstColor, QRhiGraphicsPipeline::TargetBlend::dstColor, QSSGRenderDefaultMaterial::Multiply, QRhiGraphicsPipeline::One, QRhiGraphicsPipeline::OneMinusSrcAlpha, QSSGRenderDefaultMaterial::Screen, QRhiGraphicsPipeline::SrcAlpha, QRhiGraphicsPipeline::TargetBlend::srcAlpha, QRhiGraphicsPipeline::TargetBlend::srcColor, and QRhiGraphicsPipeline::Zero.
Referenced by RenderHelpers::rhiPrepareRenderable().
|
static |
Definition at line 246 of file qssgrenderer.cpp.
References QByteArrayLiteral.
Referenced by QSSGRenderer::generateRhiShaderPipelineImpl().
|
static |
Definition at line 1042 of file qssgrenderer.cpp.
References QSSGRenderLayer::background, QSSGLayerRenderData::getShaderFeatures(), QSSGRenderableObject::globalTransform, QSSGLayerRenderData::layer, QSSGRenderLayer::lightProbe, QSSGReflectionMapEntry::m_rhiRenderPassDesc, QSSGReflectionMapEntry::m_viewProjection, renderer, QSSGSubsetRenderable::shaderDescription, QSSGRenderLayer::SkyBox, QSSGRenderLayer::SkyBoxCubeMap, and QSSGRenderableObject::type.
Referenced by RenderHelpers::rhiRenderReflectionMap().
|
static |
Definition at line 1102 of file qssgrenderer.cpp.
References addDepthTextureBindings(), addOpaqueDepthPrePassBindings(), QSSGRhiShaderResourceBindingList::addTexture(), QSSGRhiShaderResourceBindingList::addUniformBuffer(), QSSGRhiInputAssemblerState::bakeVertexInputLocations(), QRhiBuffer::beginFullDynamicBufferUpdateForCurrentFrame(), QSSGLayerGlobalRenderProperties::cameraData, QSSGRenderableObjectFlags::castsShadows(), QSSGRhiContext::commandBuffer(), QSSGRenderer::contextInterface(), QSSGGraphicsPipelineStateKey::create(), QSSGShaderFeatures::CubeShadowPass, QSSGRenderDefaultMaterial::cullMode, QSSGRhiGraphicsPipelineState::cullMode, QSSGSubsetRenderable::customMaterial(), QSSGRenderContextInterface::customMaterialSystem(), QSSGSubsetRenderable::defaultMaterial(), QSSGRenderer::defaultMaterialShaderKeyProperties(), QSSGRenderableObject::depthWriteMode, QSSGCameraRenderData::direction, QSSGRhiContext::drawCallData(), QSSGRhiContext::dummyTexture(), QRhiBuffer::endFullDynamicBufferUpdateForCurrentFrame(), QSSGSubsetRenderable::firstImage, QRhiShaderResourceBinding::FragmentStage, QSSGShaderKeyBoolean::getValue(), QSSGRenderableObject::globalTransform, QSSGRenderSubset::ia, QSSGRhiGraphicsPipelineState::ia, QSSGShaderDefaultMaterialKeyProperties::m_blendParticles, QSSGRenderCustomMaterial::m_cullMode, QSSGShadowMapEntry::m_lightVP, QSSGShadowMapEntry::m_rhiRenderPassDesc, QSSGModelContext::model, QSSGSubsetRenderable::modelContext, QRhiSampler::Nearest, QRhi::nextResourceUpdateBatch(), QRhiSampler::None, QSSGRenderSubset::offset, QSSGShaderFeatures::OpaqueDepthPrePass, OpaquePrePass, QSSGShaderFeatures::OrthoShadowPass, QSSGRhiContext::pipeline(), QSSGSubsetRenderable::pipeline, QSSGCameraRenderData::position, QSSGParticleRenderer::prepareParticlesForModel(), QSSG_ASSERT, QSSGRenderableObject::renderableFlags, QSSGSubsetRenderable::renderer, renderer, RENDERER_VISIBILITY_ALL, QRhiSampler::Repeat, QRhiCommandBuffer::resourceUpdate(), QSSGRenderSubset::rhi, QSSGRhiContext::rhi(), QSSGSubsetRenderable::rhiRenderData, QSSGRhiContext::sampler(), ScreenTexture, QSSGShaderFeatures::set(), setupInstancing(), QSSGSubsetRenderable::shaderDescription, QSSGRhiGraphicsPipelineState::shaderPipeline, QSSGCustomMaterialSystem::shadersForCustomMaterial(), shadersForDefaultMaterial(), QSSGRhiDrawCallDataKey::Shadow, QSSGSubsetRenderable::shadowPass, QSSGRhiContext::srb(), QSSGSubsetRenderable::srb, QSSGSubsetRenderable::subset, QSSGRhiGraphicsPipelineState::toCullMode(), QSSGRenderableObject::type, QSSGRhiDrawCallData::ubuf, QSSGCustomMaterialSystem::updateUniformsForCustomMaterial(), updateUniformsForDefaultMaterial(), and QSSGParticleRenderer::updateUniformsForParticleModel().
Referenced by RenderHelpers::rhiRenderShadowMap().
|
static |
Definition at line 768 of file qssgrenderer.cpp.
References a0, a1, calcCenter(), QSSGRenderCamera::calculateGlobalVariables(), calculateShadowCameraBoundingBox(), QSSGRenderNode::calculateTransformMatrix(), QSSGRenderCamera::clipFar, QSSGRenderCamera::clipNear, computeFrustumBounds(), QVector3D::crossProduct(), d, QSSGBounds3::dimensions(), QVector3D::dotProduct(), QSSGBounds3::extents(), QSSGRenderCamera::fov, QQuaternion::fromDirection(), QSSGRenderNode::getDirection(), QSSGRenderNode::getGlobalPos(), QSSGRenderNode::initScale, QSSGBounds3::isFinite(), QSSGRenderNode::localTransform, QSSGRenderCamera::lookAt(), QSSGRenderLight::m_shadowMapFar, QSSGRenderLight::m_shadowMapRes, QVector3D::normalized(), QSSGRenderNode::parent, QSSGRenderNode::pivot, Q_ASSERT, qAbs(), qDegreesToRadians(), qFuzzyCompare(), qMax(), qMin(), QRectF::setHeight(), QRectF::setWidth(), QVector3D::setZ(), QSSGRenderGraphObject::type, QVector3D::x(), QVector3D::y(), and QVector3D::z().
Referenced by RenderHelpers::rhiRenderShadowMap().
|
static |
Definition at line 738 of file qssgrenderer.cpp.
References QSSGRenderCamera::calculateGlobalVariables(), QSSGRenderNode::calculateTransformMatrix(), QSSGRenderCamera::clipFar, QSSGRenderCamera::clipNear, QSSGRenderCamera::fov, QQuaternion::fromEulerAngles(), QSSGRenderNode::getGlobalPos(), i, QSSGRenderNode::initScale, QSSGRenderNode::localTransform, QSSGRenderNode::parent, QSSGRenderNode::pivot, Q_ASSERT, qDegreesToRadians(), qRadiansToDegrees(), QSSG_HALFPI, QSSG_PI, and QSSGRenderReflectionProbe::reflectionMapRes.
Referenced by RenderHelpers::rhiRenderReflectionMap().
|
static |
Definition at line 965 of file qssgrenderer.cpp.
References QSSGRenderCamera::calculateGlobalVariables(), QSSGRenderNode::calculateTransformMatrix(), QSSGRenderCamera::clipFar, QSSGRenderCamera::clipNear, QSSGRenderCamera::fov, QQuaternion::fromEulerAngles(), QSSGRenderNode::getGlobalPos(), i, QSSGRenderNode::initScale, QSSGRenderNode::localTransform, QSSGRenderLight::m_shadowMapFar, QSSGRenderLight::m_shadowMapRes, QSSGRenderNode::parent, QSSGRenderNode::pivot, Q_ASSERT, qDegreesToRadians(), qRadiansToDegrees(), QSSG_HALFPI, QSSG_PI, and QSSGRenderGraphObject::type.
Referenced by RenderHelpers::rhiRenderShadowMap().
|
static |
Definition at line 1025 of file qssgrenderer.cpp.
References QVarLengthArray< T, Prealloc >::append(), QVarLengthArray< T, Prealloc >::cbegin(), QRhiVertexInputLayout::cbeginBindings(), QVarLengthArray< T, Prealloc >::cend(), QRhiVertexInputLayout::cendBindings(), QSSGRhiGraphicsPipelineState::ia, QSSGRhiInputAssemblerState::inputLayout, QSSGRenderModel::instanceTable, QSSGRenderableObject::instancingLodMax, QSSGRenderableObject::instancingLodMin, QSSGModelContext::model, QSSGSubsetRenderable::modelContext, QRhiVertexInputBinding::PerInstance, QSSGSubsetRenderable::prepareInstancing(), QRhiVertexInputLayout::setBindings(), QVLABaseBase::size(), and QSSGRenderInstanceTable::stride().
Referenced by RenderHelpers::rhiPrepareDepthPass(), RenderHelpers::rhiPrepareRenderable(), and rhiPrepareResourcesForShadowMap().
|
static |
Definition at line 47 of file qssgrenderer.cpp.
References QSSGSubsetRenderable::renderer, renderer, and QSSGRhiGraphicsPipelineState::shaderPipeline.
Referenced by RenderHelpers::rhiPrepareDepthPass(), RenderHelpers::rhiPrepareRenderable(), and rhiPrepareResourcesForShadowMap().
|
static |
Definition at line 58 of file qssgrenderer.cpp.
References QSSGRenderParticles::m_featureLevel, QSSGParticlesRenderable::particles, QSSGParticlesRenderable::renderer, renderer, and QSSGRhiGraphicsPipelineState::shaderPipeline.
Referenced by RenderHelpers::rhiPrepareRenderable().
|
static |
Definition at line 69 of file qssgrenderer.cpp.
References camera, QRhi::clipSpaceCorrMatrix(), QSSGSubsetRenderable::firstImage, QSSGLayerRenderData::getLightmapTexture(), QSSGRenderableObject::globalTransform, QSSGSubsetRenderable::lights, QSSGSubsetRenderable::material, QSSGModelContext::model, QSSGSubsetRenderable::modelContext, QSSGModelContext::modelViewProjection, QSSGModelContext::normalMatrix, QSSGSubsetRenderable::opacity, QSSGRenderableObjectFlags::receivesReflections(), QSSGRenderableObjectFlags::receivesShadows(), QSSGSubsetRenderable::reflectionProbe, QSSGRenderableObject::renderableFlags, QSSGSubsetRenderable::renderer, renderer, QSSGRhiContext::rhi(), QSSGMaterialShaderGenerator::setRhiMaterialProperties(), QSSGSubsetRenderable::shaderDescription, and toDataView().
Referenced by RenderHelpers::rhiPrepareDepthPass(), RenderHelpers::rhiPrepareRenderable(), and rhiPrepareResourcesForShadowMap().
|
staticconstexpr |
Definition at line 42 of file qssgrenderer.cpp.
Referenced by setupCubeReflectionCameras(), and setupCubeShadowCameras().
|
staticconstexpr |
Definition at line 41 of file qssgrenderer.cpp.
Referenced by setupCubeReflectionCameras(), and setupCubeShadowCameras().
|
static |
Definition at line 44 of file qssgrenderer.cpp.
Referenced by addOpaqueDepthPrePassBindings(), RenderHelpers::rhiPrepareDepthPass(), RenderHelpers::rhiPrepareGrid(), RenderHelpers::rhiPrepareRenderable(), rhiPrepareResourcesForShadowMap(), RenderHelpers::rhiRenderAoTexture(), and RenderHelpers::rhiRenderShadowMap().