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 <QtQuick3DUtils/private/qssgutils_p.h>
#include <QtQuick3DUtils/private/qssgassert_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderdefaultmaterialshadergenerator_p.h>
#include "qssgrendercontextcore.h"
#include <QtQuick3DRuntimeRender/private/qssgrendershadercodegenerator_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderimage_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrenderlight_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendercamera_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendershadowmap_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendercustommaterial_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendershaderlibrarymanager_p.h>
#include <QtQuick3DRuntimeRender/private/qssgrendershaderkeys_p.h>
#include <QtQuick3DRuntimeRender/private/qssgshadermaterialadapter_p.h>
#include <QtQuick3DRuntimeRender/private/qssgvertexpipelineimpl_p.h>
#include <QtQuick3DRuntimeRender/private/qssglayerrenderdata_p.h>
#include <QtCore/QByteArray>
Go to the source code of this file.
Classes | |
struct | QT_BEGIN_NAMESPACE::ImageStrings< Type > |
struct | QT_BEGIN_NAMESPACE::ImageStringSet |
Namespaces | |
namespace | QT_BEGIN_NAMESPACE |
Combined button and popup list for selecting options. | |
Macros | |
#define | DefineImageStrings(V) |
#define | DefineImageStringTableEntry(V) |
#define | MAX_MORPH_TARGET 8 |
Typedefs | |
using | QT_BEGIN_NAMESPACE::Type = QSSGRenderableImage::Type |
Variables | |
constexpr ImageStringSet | QT_BEGIN_NAMESPACE::imageStringTable [] |
const int | QT_BEGIN_NAMESPACE::TEXCOORD_VAR_LEN = 16 |
static QVarLengthArray< QSSGMaterialShaderGenerator::ShadowVariableNames, 16 > | q3ds_shadowMapVariableNames |
static constexpr QByteArrayView | qssg_shader_arg_names [] |
static float | ZERO_MATRIX [16] = {} |
#define DefineImageStrings | ( | V | ) |
Definition at line 31 of file qssgrenderdefaultmaterialshadergenerator.cpp.
#define DefineImageStringTableEntry | ( | V | ) |
Definition at line 71 of file qssgrenderdefaultmaterialshadergenerator.cpp.
#define MAX_MORPH_TARGET 8 |
Definition at line 472 of file qssgrenderdefaultmaterialshadergenerator.cpp.
|
static |
Definition at line 124 of file qssgrenderdefaultmaterialshadergenerator.cpp.
Referenced by generateFragmentShader().
|
static |
Definition at line 233 of file qssgrenderdefaultmaterialshadergenerator.cpp.
Referenced by generateMainLightCalculation().
|
static |
Definition at line 726 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGStageGeneratorBase::addFunction().
Referenced by generateMainLightCalculation().
|
static |
Definition at line 603 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGMaterialVertexPipeline::generateWorldPosition().
Referenced by generateMainLightCalculation().
|
static |
Definition at line 833 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGShaderKeyTextureChannel::A, QSSGMaterialVertexPipeline::addDefinition(), QSSGStageGeneratorBase::addFunction(), QSSGStageGeneratorBase::addInclude(), addLocalVariable(), QSSGStageGeneratorBase::addUniform(), QSSGStageGeneratorBase::addUniformArray(), QSSGShaderMaterialAdapter::alphaMode(), QSSGRenderLayer::AmbientOcclusion, QByteArray::append(), QSSGStageGeneratorBase::append(), QSSGShaderKeyTextureChannel::B, QSSGRenderLayer::BaseColor, QSSGShaderDefaultMaterialKeyProperties::BaseColorChannel, QSSGShaderDefaultMaterialKeyProperties::BaseColorMap, QSSGMaterialVertexPipeline::beginFragmentGeneration(), QSSGRenderLayer::Binormal, QSSGRenderDefaultMaterial::ClearcoatAmountMask, QSSGShaderDefaultMaterialKeyProperties::ClearcoatChannel, QSSGRenderDefaultMaterial::ClearcoatNormalStrengthMask, QSSGRenderDefaultMaterial::ClearcoatRoughnessAmountMask, QSSGShaderDefaultMaterialKeyProperties::ClearcoatRoughnessChannel, QSSGShaderFeatures::CubeShadowPass, QSSGShaderFeatures::DepthPass, QSSGRenderLayer::Diffuse, QSSGShaderFeatures::DisableMultiView, QSSGRenderLayer::Emission, QSSGShaderDefaultMaterialKeyProperties::EmissiveChannel, QSSGRenderLayer::F0, QSSGShaderCache::Fragment, QSSGShaderKeyTextureChannel::G, QSSGMaterialVertexPipeline::generateDepth(), generateImageUVCoordinates(), generateImageUVSampler(), QSSGMaterialVertexPipeline::generateLightmapUVCoords(), generateMainLightCalculation(), QSSGMaterialVertexPipeline::generateShadowWorldPosition(), QSSGMaterialVertexPipeline::generateUVCoords(), QSSGMaterialVertexPipeline::generateVarTangentAndBinormal(), QSSGMaterialVertexPipeline::generateVertexColor(), QSSGMaterialVertexPipeline::generateViewVector(), QSSGMaterialVertexPipeline::generateWorldNormal(), QSSGMaterialVertexPipeline::generateWorldPosition(), getMaterialAdapter(), hasCustomFunction(), QSSGShaderMaterialAdapter::hasCustomShaderFunction(), QSSGShaderMaterialAdapter::hasCustomShaderSnippet(), QSSGShaderMaterialAdapter::hasLighting(), QSSGRenderDefaultMaterial::HeightAmountMask, QSSGShaderFeatures::IblOrientation, QSSGShaderMaterialAdapter::isBaseColorSingleChannelEnabled(), QSSGShaderMaterialAdapter::isClearcoatEnabled(), QSSGShaderMaterialAdapter::isClearcoatFresnelScaleBiasEnabled(), QSSGShaderMaterialAdapter::isEmissiveSingleChannelEnabled(), QSSGDataView< T >::isEmpty(), QSSGShaderMaterialAdapter::isFresnelScaleBiasEnabled(), QSSGShaderMaterialAdapter::isInvertOpacityMapValue(), QSSGShaderMaterialAdapter::isMetalnessEnabled(), QSSGShaderMaterialAdapter::isPrincipled(), QSSGShaderFeatures::isSet(), QSSGShaderMaterialAdapter::isSpecularAmountSingleChannelEnabled(), QSSGShaderMaterialAdapter::isSpecularEnabled(), QSSGShaderMaterialAdapter::isSpecularGlossy(), QSSGShaderMaterialAdapter::isTransmissionEnabled(), QSSGShaderMaterialAdapter::isUnshaded(), QSSGShaderMaterialAdapter::isVertexColorsEnabled(), QSSGShaderMaterialAdapter::isVertexColorsMaskEnabled(), QSSGRenderDefaultMaterial::KGGX, QSSGShaderFeatures::Lightmap, QSSGRenderableImage::m_nextImage, QSSGRenderDefaultMaterial::Mask, maybeAddMaterialFresnel(), QSSGRenderLayer::Metalness, QSSGShaderDefaultMaterialKeyProperties::MetalnessChannel, QSSGRenderDefaultMaterial::MetalnessMask, QSSGRenderLayer::None, QSSGRenderLayer::Normal, QSSGRenderDefaultMaterial::NormalStrengthMask, QByteArray::number(), QSSGRenderDefaultMaterial::OcclusionAmountMask, QSSGShaderDefaultMaterialKeyProperties::OcclusionChannel, QSSGShaderDefaultMaterialKeyProperties::OpacityChannel, QSSGRenderDefaultMaterial::Opaque, QSSGShaderFeatures::OpaqueDepthPrePass, QSSGShaderFeatures::OrthoShadowPass, Q_ASSERT, Q_UNLIKELY, QByteArrayLiteral, QSSGShaderKeyTextureChannel::R, QSSGShaderFeatures::ReflectionProbe, ret, QSSGRenderLayer::Roughness, QSSGShaderDefaultMaterialKeyProperties::RoughnessChannel, QSSGRenderDefaultMaterial::RoughnessMask, QSSGRenderLayer::ShadowOcclusion, QSSGRenderLayer::Specular, QSSGShaderDefaultMaterialKeyProperties::SpecularAmountChannel, QSSGRenderDefaultMaterial::SpecularAmountMask, QSSGShaderMaterialAdapter::specularModel(), QSSGShaderFeatures::Ssao, QSSGShaderFeatures::Ssm, QSSGRenderLayer::Tangent, QSSGShaderDefaultMaterialKeyProperties::ThicknessChannel, QSSGRenderDefaultMaterial::ThicknessFactorMask, QSSGShaderDefaultMaterialKeyProperties::TranslucencyChannel, QSSGShaderDefaultMaterialKeyProperties::TransmissionChannel, QSSGRenderDefaultMaterial::TransmissionFactorMask, QSSGShaderMaterialAdapter::usesSharedVariables(), QSSGShaderCache::Vertex, QSSGShaderMaterialAdapter::vertexColorAlphaMask(), QSSGShaderMaterialAdapter::vertexColorBlueMask(), QSSGShaderMaterialAdapter::vertexColorGreenMask(), and QSSGShaderMaterialAdapter::vertexColorRedMask().
Referenced by QSSGMaterialShaderGenerator::generateMaterialRhiShader().
|
static |
Definition at line 146 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGMaterialVertexPipeline::addFunction(), QSSGStageGeneratorBase::addFunction(), QSSGMaterialVertexPipeline::addOutgoing(), QSSGStageGeneratorBase::addUniform(), QSSGMaterialVertexPipeline::addUniform(), QSSGMaterialVertexPipeline::assignOutput(), QSSGMaterialVertexPipeline::generateEnvMapReflection(), QSSGMaterialVertexPipeline::generateUVCoords(), QSSGRenderImage::Normal, sanityCheckImageForSampler(), and uvTransform().
Referenced by generateFragmentShader().
|
static |
Definition at line 202 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGStageGeneratorBase::addUniform(), and sanityCheckImageForSampler().
Referenced by generateFragmentShader().
|
static |
Definition at line 736 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References addTranslucencyIrradiance(), QByteArray::append(), QSSGStageGeneratorBase::append(), calculatePointLightAttenuation(), generateDirections(), generateShadowMapOcclusion(), generateTempLightColor(), getMaterialAdapter(), handleDirectionalLight(), handlePointLight(), handleSpotLight(), Q_ASSERT, QSSG_MAX_NUM_SHADOW_MAPS, setupLightVariableNames(), and QSSGDataView< T >::size().
Referenced by generateFragmentShader().
|
static |
Definition at line 348 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGStageGeneratorBase::addInclude(), QSSGStageGeneratorBase::addUniform(), QSSGMaterialVertexPipeline::generateWorldPosition(), and setupShadowMapVariableNames().
Referenced by generateMainLightCalculation().
|
static |
Definition at line 481 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGShaderMaterialAdapter::isSpecularGlossy().
Referenced by generateMainLightCalculation().
|
inlinestatic |
Definition at line 378 of file qssgrenderdefaultmaterialshadergenerator.cpp.
Referenced by generateFragmentShader(), generateMainLightCalculation(), and QSSGMaterialShaderGenerator::setRhiMaterialProperties().
|
static |
Definition at line 561 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References handleSpecularLight(), hasCustomFunction(), QSSGShaderMaterialAdapter::isPrincipled(), QSSGShaderMaterialAdapter::isSpecularGlossy(), and QByteArrayLiteral.
Referenced by generateMainLightCalculation().
|
static |
Definition at line 626 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References handleSpecularLight(), hasCustomFunction(), QSSGShaderMaterialAdapter::isPrincipled(), QSSGShaderMaterialAdapter::isSpecularGlossy(), and QByteArrayLiteral.
Referenced by generateMainLightCalculation().
|
static |
Definition at line 491 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGStageGeneratorBase::addFunction(), hasCustomFunction(), QSSGShaderMaterialAdapter::isPrincipled(), QSSGShaderMaterialAdapter::isSpecularGlossy(), outputSpecularEquation(), QByteArrayLiteral, and QSSGShaderMaterialAdapter::specularModel().
Referenced by handleDirectionalLight(), handlePointLight(), and handleSpotLight().
|
static |
Definition at line 668 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References handleSpecularLight(), hasCustomFunction(), QSSGShaderMaterialAdapter::isPrincipled(), QSSGShaderMaterialAdapter::isSpecularGlossy(), and QByteArrayLiteral.
Referenced by generateMainLightCalculation().
|
static |
Definition at line 474 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGShaderCache::Fragment, and QSSGShaderMaterialAdapter::hasCustomShaderFunction().
Referenced by generateFragmentShader(), handleDirectionalLight(), handlePointLight(), handleSpecularLight(), and handleSpotLight().
|
static |
Definition at line 273 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGStageGeneratorBase::addInclude().
Referenced by generateFragmentShader().
|
static |
Definition at line 217 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References QSSGStageGeneratorBase::addFunction(), QSSGStageGeneratorBase::addInclude(), and QSSGRenderDefaultMaterial::KGGX.
Referenced by handleSpecularLight().
|
static |
Definition at line 137 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References qWarning.
Referenced by generateImageUVCoordinates(), and generateImageUVSampler().
|
static |
Definition at line 291 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References Q_ASSERT, and qsnprintf().
Referenced by generateMainLightCalculation().
|
static |
Definition at line 248 of file qssgrenderdefaultmaterialshadergenerator.cpp.
References q3ds_shadowMapVariableNames, QByteArrayLiteral, and qsnprintf().
Referenced by generateShadowMapOcclusion(), and QSSGMaterialShaderGenerator::setRhiMaterialProperties().
|
static |
Definition at line 129 of file qssgrenderdefaultmaterialshadergenerator.cpp.
Referenced by generateImageUVCoordinates().
|
static |
Definition at line 246 of file qssgrenderdefaultmaterialshadergenerator.cpp.
Referenced by setupShadowMapVariableNames().
|
staticconstexpr |
Definition at line 394 of file qssgrenderdefaultmaterialshadergenerator.cpp.
Referenced by QtQuick3DEditorHelpers::CustomMaterial::reservedArgumentNames().
|
static |
Definition at line 1968 of file qssgrenderdefaultmaterialshadergenerator.cpp.
Referenced by QSSGMaterialShaderGenerator::setRhiMaterialProperties().