#pragma once #include "Game/T6/T6.h" #include "Techset/CommonTechnique.h" #include "Techset/CommonTechset.h" namespace T6 { static inline const char* techniqueTypeNames[]{ "depth prepass", "build shadowmap depth", "unlit", "emissive", "lit", "lit sun", "lit sun shadow", "lit spot", "lit spot shadow", "lit spot square", "lit spot square shadow", "lit spot round", "lit spot round shadow", "lit omni", "lit omni shadow", "lit dlight glight", "lit sun dlight glight", "lit sun shadow dlight glight", "lit spot dlight glight", "lit spot shadow dlight glight", "lit spot square dlight glight", "lit spot square shadow dlight glight", "lit spot round dlight glight", "lit spot round shadow dlight glight", "lit omni dlight glight", "lit omni shadow dlight glight", "light spot", "light omni", "fakelight normal", "fakelight view", "sunlight preview", "case texture", "solid wireframe", "shaded wireframe", "debug bumpmap", "debug performance", }; static_assert(std::extent_v == TECHNIQUE_COUNT); static inline techset::CommonTechniqueTypeNames commonTechniqueTypeNames(techniqueTypeNames, std::extent_v); static inline techset::CommonStreamRoutingSourceInfo streamRoutingSources[]{ { .name = "position", .abbreviation = "p", .optional = false, }, { .name = "color", .abbreviation = "c", .optional = false, }, { .name = "texcoord[0]", .abbreviation = "t0", .optional = false, }, { .name = "normal", .abbreviation = "n", .optional = false, }, { .name = "tangent", .abbreviation = "t", .optional = false, }, { .name = "texcoord[1]", .abbreviation = "t1", .optional = false, }, { .name = "texcoord[2]", .abbreviation = "t2", .optional = true, }, { .name = "texcoord[3]", .abbreviation = "t3", .optional = true, }, { .name = "normalTransform[0]", .abbreviation = "n0", .optional = true, }, { .name = "normalTransform[1]", .abbreviation = "n1", .optional = true, }, { .name = "blendWeight", .abbreviation = "b", .optional = true, }, }; static_assert(std::extent_v == STREAM_SRC_COUNT); static inline techset::CommonStreamRoutingDestinationInfo streamRoutingDestinations[]{ { .name = "position", .abbreviation = "p", }, { .name = "normal", .abbreviation = "n", }, { .name = "color[0]", .abbreviation = "c0", }, { .name = "color[1]", .abbreviation = "c1", }, { .name = "depth", .abbreviation = "d", }, { .name = "texcoord[0]", .abbreviation = "t0", }, { .name = "texcoord[1]", .abbreviation = "t1", }, { .name = "texcoord[2]", .abbreviation = "t2", }, { .name = "texcoord[3]", .abbreviation = "t3", }, { .name = "texcoord[4]", .abbreviation = "t4", }, { .name = "texcoord[5]", .abbreviation = "t5", }, { .name = "texcoord[6]", .abbreviation = "t6", }, { .name = "texcoord[7]", .abbreviation = "t7", }, { .name = "texcoord[8]", .abbreviation = "t8", }, { .name = "texcoord[9]", .abbreviation = "t9", }, { .name = "texcoord[10]", .abbreviation = "t10", }, { .name = "texcoord[11]", .abbreviation = "t11", }, { .name = "texcoord[12]", .abbreviation = "t12", }, { .name = "texcoord[13]", .abbreviation = "t13", }, { .name = "blendWeight", .abbreviation = "b", }, }; static_assert(std::extent_v == STREAM_DST_COUNT); static inline techset::CommonStreamRoutingInfos commonRoutingInfos(streamRoutingSources, std::extent_v, streamRoutingDestinations, std::extent_v); static inline techset::CommonCodeConstSourceInfo commonCodeConstSources[]{ { .value = CONST_SRC_CODE_LIGHT_POSITION, .accessor = "lightPosition", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_DIFFUSE, .accessor = "lightDiffuse", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_SPOTDIR, .accessor = "lightSpotDir", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_SPOTFACTORS, .accessor = "lightSpotFactors", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_ATTENUATION, .accessor = "lightAttenuation", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_FALLOFF_A, .accessor = "lightFallOffA", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_FALLOFF_B, .accessor = "lightFallOffB", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_SPOT_MATRIX0, .accessor = "lightSpotMatrix0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_SPOT_MATRIX1, .accessor = "lightSpotMatrix1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_SPOT_MATRIX2, .accessor = "lightSpotMatrix2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_SPOT_MATRIX3, .accessor = "lightSpotMatrix3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_SPOT_AABB, .accessor = "lightSpotAABB", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_CONE_CONTROL1, .accessor = "lightConeControl1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_CONE_CONTROL2, .accessor = "lightConeControl2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_LIGHT_SPOT_COOKIE_SLIDE_CONTROL, .accessor = "lightSpotCookieSlideControl", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_SHADOW_PARMS, .accessor = "shadowParms", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_SHADOWMAP_POLYGON_OFFSET, .accessor = "shadowmapPolygonOffset", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_RENDER_TARGET_SIZE, .accessor = "renderTargetSize", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_UPSCALED_TARGET_SIZE, .accessor = "upscaledTargetSize", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DOF_EQUATION_VIEWMODEL_AND_FAR_BLUR, .accessor = "dofEquationViewModelAndFarBlur", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DOF_EQUATION_SCENE, .accessor = "dofEquationScene", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DOF_LERP_SCALE, .accessor = "dofLerpScale", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DOF_LERP_BIAS, .accessor = "dofLerpBias", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DOF_ROW_DELTA, .accessor = "dofRowDelta", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_PARTICLE_CLOUD_COLOR, .accessor = "particleCloudColor", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GAMETIME, .accessor = "gameTime", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_FILTER_TAP_0, .accessor = "filterTap", .arrayCount = 8, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COLOR_MATRIX_R, .accessor = "colorMatrixR", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COLOR_MATRIX_G, .accessor = "colorMatrixG", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COLOR_MATRIX_B, .accessor = "colorMatrixB", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_SHADOWMAP_SWITCH_PARTITION, .accessor = "shadowmapSwitchPartition", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_SUNSHADOWMAP_PIXEL_SIZE, .accessor = "sunShadowmapPixelSize", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_SHADOWMAP_SCALE, .accessor = "shadowmapScale", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_ZNEAR, .accessor = "zNear", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_SUN_POSITION, .accessor = "sunPosition", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_SUN_DIFFUSE, .accessor = "sunDiffuse", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_LIGHTING_LOOKUP_SCALE, .accessor = "lightingLookupScale", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DEBUG_BUMPMAP, .accessor = "debugBumpmap", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DEBUG_PERFORMANCE, .accessor = "debugPerformance", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_MATERIAL_COLOR, .accessor = "materialColor", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_FOG, .accessor = "fogConsts", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_FOG2, .accessor = "fogConsts2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_FOG_COLOR, .accessor = "fogColor", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_SUN_FOG, .accessor = "sunFog", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_SUN_FOG_DIR, .accessor = "sunFogDir", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_SUN_FOG_COLOR, .accessor = "sunFogColor", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_GLOW_SETUP, .accessor = "glowSetup", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GLOW_APPLY, .accessor = "glowApply", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COLOR_BIAS, .accessor = "colorBias", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COLOR_TINT_BASE, .accessor = "colorTintBase", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COLOR_TINT_DELTA, .accessor = "colorTintDelta", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_OUTDOOR_FEATHER_PARMS, .accessor = "outdoorFeatherParms", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_SKY_TRANSITION, .accessor = "skyTransition", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_SPOT_SHADOWMAP_PIXEL_ADJUST, .accessor = "spotShadowmapPixelAdjust", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DLIGHT_SPOT_SHADOWMAP_PIXEL_ADJUST, .accessor = "dlightSpotShadowmapPixelAdjust", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CLIP_SPACE_LOOKUP_SCALE, .accessor = "clipSpaceLookupScale", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_CLIP_SPACE_LOOKUP_OFFSET, .accessor = "clipSpaceLookupOffset", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_PARTICLE_CLOUD_MATRIX, .accessor = "particleCloudMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_PARTICLE_CLOUD_VEL_WORLD, .accessor = "particleCloudVelWorld", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_DEPTH_FROM_CLIP, .accessor = "depthFromClip", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_CODE_MESH_ARG_0, .accessor = "codeMeshArg", .arrayCount = 2, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_GRID_LIGHTING_COORDS_AND_VIS, .accessor = "gridLightingCoordsAndVis", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_GRID_LIGHTING_SH_0, .accessor = "gridLightingSH0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_GRID_LIGHTING_SH_1, .accessor = "gridLightingSH1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_GRID_LIGHTING_SH_2, .accessor = "gridLightingSH2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_REFLECTION_LIGHTING_SH_0, .accessor = "reflectionLightingSH0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_REFLECTION_LIGHTING_SH_1, .accessor = "reflectionLightingSH1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_REFLECTION_LIGHTING_SH_2, .accessor = "reflectionLightingSH2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_WIND_DIRECTION, .accessor = "windDirection", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_MOTIONBLUR_DIRECTION_AND_MAGNITUDE, .accessor = "motionblurDirectionAndMagnitude", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COMPOSITE_FX_DISTORTION, .accessor = "flameDistortion", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GLOW_BLOOM_SCALE, .accessor = "bloomScale", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COMPOSITE_FX_OVERLAY_TEXCOORD, .accessor = "overlayTexCoord", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COLOR_BIAS1, .accessor = "colorBias1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COLOR_TINT_BASE1, .accessor = "colorTintBase1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_COLOR_TINT_DELTA1, .accessor = "colorTintDelta1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_FADE_EFFECT, .accessor = "fadeEffect", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_VIEWPORT_DIMENSIONS, .accessor = "viewportDimensions", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_FRAMEBUFFER_READ, .accessor = "framebufferRead", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_RESIZE_PARAMS1, .accessor = "resizeParams1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_RESIZE_PARAMS2, .accessor = "resizeParams2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_RESIZE_PARAMS3, .accessor = "resizeParams3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_VARIANT_WIND_SPRING_0, .accessor = "variantWindSpring", .arrayCount = 16, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_CHARACTER_CHARRED_AMOUNT, .accessor = "_characterCharredAmount", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL0, .accessor = "postFxControl0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL1, .accessor = "postFxControl1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL2, .accessor = "postFxControl2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL3, .accessor = "postFxControl3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL4, .accessor = "postFxControl4", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL5, .accessor = "postFxControl5", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL6, .accessor = "postFxControl6", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL7, .accessor = "postFxControl7", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL8, .accessor = "postFxControl8", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROL9, .accessor = "postFxControl9", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROLA, .accessor = "postFxControlA", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROLB, .accessor = "postFxControlB", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROLC, .accessor = "postFxControlC", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROLD, .accessor = "postFxControlD", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROLE, .accessor = "postFxControlE", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_POSTFX_CONTROLF, .accessor = "postFxControlF", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_HDRCONTROL_0, .accessor = "hdrControl0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_HDRCONTROL_1, .accessor = "hdrControl1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_GLIGHT_POSXS, .accessor = "glightPosXs", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_GLIGHT_POSYS, .accessor = "glightPosYs", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_GLIGHT_POSZS, .accessor = "glightPosZs", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_GLIGHT_FALLOFFS, .accessor = "glightFallOffs", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_GLIGHT_REDS, .accessor = "glightReds", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_GLIGHT_GREENS, .accessor = "glightGreens", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_GLIGHT_BLUES, .accessor = "glightBlues", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_POSITION, .accessor = "dlightPosition", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_DIFFUSE, .accessor = "dlightDiffuse", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_ATTENUATION, .accessor = "dlightAttenuation", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_FALLOFF, .accessor = "dlightFallOff", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SPOT_MATRIX_0, .accessor = "dlightSpotMatrix0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SPOT_MATRIX_1, .accessor = "dlightSpotMatrix1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SPOT_MATRIX_2, .accessor = "dlightSpotMatrix2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SPOT_MATRIX_3, .accessor = "dlightSpotMatrix3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SPOT_DIR, .accessor = "dlightSpotDir", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SPOT_FACTORS, .accessor = "dlightSpotFactors", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SHADOW_LOOKUP_MATRIX_0, .accessor = "dlightShadowLookupMatrix0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SHADOW_LOOKUP_MATRIX_1, .accessor = "dlightShadowLookupMatrix1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SHADOW_LOOKUP_MATRIX_2, .accessor = "dlightShadowLookupMatrix2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_DLIGHT_SHADOW_LOOKUP_MATRIX_3, .accessor = "dlightShadowLookupMatrix3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL0, .accessor = "cloudLayerControl0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL1, .accessor = "cloudLayerControl1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL2, .accessor = "cloudLayerControl2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL3, .accessor = "cloudLayerControl3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CLOUD_LAYER_CONTROL4, .accessor = "cloudLayerControl4", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_HERO_LIGHTING_R, .accessor = "heroLightingR", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_HERO_LIGHTING_G, .accessor = "heroLightingG", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_HERO_LIGHTING_B, .accessor = "heroLightingB", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_LIGHT_HERO_SCALE, .accessor = "lightHeroScale", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_CINEMATIC_BLUR_BOX, .accessor = "cinematicBlurBox", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CINEMATIC_BLUR_BOX2, .accessor = "cinematicBlurBox2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_ADSZSCALE, .accessor = "adsZScale", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_UI3D_UV_SETUP_0, .accessor = "ui3dUVSetup0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_UI3D_UV_SETUP_1, .accessor = "ui3dUVSetup1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_UI3D_UV_SETUP_2, .accessor = "ui3dUVSetup2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_UI3D_UV_SETUP_3, .accessor = "ui3dUVSetup3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_UI3D_UV_SETUP_4, .accessor = "ui3dUVSetup4", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_UI3D_UV_SETUP_5, .accessor = "ui3dUVSetup5", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CHARACTER_DISSOLVE_COLOR, .accessor = "_characterDissolveColor", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CAMERA_LOOK, .accessor = "cameraLook", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CAMERA_UP, .accessor = "cameraUp", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_CAMERA_SIDE, .accessor = "cameraSide", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_RIMINTENSITY, .accessor = "rimIntensity", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_GENERIC_PARAM0, .accessor = "scriptVector0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GENERIC_PARAM1, .accessor = "scriptVector1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GENERIC_PARAM2, .accessor = "scriptVector2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GENERIC_PARAM3, .accessor = "scriptVector3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GENERIC_PARAM4, .accessor = "scriptVector4", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GENERIC_PARAM5, .accessor = "scriptVector5", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GENERIC_PARAM6, .accessor = "scriptVector6", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GENERIC_PARAM7, .accessor = "scriptVector7", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GENERIC_EYEOFFSET, .accessor = "genericEyeOffset", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_GENERIC_QUADINTENSITY, .accessor = "genericQuadIntensity", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM0, .accessor = "weaponParam0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM1, .accessor = "weaponParam1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM2, .accessor = "weaponParam2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM3, .accessor = "weaponParam3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM4, .accessor = "weaponParam4", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM5, .accessor = "weaponParam5", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM6, .accessor = "weaponParam6", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM7, .accessor = "weaponParam7", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM8, .accessor = "weaponParam8", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WEAPON_PARAM9, .accessor = "weaponParam9", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_0, .accessor = "qrcode0", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_1, .accessor = "qrcode1", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_2, .accessor = "qrcode2", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_3, .accessor = "qrcode3", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_4, .accessor = "qrcode4", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_5, .accessor = "qrcode5", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_6, .accessor = "qrcode6", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_7, .accessor = "qrcode7", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_8, .accessor = "qrcode8", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_9, .accessor = "qrcode9", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_10, .accessor = "qrcode10", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_QRCODE_11, .accessor = "qrcode11", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_EYEOFFSET, .accessor = "eyeOffset", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = CONST_SRC_CODE_SKY_COLOR_MULTIPLIER, .accessor = "skyColorMultiplier", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_EXTRA_CAM_PARAM, .accessor = "extraCamParam", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_EMBLEM_LUT_SELECTOR, .accessor = "emblemLUTSelector", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DEBUG_COLOR_OVERRIDE, .accessor = "debugColorOverride", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DEBUG_ALPHA_OVERRIDE, .accessor = "debugAlphaOverride", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DEBUG_NORMAL_OVERRIDE, .accessor = "debugNormalOverride", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DEBUG_SPECULAR_OVERRIDE, .accessor = "debugSpecularOverride", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DEBUG_GLOSS_OVERRIDE, .accessor = "debugGlossOverride", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_DEBUG_OCCLUSION_OVERRIDE, .accessor = "debugOcclusionOverride", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WORLD_MATRIX, .accessor = "worldMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_INVERSE_WORLD_MATRIX, .accessor = "inverseWorldMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_TRANSPOSE_WORLD_MATRIX, .accessor = "transposeWorldMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_MATRIX, .accessor = "inverseTransposeWorldMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_VIEW_MATRIX, .accessor = "viewMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_INVERSE_VIEW_MATRIX, .accessor = "inverseViewMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_TRANSPOSE_VIEW_MATRIX, .accessor = "transposeViewMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_VIEW_MATRIX, .accessor = "inverseTransposeViewMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_PROJECTION_MATRIX, .accessor = "projectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_INVERSE_PROJECTION_MATRIX, .accessor = "inverseProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_TRANSPOSE_PROJECTION_MATRIX, .accessor = "transposeProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_PROJECTION_MATRIX, .accessor = "inverseTransposeProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_WORLD_VIEW_MATRIX, .accessor = "worldViewMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_INVERSE_WORLD_VIEW_MATRIX, .accessor = "inverseWorldViewMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_MATRIX, .accessor = "transposeWorldViewMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_MATRIX, .accessor = "inverseTransposeWorldViewMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_VIEW_PROJECTION_MATRIX, .accessor = "viewProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_INVERSE_VIEW_PROJECTION_MATRIX, .accessor = "inverseViewProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_TRANSPOSE_VIEW_PROJECTION_MATRIX, .accessor = "transposeViewProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_VIEW_PROJECTION_MATRIX, .accessor = "inverseTransposeViewProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = CONST_SRC_CODE_WORLD_VIEW_PROJECTION_MATRIX, .accessor = "worldViewProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_INVERSE_WORLD_VIEW_PROJECTION_MATRIX, .accessor = "inverseWorldViewProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX, .accessor = "transposeWorldViewProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX, .accessor = "inverseTransposeWorldViewProjectionMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_SHADOW_LOOKUP_MATRIX, .accessor = "shadowLookupMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_INVERSE_SHADOW_LOOKUP_MATRIX, .accessor = "inverseShadowLookupMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_TRANSPOSE_SHADOW_LOOKUP_MATRIX, .accessor = "transposeShadowLookupMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_SHADOW_LOOKUP_MATRIX, .accessor = "inverseTransposeShadowLookupMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = CONST_SRC_CODE_WORLD_OUTDOOR_LOOKUP_MATRIX, .accessor = "worldOutdoorLookupMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_INVERSE_WORLD_OUTDOOR_LOOKUP_MATRIX, .accessor = "inverseWorldOutdoorLookupMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_TRANSPOSE_WORLD_OUTDOOR_LOOKUP_MATRIX, .accessor = "transposeWorldOutdoorLookupMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, { .value = CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_OUTDOOR_LOOKUP_MATRIX, .accessor = "inverseTransposeWorldOutdoorLookupMatrix", .arrayCount = 0, .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_PRIM, }, }; static inline techset::CommonCodeSamplerSourceInfo commonCodeSamplerSources[]{ { .value = TEXTURE_SRC_CODE_BLACK, .accessor = "black", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_WHITE, .accessor = "white", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_IDENTITY_NORMAL_MAP, .accessor = "identityNormalMap", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_MODEL_LIGHTING, .accessor = "modelLightingSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_LIGHTMAP_PRIMARY, .accessor = "lightmapSamplerPrimary", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = TEXTURE_SRC_CODE_LIGHTMAP_SECONDARY, .accessor = "lightmapSamplerSecondary", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = TEXTURE_SRC_CODE_SHADOWMAP_SUN, .accessor = "shadowmapSamplerSun", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_SHADOWMAP_SPOT, .accessor = "shadowmapSamplerSpot", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_FEEDBACK, .accessor = "feedbackSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = TEXTURE_SRC_CODE_RESOLVED_POST_SUN, .accessor = "resolvedPostSun", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_RESOLVED_SCENE, .accessor = "resolvedScene", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_POST_EFFECT_SRC, .accessor = "postEffectSrc", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_POST_EFFECT_GODRAYS, .accessor = "postEffectGodRays", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_POST_EFFECT_0, .accessor = "postEffect0", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_POST_EFFECT_1, .accessor = "postEffect1", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_LIGHT_ATTENUATION, .accessor = "attenuationSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_DLIGHT_ATTENUATION, .accessor = "dlightAttenuationSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_OUTDOOR, .accessor = "outdoor", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_FLOATZ, .accessor = "floatZSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_PROCESSED_FLOATZ, .accessor = "processedFloatZSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_RAW_FLOATZ, .accessor = "rawFloatZSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_STENCIL, .accessor = "stencilSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_CINEMATIC_Y, .accessor = "cinematicYSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = TEXTURE_SRC_CODE_CINEMATIC_CR, .accessor = "cinematicCrSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = TEXTURE_SRC_CODE_CINEMATIC_CB, .accessor = "cinematicCbSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = TEXTURE_SRC_CODE_CINEMATIC_A, .accessor = "cinematicASampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = TEXTURE_SRC_CODE_REFLECTION_PROBE, .accessor = "reflectionProbeSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::CUSTOM, }, { .value = TEXTURE_SRC_CODE_FEATHER_FLOAT_Z, .accessor = "featherFloatZSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_TEXTURE_0, .accessor = "codeTexture0", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_TEXTURE_1, .accessor = "codeTexture1", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_TEXTURE_2, .accessor = "codeTexture2", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_TEXTURE_3, .accessor = "codeTexture3", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_IMPACT_MASK_DEPRECATED, .accessor = "impactMaskSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_UI3D, .accessor = "ui3dSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_MISSILE_CAM, .accessor = "missileCamSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_MISSILE_CAM_0, .accessor = "missileCam0Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_MISSILE_CAM_1, .accessor = "missileCam1Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_MISSILE_CAM_2, .accessor = "missileCam2Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_MISSILE_CAM_3, .accessor = "missileCam3Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_COMPOSITE_RESULT, .accessor = "compositeResult", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::PER_OBJECT, }, { .value = TEXTURE_SRC_CODE_HEATMAP, .accessor = "heatmapSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_SONAR_COLOR, .accessor = "sonarColorSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_SONAR_DEPTH, .accessor = "sonarDepthSampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_0, .accessor = "qrcode0Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_1, .accessor = "qrcode1Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_2, .accessor = "qrcode2Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_3, .accessor = "qrcode3Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_4, .accessor = "qrcode4Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_5, .accessor = "qrcode5Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_6, .accessor = "qrcode6Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_7, .accessor = "qrcode7Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_8, .accessor = "qrcode8Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_9, .accessor = "qrcode9Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_10, .accessor = "qrcode10Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, { .value = TEXTURE_SRC_CODE_QRCODE_11, .accessor = "qrcode11Sampler", .updateFrequency = techset::CommonCodeSourceUpdateFrequency::RARELY, }, }; static inline techset::CommonCodeSourceInfos commonCodeSourceInfos(commonCodeConstSources, std::extent_v, commonCodeSamplerSources, std::extent_v); static inline MaterialTypeInfo g_materialTypeInfo[]{ {"", "" }, {"m/", "m_" }, {"mc/", "mc_" }, {"mlv/", "mlv_"}, {"wc/", "wc_" }, {"wpc/", "wpc_"}, {"wq/", "wq_" }, {"wqc/", "wqc_"}, }; static_assert(std::extent_v == MTL_TYPE_COUNT); } // namespace T6