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>.
|
std::pair< QSSGBoxPoints, QSSGBoxPoints > RenderHelpers::calculateSortedObjectBounds | ( | const QSSGRenderableObjectList & | sortedOpaqueObjects, |
const QSSGRenderableObjectList & | sortedTransparentObjects ) |
Definition at line 98 of file qssgrenderhelpers.cpp.
|
inline |
Definition at line 131 of file qssgrenderhelpers_p.h.
References QRect::bottom(), and deviceRect.
Referenced by Item2DPass::renderPrep().
bool RenderHelpers::rhiPrepareAoTexture | ( | QSSGRhiContext * | rhiCtx, |
const QSize & | size, | ||
QSSGRhiRenderableTexture * | renderableTex ) |
Definition at line 1524 of file qssgrenderhelpers.cpp.
References QSSGRhiContext::mainPassViewCount(), QRhi::newTexture(), QRhi::newTextureArray(), QRhi::newTextureRenderTarget(), QByteArrayLiteral, qWarning, QRhiTexture::RenderTarget, QRhiTexture::RGBA8, QSSGRhiContext::rhi(), QRhiResource::setName(), and QRhiTexture::setPixelSize().
bool RenderHelpers::rhiPrepareDepthPass | ( | QSSGRhiContext * | rhiCtx, |
QSSGPassKey | passKey, | ||
const QSSGRhiGraphicsPipelineState & | basePipelineState, | ||
QRhiRenderPassDescriptor * | rpDesc, | ||
QSSGLayerRenderData & | inData, | ||
const QSSGRenderableObjectList & | sortedOpaqueObjects, | ||
const QSSGRenderableObjectList & | sortedTransparentObjects, | ||
int | samples, | ||
int | viewCount ) |
Definition at line 1909 of file qssgrenderhelpers.cpp.
References addDepthTextureBindings(), addOpaqueDepthPrePassBindings(), QSSGRhiShaderResourceBindingList::addUniformBuffer(), QSSGRhiHelpers::bakeVertexInputLocations(), QRhiGraphicsPipeline::TargetBlend::colorWrite, QSSGRenderDefaultMaterial::cullMode, QSSGShaderFeatures::DepthPass, QSSGRhiGraphicsPipelineState::DepthTestEnabled, QSSGRhiGraphicsPipelineState::DepthWriteEnabled, direction, QSSGRhiGraphicsPipelineState::flags, QSSGRhiInputAssemblerStatePrivate::get(), QSSGRhiContextPrivate::get(), QSSGShaderFeatures::OpaqueDepthPrePass, OpaquePrePass, position(), RENDERER_VISIBILITY_ALL, QSSGRhiGraphicsPipelineState::samples, QSSGShaderFeatures::set(), setupInstancing(), QSSGCustomMaterialSystem::shadersForCustomMaterial(), shadersForDefaultMaterial(), QSSGRhiGraphicsPipelineState::targetBlend, QSSGRhiHelpers::toCullMode(), QSSGCustomMaterialSystem::updateUniformsForCustomMaterial(), updateUniformsForDefaultMaterial(), and QSSGRhiGraphicsPipelineState::viewCount.
bool RenderHelpers::rhiPrepareDepthTexture | ( | QSSGRhiContext * | rhiCtx, |
const QSize & | size, | ||
QSSGRhiRenderableTexture * | renderableTex ) |
Definition at line 2109 of file qssgrenderhelpers.cpp.
References QRhiTexture::D16, QRhiTexture::D32F, QRhi::isTextureFormatSupported(), QSSGRhiContext::mainPassViewCount(), QRhi::newTexture(), QRhi::newTextureArray(), QRhi::newTextureRenderTarget(), QByteArrayLiteral, qWarning, QRhiTexture::RenderTarget, QSSGRhiContext::rhi(), QRhiTextureRenderTargetDescription::setDepthTexture(), QRhiResource::setName(), and QRhiTexture::setPixelSize().
void RenderHelpers::rhiPrepareGrid | ( | QSSGRhiContext * | rhiCtx, |
QSSGPassKey | passKey, | ||
QSSGRenderLayer & | layer, | ||
QSSGRenderCameraList & | cameras, | ||
QSSGRenderer & | renderer ) |
Definition at line 1717 of file qssgrenderhelpers.cpp.
References QSSGRhiShaderResourceBindingList::addUniformBuffer(), cb, QSSGRhiContext::commandBuffer(), QVarLengthArray< T, Prealloc >::count(), QRhiBuffer::create(), QRhiBuffer::Dynamic, QSSGRhiContextPrivate::get(), QMatrix4x4::inverted(), QRhi::isYUpInNDC(), QRhi::newBuffer(), QByteArrayLiteral, renderer, RENDERER_VISIBILITY_ALL, QSSGRhiContext::rhi(), QRhiBuffer::UniformBuffer, and Qt::Uninitialized.
Referenced by InfiniteGridPass::renderPrep().
void RenderHelpers::rhiPrepareRenderable | ( | QSSGRhiContext * | rhiCtx, |
QSSGPassKey | passKey, | ||
const QSSGLayerRenderData & | inData, | ||
QSSGRenderableObject & | inObject, | ||
QRhiRenderPassDescriptor * | renderPassDescriptor, | ||
QSSGRhiGraphicsPipelineState * | ps, | ||
QSSGShaderFeatures | featureSet, | ||
int | samples, | ||
int | viewCount, | ||
QSSGRenderCamera * | alteredCamera = nullptr, | ||
QMatrix4x4 * | alteredModelViewProjection = nullptr, | ||
QSSGRenderTextureCubeFace | cubeFace = QSSGRenderTextureCubeFaceNone, | ||
QSSGReflectionMapEntry * | entry = nullptr ) |
Definition at line 709 of file qssgrenderhelpers.cpp.
References addDepthTextureBindings(), QSSGRhiShaderResourceBindingList::addTexture(), QSSGRhiShaderResourceBindingList::addUniformBuffer(), QSSGRhiHelpers::bakeVertexInputLocations(), QRhiBuffer::beginFullDynamicBufferUpdateForCurrentFrame(), QSSGRhiContext::checkAndAdjustForNPoT(), QRhiSampler::ClampToEdge, QSSGGraphicsPipelineStateKey::create(), QSSGRhiGraphicsPipelineState::cullMode, QSSGShaderFeatures::disableTonemapping(), fillTargetBlend(), QRhiTexture::flags(), QRhiShaderResourceBinding::FragmentStage, QSSGRhiInputAssemblerStatePrivate::get(), QSSGRhiContextPrivate::get(), QSSGMaterialShaderGenerator::getSamplerName(), i, QSSGBaseTypeHelpers::indexOfCubeFace(), QSSGShaderFeatures::isSet(), QSSGShaderFeatures::Lightmap, LightmapTexture, QSSGShaderFeatures::LightProbe, LightProbe, QRhiSampler::Linear, QSSGRenderCustomMaterial::m_iblProbe, QRhiTexture::MipMapped, QRhiSampler::Nearest, QRhiSampler::None, QSSGParticleRenderer::prepareParticlesForModel(), Q_ASSERT, QSSGRenderTextureCubeFaceNone, qWarning, ReceivesReflections, QSSGShaderFeatures::ReflectionProbe, RENDERER_VISIBILITY_ALL, QRhiSampler::Repeat, QSSGCustomMaterialSystem::rhiPrepareRenderable(), QSSGParticleRenderer::rhiPrepareRenderable(), QSSGRhiContext::sampler(), QSSGRhiGraphicsPipelineState::samples, ScreenTexture, ScreenTextureArray, QSSGShaderFeatures::set(), setupInstancing(), shadersForDefaultMaterial(), shadersForParticleMaterial(), QSSGRhiGraphicsPipelineState::targetBlend, QSSGRhiHelpers::toCullMode(), QSSGRhiHelpers::toRhi(), QSSGRhiDrawCallData::ubuf, updateUniformsForDefaultMaterial(), QSSGParticleRenderer::updateUniformsForParticleModel(), QRhiShaderResourceBinding::VertexStage, and QSSGRhiGraphicsPipelineState::viewCount.
Referenced by OpaquePass::prep(), TransparentPass::prep(), and ScreenReflectionPass::renderPrep().
bool RenderHelpers::rhiPrepareScreenTexture | ( | QSSGRhiContext * | rhiCtx, |
const QSize & | size, | ||
bool | wantsMips, | ||
QSSGRhiRenderableTexture * | renderableTex ) |
Definition at line 1641 of file qssgrenderhelpers.cpp.
References QRhiTexture::D24S8, QRhiRenderBuffer::DepthStencil, QSSGRhiContext::mainPassViewCount(), QRhiTexture::MipMapped, QRhi::newRenderBuffer(), QRhi::newTexture(), QRhi::newTextureArray(), QRhi::newTextureRenderTarget(), QByteArrayLiteral, qWarning, QRhiTexture::RenderTarget, QRhiTexture::RGBA8, QSSGRhiContext::rhi(), QRhiResource::setName(), QRhiTexture::setPixelSize(), and QRhiTexture::UsedWithGenerateMips.
void RenderHelpers::rhiPrepareSkyBox | ( | QSSGRhiContext * | rhiCtx, |
QSSGPassKey | passKey, | ||
QSSGRenderLayer & | layer, | ||
QSSGRenderCameraList & | cameras, | ||
QSSGRenderer & | renderer ) |
Definition at line 1878 of file qssgrenderhelpers.cpp.
References cb, QSSGRhiContext::commandBuffer(), QByteArrayLiteral, renderer, and rhiPrepareSkyBox_helper().
Referenced by SkyboxPass::renderPrep(), and SkyboxCubeMapPass::renderPrep().
void RenderHelpers::rhiPrepareSkyBoxForReflectionMap | ( | QSSGRhiContext * | rhiCtx, |
QSSGPassKey | passKey, | ||
QSSGRenderLayer & | layer, | ||
QSSGRenderCamera & | inCamera, | ||
QSSGRenderer & | renderer, | ||
QSSGReflectionMapEntry * | entry, | ||
QSSGRenderTextureCubeFace | cubeFace ) |
Definition at line 1892 of file qssgrenderhelpers.cpp.
References cb, QSSGRhiContext::commandBuffer(), QByteArrayLiteral, renderer, and rhiPrepareSkyBox_helper().
void RenderHelpers::rhiRenderAoTexture | ( | QSSGRhiContext * | rhiCtx, |
QSSGPassKey | passKey, | ||
QSSGRenderer & | renderer, | ||
QSSGRhiShaderPipeline & | shaderPipeline, | ||
QSSGRhiGraphicsPipelineState & | ps, | ||
const QSSGAmbientOcclusionSettings & | ao, | ||
const QSSGRhiRenderableTexture & | rhiAoTexture, | ||
const QSSGRhiRenderableTexture & | rhiDepthTexture, | ||
const QSSGRenderCamera & | camera ) |
Definition at line 1567 of file qssgrenderhelpers.cpp.
References QSSGRhiShaderResourceBindingList::addTexture(), QSSGRhiShaderResourceBindingList::addUniformBuffer(), camera, cb, QRhiSampler::ClampToEdge, QSSGRhiContext::commandBuffer(), QRhiBuffer::create(), QRhiBuffer::Dynamic, QRhiShaderResourceBinding::FragmentStage, QSSGRhiContextPrivate::get(), QSize::height(), QRhi::isFeatureSupported(), QRhiSampler::Nearest, QRhi::newBuffer(), QRhiSampler::None, QRhiTexture::pixelSize(), QSSGRHICTX_STAT, renderer, RENDERER_VISIBILITY_ALL, QRhiSampler::Repeat, QSSGRhiContext::rhi(), QSSGRhiRenderableTexture::rt, QSSGRhiContext::sampler(), QSSGRhiGraphicsPipelineStatePrivate::setShaderPipeline(), QRhi::TexelFetch, QSSGRhiRenderableTexture::texture, UBUF_SIZE, QRhiBuffer::UniformBuffer, Qt::white, and QSize::width().
void RenderHelpers::rhiRenderDepthPass | ( | QSSGRhiContext * | rhiCtx, |
const QSSGRhiGraphicsPipelineState & | ps, | ||
const QSSGRenderableObjectList & | sortedOpaqueObjects, | ||
const QSSGRenderableObjectList & | sortedTransparentObjects, | ||
bool * | needsSetViewport ) |
Definition at line 2039 of file qssgrenderhelpers.cpp.
References cb, QSSGRhiContext::commandBuffer(), draw(), Q_QUICK3D_PROFILE_END_WITH_IDS, Q_QUICK3D_PROFILE_START, QSSGRHICTX_STAT, QRhiResource::rhi(), and QSSGRhiGraphicsPipelineState::viewport.
void RenderHelpers::rhiRenderReflectionMap | ( | QSSGRhiContext * | rhiCtx, |
QSSGPassKey | passKey, | ||
const QSSGLayerRenderData & | inData, | ||
QSSGRhiGraphicsPipelineState * | ps, | ||
QSSGRenderReflectionMap & | reflectionMapManager, | ||
const QVector< QSSGRenderReflectionProbe * > & | reflectionProbes, | ||
const QSSGRenderableObjectList & | reflectionPassObjects, | ||
QSSGRenderer & | renderer ) |
Definition at line 1412 of file qssgrenderhelpers.cpp.
References cb, QSSGRhiContext::commandBuffer(), QSSGRhiContext::commonPassFlags(), QSSGRenderReflectionProbe::FirstFrame, i, QSSGBaseTypeHelpers::indexOfCubeFace(), QSSGRenderReflectionProbe::IndividualFaces, QRhi::isFeatureSupported(), QRhi::isYUpInFramebuffer(), NegY, QRhiTextureRenderTarget::newCompatibleRenderPassDescriptor(), QSSGBaseTypeHelpers::next(), QSSGRenderLayer::None, PosY, Q_ASSERT, Q_QUICK3D_PROFILE_END_WITH_STRING, Q_QUICK3D_PROFILE_START, QSSG_RENDERPASS_NAME, QSSGRenderTextureCubeFaces, QSSGRHICTX_STAT, QSSGRenderReflectionMap::reflectionMapEntry(), renderer, QSSGRhiContext::rhi(), rhiPrepareResourcesForReflectionMap(), rhiRenderRenderable(), QRhiRenderTarget::setRenderPassDescriptor(), QSSGRhiGraphicsPipelineStatePrivate::setShaderPipeline(), setupCubeReflectionCameras(), QSSGRenderLayer::SkyBox, QSSGRenderLayer::SkyBoxCubeMap, QRhi::TexelFetch, and QSSGRhiGraphicsPipelineState::viewport.
void RenderHelpers::rhiRenderRenderable | ( | QSSGRhiContext * | rhiCtx, |
const QSSGRhiGraphicsPipelineState & | state, | ||
QSSGRenderableObject & | object, | ||
bool * | needsSetViewport, | ||
QSSGRenderTextureCubeFace | cubeFace = QSSGRenderTextureCubeFaceNone ) |
Definition at line 1045 of file qssgrenderhelpers.cpp.
References cb, QSSGRhiContext::commandBuffer(), draw(), QSSGBaseTypeHelpers::indexOfCubeFace(), Q_QUICK3D_PROFILE_END_WITH_IDS, Q_QUICK3D_PROFILE_START, QSSGRenderTextureCubeFaceNone, QSSGRHICTX_STAT, QRhiResource::rhi(), QSSGParticleRenderer::rhiRenderRenderable(), QSSGCustomMaterialSystem::rhiRenderRenderable(), state, QSSGRhiGraphicsPipelineState::UsesScissor, and QSSGRhiGraphicsPipelineState::UsesStencilRef.
Referenced by OpaquePass::render(), TransparentPass::render(), ScreenReflectionPass::renderPass(), and rhiRenderReflectionMap().
void RenderHelpers::rhiRenderShadowMap | ( | QSSGRhiContext * | rhiCtx, |
QSSGPassKey | passKey, | ||
QSSGRhiGraphicsPipelineState & | ps, | ||
QSSGRenderShadowMap & | shadowMapManager, | ||
const QSSGRenderCamera & | camera, | ||
const QSSGShaderLightList & | globalLights, | ||
const QSSGRenderableObjectList & | sortedOpaqueObjects, | ||
QSSGRenderer & | renderer, | ||
const QSSGBoxPoints & | castingObjectsBox, | ||
const QSSGBoxPoints & | receivingObjectsBox ) |
Definition at line 1131 of file qssgrenderhelpers.cpp.
References QSSGRhiShaderResourceBindingList::addTexture(), QSSGRhiShaderResourceBindingList::addUniformBuffer(), camera, cb, QRhiSampler::ClampToEdge, QSSGRhiShaderResourceBindingList::clear(), QSSGRhiGraphicsPipelineState::colorAttachmentCount, QSSGRhiContext::commandBuffer(), QSSGRhiContext::commonPassFlags(), QRhiBuffer::create(), QMatrix4x4::data(), draw(), QRhiBuffer::Dynamic, QRhiShaderResourceBinding::FragmentStage, QSSGRhiContextPrivate::get(), QSSGLayerRenderData::getCurrent(), i, QRhi::isClipDepthZeroToOne(), QRhi::isYUpInFramebuffer(), QRhi::isYUpInNDC(), QRhiSampler::Linear, map, NegY, QRhi::newBuffer(), QRhiSampler::None, PosY, Q_ASSERT, Q_QUICK3D_PROFILE_END_WITH_IDS, Q_QUICK3D_PROFILE_END_WITH_STRING, Q_QUICK3D_PROFILE_START, QByteArrayLiteral, QSSG_ASSERT, QSSG_RENDERPASS_NAME, QSSGRenderTextureCubeFaceNone, QSSGRenderTextureCubeFaces, QSSGRHICTX_STAT, renderer, RENDERER_VISIBILITY_ALL, QRhiSampler::Repeat, QRhiResource::rhi(), QSSGRhiContext::rhi(), rhiPrepareResourcesForShadowMap(), QSSGRhiContext::sampler(), QSSGRhiGraphicsPipelineStatePrivate::setShaderPipeline(), setupCameraForShadowMap(), setupCubeShadowCameras(), QSSGRenderShadowMap::shadowMapEntry(), QVLABaseBase::size(), QSSGRhiDrawCallData::ubuf, QRhiBuffer::UniformBuffer, QSSGRhiQuadRenderer::UvCoords, QSSGRhiGraphicsPipelineState::viewport, and Qt::white.