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>.
Loading...
Searching...
No Matches
QSSGParticleRenderer Class Reference

#include <qssgrhiparticles_p.h>

+ Collaboration diagram for QSSGParticleRenderer:

Static Public Member Functions

static void updateUniformsForParticles (QSSGRhiShaderPipeline &shaderPipeline, QSSGRhiContext *rhiCtx, char *ubufData, QSSGParticlesRenderable &renderable, const QSSGRenderCameraList &cameras)
 
static void updateUniformsForParticleModel (QSSGRhiShaderPipeline &shaderPipeline, char *ubufData, const QSSGRenderModel *model, quint32 offset)
 
static void rhiPrepareRenderable (QSSGRhiShaderPipeline &shaderPipeline, QSSGPassKey passKey, QSSGRhiContext *rhiCtx, QSSGRhiGraphicsPipelineState *ps, QSSGParticlesRenderable &renderable, const QSSGLayerRenderData &inData, QRhiRenderPassDescriptor *renderPassDescriptor, int samples, int viewCount, QSSGRenderCamera *alteredCamera=nullptr, QSSGRenderTextureCubeFace cubeFace=QSSGRenderTextureCubeFaceNone, QSSGReflectionMapEntry *entry=nullptr)
 
static void rhiRenderRenderable (QSSGRhiContext *rhiCtx, QSSGParticlesRenderable &renderable, bool *needsSetViewport, QSSGRenderTextureCubeFace cubeFace, const QSSGRhiGraphicsPipelineState &state)
 
static void prepareParticlesForModel (QSSGRhiShaderPipeline &shaderPipeline, QSSGRhiContext *rhiCtx, QSSGRhiShaderResourceBindingList &bindings, const QSSGRenderModel *model)
 

Detailed Description

Definition at line 34 of file qssgrhiparticles_p.h.

Member Function Documentation

◆ prepareParticlesForModel()

void QSSGParticleRenderer::prepareParticlesForModel ( QSSGRhiShaderPipeline & shaderPipeline,
QSSGRhiContext * rhiCtx,
QSSGRhiShaderResourceBindingList & bindings,
const QSSGRenderModel * model )
static

◆ rhiPrepareRenderable()

void QSSGParticleRenderer::rhiPrepareRenderable ( QSSGRhiShaderPipeline & shaderPipeline,
QSSGPassKey passKey,
QSSGRhiContext * rhiCtx,
QSSGRhiGraphicsPipelineState * ps,
QSSGParticlesRenderable & renderable,
const QSSGLayerRenderData & inData,
QRhiRenderPassDescriptor * renderPassDescriptor,
int samples,
int viewCount,
QSSGRenderCamera * alteredCamera = nullptr,
QSSGRenderTextureCubeFace cubeFace = QSSGRenderTextureCubeFaceNone,
QSSGReflectionMapEntry * entry = nullptr )
static

Definition at line 335 of file qssgrhiparticles.cpp.

References QSSGRhiShaderResourceBindingList::addTexture(), QSSGRhiShaderResourceBindingList::addUniformBuffer(), QSSGRenderParticles::Animated, QSSGRhiShaderPipeline::bindingForTexture(), QRhiSampler::ClampToEdge, QByteArray::clear(), QList< T >::clear(), QSSGRhiContext::commandBuffer(), QSSGRhiParticleData::convertData, convertParticleData(), QRhiTexture::create(), QSSGGraphicsPipelineStateKey::create(), QSSGRhiGraphicsPipelineState::cullMode, QSSGParticleBuffer::data(), QSSGRhiContext::dummyTexture(), QSSGRhiShaderPipeline::ensureUniformBuffer(), fillTargetBlend(), QRhiTexture::flags(), QRhiShaderResourceBinding::FragmentStage, QSSGRhiInputAssemblerStatePrivate::get(), QSSGRhiContextPrivate::get(), QSSGBaseTypeHelpers::indexOfCubeFace(), QRhi::isTextureFormatSupported(), QRhiTexture::MipMapped, QRhiSampler::Nearest, QRhi::newTexture(), QRhi::nextResourceUpdateBatch(), QRhiSampler::None, QRhiGraphicsPipeline::None, QSSGParticleBuffer::particleCount(), QSSGRhiParticleData::particleCount, QSSGRenderTextureCubeFaceNone, QRhiSampler::Repeat, QRhiCommandBuffer::resourceUpdate(), QRhiTexture::RGBA16F, QRhiTexture::RGBA32F, QSSGRhiContext::rhi(), QSSGRhiContext::sampler(), QSSGRhiGraphicsPipelineState::samples, QRhiTextureSubresourceUploadDescription::setData(), QRhiTexture::setPixelSize(), QSSGParticleBuffer::size(), QSSGRhiParticleData::sortData, QSSGRhiParticleData::sortedData, QSSGRhiParticleData::sorting, sortParticles(), QSSGRhiGraphicsPipelineState::targetBlend, QSSGRhiParticleData::texture, QSSGRhiHelpers::toRhi(), QRhiGraphicsPipeline::TriangleStrip, QSSGRhiShaderPipeline::ub0Size(), updateUniformsForParticles(), QRhiShaderResourceBinding::VertexStage, QSSGRhiGraphicsPipelineState::viewCount, VISIBILITY_ALL, and Qt::white.

Referenced by RenderHelpers::rhiPrepareRenderable().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rhiRenderRenderable()

void QSSGParticleRenderer::rhiRenderRenderable ( QSSGRhiContext * rhiCtx,
QSSGParticlesRenderable & renderable,
bool * needsSetViewport,
QSSGRenderTextureCubeFace cubeFace,
const QSSGRhiGraphicsPipelineState & state )
static

Definition at line 596 of file qssgrhiparticles.cpp.

References cb, QSSGRhiContext::commandBuffer(), draw(), QSSGBaseTypeHelpers::indexOfCubeFace(), QSSGRenderParticles::Line, Q_QUICK3D_PROFILE_END_WITH_ID, Q_QUICK3D_PROFILE_START, QSSGRenderTextureCubeFaceNone, QSSGRHICTX_STAT, and state.

Referenced by RenderHelpers::rhiRenderRenderable().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateUniformsForParticleModel()

void QSSGParticleRenderer::updateUniformsForParticleModel ( QSSGRhiShaderPipeline & shaderPipeline,
char * ubufData,
const QSSGRenderModel * model,
quint32 offset )
static

Definition at line 155 of file qssgrhiparticles.cpp.

References model, and QSSGRhiShaderPipeline::setUniform().

Referenced by RenderHelpers::rhiPrepareRenderable(), QSSGCustomMaterialSystem::rhiPrepareRenderable(), and rhiPrepareResourcesForShadowMap().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateUniformsForParticles()


The documentation for this class was generated from the following files: