Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qssgrhiparticles.cpp File Reference

(b027d2e8e3e8c21121d731c69ee6f399405cb0b6)

#include "qssgrhiparticles_p.h"
#include "qssgrhicontext_p.h"
#include <qfloat16.h>
#include <QtQuick3DUtils/private/qssgutils_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderer_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendercamera_p.h>
#include <QtQuick3DRuntimeRender/private/qssglayerrenderdata_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderhelpers_p.h>
#include <QtQuick3DRuntimeRender/private/qssgshaderresourcemergecontext_p.h>
#include <ssg/qssgrendercontextcore.h>
#include "qssgrendershadercodegenerator_p.h"
#include "qtquick3d_tracepoints_p.h"
Include dependency graph for qssgrhiparticles.cpp:

Go to the source code of this file.

Classes

struct  ParticleLightData
struct  ShaderGeneratorCommon
struct  AutoFormatGenerator

Macros

#define COPY_FEATURE(f)

Functions

static void fillTargetBlend (QRhiGraphicsPipeline::TargetBlend &targetBlend, QSSGRenderParticles::BlendMode mode)
static void sortParticles (const QSSGLayerRenderData &renderData, QByteArray &result, QList< QSSGRhiSortData > &sortData, const QSSGParticleBuffer &buffer, const QSSGRenderParticles &particles, const QVector3D &cameraDirection, bool animatedParticles)
static QByteArray convertParticleData (QByteArray &dest, const QByteArray &data, bool convert)
static QByteArray particlesLogPrefix ()

Variables

static QT_BEGIN_NAMESPACE const QRhiShaderResourceBinding::StageFlags VISIBILITY_ALL
static bool s_shaderCacheEnabled = true
static const char * s_lightPrefix

Macro Definition Documentation

◆ COPY_FEATURE

#define COPY_FEATURE ( f)
Value:
ret.set(f, features.isSet(f));
return ret
GLfloat GLfloat f
[26]

Function Documentation

◆ convertParticleData()

QByteArray convertParticleData ( QByteArray & dest,
const QByteArray & data,
bool convert )
static

Definition at line 380 of file qssgrhiparticles.cpp.

References qFloatToFloat16().

Here is the call graph for this function:

◆ fillTargetBlend()

void fillTargetBlend ( QRhiGraphicsPipeline::TargetBlend & targetBlend,
QSSGRenderParticles::BlendMode mode )
static

Definition at line 225 of file qssgrhiparticles.cpp.

◆ particlesLogPrefix()

QByteArray particlesLogPrefix ( )
static

Definition at line 662 of file qssgrhiparticles.cpp.

◆ sortParticles()

void sortParticles ( const QSSGLayerRenderData & renderData,
QByteArray & result,
QList< QSSGRhiSortData > & sortData,
const QSSGParticleBuffer & buffer,
const QSSGRenderParticles & particles,
const QVector3D & cameraDirection,
bool animatedParticles )
static

Definition at line 251 of file qssgrhiparticles.cpp.

References QSSGRhiSortData::d, and QSSGRhiSortData::indexOrOffset.

Variable Documentation

◆ s_lightPrefix

const char * s_lightPrefix
static
Initial value:
= {
"struct ParticleLightData\n"
"{\n"
" vec4 qt_pointLightPosition[4];\n"
" vec4 qt_pointLightConstantAtt;\n"
" vec4 qt_pointLightLinearAtt;\n"
" vec4 qt_pointLightQuadAtt;\n"
" vec4 qt_pointLightColor[4];\n"
" vec4 qt_spotLightPosition[4];\n"
" vec4 qt_spotLightConstantAtt;\n"
" vec4 qt_spotLightLinearAtt;\n"
" vec4 qt_spotLightQuadAtt;\n"
" vec4 qt_spotLightColor[4];\n"
" vec4 qt_spotLightDirection[4];\n"
" vec4 qt_spotLightConeAngle;\n"
" vec4 qt_spotLightInnerConeAngle;\n"
"};\n"
}

Definition at line 732 of file qssgrhiparticles.cpp.

◆ s_shaderCacheEnabled

bool s_shaderCacheEnabled = true
static

Definition at line 46 of file qssgrhiparticles.cpp.

◆ VISIBILITY_ALL

QT_BEGIN_NAMESPACE const QRhiShaderResourceBinding::StageFlags VISIBILITY_ALL
static