@carbonenginejs/runtime 0.1.0-alpha.2 → 0.1.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +5 -4
- package/dist/audio/generated/audio/AudEventKey.js +2 -2
- package/dist/audio/generated/audio/AudEventKey.js.map +1 -1
- package/dist/audio/generated/audio/AudSettings.js +2 -2
- package/dist/audio/generated/audio/AudSettings.js.map +1 -1
- package/dist/audio/index.js +1 -1
- package/dist/audio/trinity/audio/AudEmitter.js +4 -5
- package/dist/audio/trinity/audio/AudEmitter.js.map +1 -1
- package/dist/audio/trinity/audio/AudEventCurve.js +14 -14
- package/dist/audio/trinity/audio/AudEventCurve.js.map +1 -1
- package/dist/audio/trinity/audio/AudGameObjResource.js +13 -25
- package/dist/audio/trinity/audio/AudGameObjResource.js.map +1 -1
- package/dist/audio/trinity/audio/AudManager.js +2 -2
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/AudParameter.js +7 -11
- package/dist/audio/trinity/audio/AudParameter.js.map +1 -1
- package/dist/audio/trinity/audio/AudUIPlayer.js +2 -2
- package/dist/audio/trinity/audio/AudUIPlayer.js.map +1 -1
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js +2 -2
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js.map +1 -1
- package/dist/audio/trinity/audio/StretchAudio.js +2 -2
- package/dist/audio/trinity/audio/StretchAudio.js.map +1 -1
- package/dist/audio/trinity/index.js +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js.map +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js.map +1 -1
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js +1 -37
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorKey.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarKey.js.map +1 -1
- package/dist/character/incarna/interior/Tr2InteriorCell.js +2 -2
- package/dist/character/incarna/interior/Tr2InteriorCell.js.map +1 -1
- package/dist/character/library/CjsCharacterLibrary.js +9 -16
- package/dist/character/library/CjsCharacterLibrary.js.map +1 -1
- package/dist/character/library/CjsCharacterLibraryDocuments.js +20 -4
- package/dist/character/library/CjsCharacterLibraryDocuments.js.map +1 -1
- package/dist/character/model/CjsCharacterRecord.js +2 -2
- package/dist/character/model/CjsCharacterRecord.js.map +1 -1
- package/dist/character/model/activity/CjsCharacterArchetype.js +2 -2
- package/dist/character/model/activity/CjsCharacterArchetype.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorLocation.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorName.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorName.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js.map +1 -1
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js +2 -2
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterColorValue.js +2 -2
- package/dist/character/model/catalog/CjsCharacterColorValue.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterDefinition.js +2 -2
- package/dist/character/model/catalog/CjsCharacterDefinition.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterModifierReference.js +2 -2
- package/dist/character/model/catalog/CjsCharacterModifierReference.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSource.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSource.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartType.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartType.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierLocation.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierLocation.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierSelection.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierSelection.js.map +1 -1
- package/dist/character/model/creation/CjsCharacterPaperdoll.js +2 -2
- package/dist/character/model/creation/CjsCharacterPaperdoll.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterAncestry.js +2 -2
- package/dist/character/model/demographics/CjsCharacterAncestry.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterBloodline.js +2 -2
- package/dist/character/model/demographics/CjsCharacterBloodline.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterRace.js +2 -2
- package/dist/character/model/demographics/CjsCharacterRace.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js +2 -2
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionInput.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionInput.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionPass.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionPass.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCoverage.js +2 -2
- package/dist/character/model/planning/CjsCharacterCoverage.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js +2 -2
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterOrigin.js +2 -2
- package/dist/character/model/planning/CjsCharacterOrigin.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterResolvedPart.js +2 -2
- package/dist/character/model/planning/CjsCharacterResolvedPart.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureAsset.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureAsset.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureChannel.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureChannel.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterPortraitResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterPortraitResource.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterResource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js +6 -5
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js +4 -5
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorScene.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorScene.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2Model.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2Model.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js +21 -10
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js +64 -57
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js.map +1 -1
- package/dist/character/trinity/wod/WodBakingScene.js +2 -2
- package/dist/character/trinity/wod/WodBakingScene.js.map +1 -1
- package/dist/core/CjsLibrary.js +32 -685
- package/dist/core/CjsLibrary.js.map +1 -1
- package/dist/core/index.js +1 -2
- package/dist/core/index.js.map +1 -1
- package/dist/global/blue/BeInfo.js +95 -0
- package/dist/global/blue/BeInfo.js.map +1 -0
- package/dist/global/blue/CcpDateTime.js +53 -0
- package/dist/global/blue/CcpDateTime.js.map +1 -0
- package/dist/global/blue/CcpTime.js +148 -0
- package/dist/global/blue/CcpTime.js.map +1 -0
- package/dist/global/blue/CjsBlueOS.js +301 -0
- package/dist/global/blue/CjsBlueOS.js.map +1 -0
- package/dist/global/blue/CjsBluePaths.js +97 -0
- package/dist/global/blue/CjsBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js +29 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -0
- package/dist/global/blue/IBlueEvents.js +34 -0
- package/dist/global/blue/IBlueEvents.js.map +1 -0
- package/dist/global/blue/IBlueOS.js +132 -0
- package/dist/global/blue/IBlueOS.js.map +1 -0
- package/dist/global/blue/IBluePaths.js +72 -0
- package/dist/global/blue/IBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueResMan.js +93 -0
- package/dist/global/blue/IBlueResMan.js.map +1 -0
- package/dist/global/blue/IBlueResManNotifications.js +51 -0
- package/dist/global/blue/IBlueResManNotifications.js.map +1 -0
- package/dist/global/blue/ICatchupTicks.js +25 -0
- package/dist/global/blue/ICatchupTicks.js.map +1 -0
- package/dist/global/blue/IInitialize.js +47 -0
- package/dist/global/blue/IInitialize.js.map +1 -0
- package/dist/global/blue/IListNotify.js +44 -0
- package/dist/global/blue/IListNotify.js.map +1 -0
- package/dist/global/blue/INotify.js +65 -0
- package/dist/global/blue/INotify.js.map +1 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js +28 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js.map +1 -0
- package/dist/global/blue/IVariableTicker.js +24 -0
- package/dist/global/blue/IVariableTicker.js.map +1 -0
- package/dist/global/blue/blue.js +61 -0
- package/dist/global/blue/blue.js.map +1 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js +173 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js.map +1 -0
- package/dist/global/blue/index.js +19 -0
- package/dist/global/blue/index.js.map +1 -1
- package/dist/global/blue/registerTrinityEnums.js +43 -0
- package/dist/global/blue/registerTrinityEnums.js.map +1 -0
- package/dist/global/compose/abstract.js +81 -0
- package/dist/global/compose/abstract.js.map +1 -0
- package/dist/global/compose/interface.js +131 -26
- package/dist/global/compose/interface.js.map +1 -1
- package/dist/global/compose/notify.js +10 -1
- package/dist/global/compose/notify.js.map +1 -1
- package/dist/global/compose/values.js +116 -53
- package/dist/global/compose/values.js.map +1 -1
- package/dist/global/consts/blue.js +73 -0
- package/dist/global/consts/blue.js.map +1 -0
- package/dist/global/consts/graphics/index.js +1 -1
- package/dist/global/consts/graphics/trinityEnums.js +19 -7
- package/dist/global/consts/graphics/trinityEnums.js.map +1 -1
- package/dist/global/consts/index.js +2 -1
- package/dist/global/consts/index.js.map +1 -1
- package/dist/global/consts/trinity.js.map +1 -1
- package/dist/global/contracts/ITr2BoundingBox.js +1 -34
- package/dist/global/contracts/ITr2BoundingBox.js.map +1 -1
- package/dist/global/contracts/ITr2RenderNode.js +1 -27
- package/dist/global/contracts/ITr2RenderNode.js.map +1 -1
- package/dist/global/contracts/index.js +2 -4
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +23 -5
- package/dist/global/index.js.map +1 -1
- package/dist/global/model/CjsModel.js +82 -99
- package/dist/global/model/CjsModel.js.map +1 -1
- package/dist/global/model/CjsModelState.js +0 -15
- package/dist/global/model/CjsModelState.js.map +1 -1
- package/dist/global/model/document/CjsDocumentHydrator.js +5 -1
- package/dist/global/model/document/CjsDocumentHydrator.js.map +1 -1
- package/dist/global/model/index.js +1 -1
- package/dist/global/schema/CjsSchema.js +275 -69
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/global/schema/hydration.js +10 -8
- package/dist/global/schema/hydration.js.map +1 -1
- package/dist/global/schema/index.js +4 -3
- package/dist/global/schema/index.js.map +1 -1
- package/dist/global/schema/types/carbonTypes.js +1 -1
- package/dist/global/schema/types/carbonTypes.js.map +1 -1
- package/dist/global/utils/bytes.js +2 -0
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/path.js +30 -1
- package/dist/global/utils/path.js.map +1 -1
- package/dist/index.js +59 -24
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +206 -43
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +4 -1
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/format/CjsBlueReader.js +8 -2
- package/dist/resource/format/CjsBlueReader.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +15 -16
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
- package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
- package/dist/resource/formats/black/core/blackSchema.js +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +51 -5
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/index.js +2 -0
- package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
- package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
- package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
- package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
- package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
- package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +666 -565
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +2 -2
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +61 -7
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +11 -0
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/shader/Tr2EffectRes.js +2 -3
- package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialArea.js +3 -3
- package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
- package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialRes.js +3 -3
- package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/SolidColorTextureConstructor.js +46 -0
- package/dist/resource/texture/SolidColorTextureConstructor.js.map +1 -0
- package/dist/resource/texture/Tr2ImageRes.js +3 -4
- package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/texture/TriTextureRes.js +65 -21
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- package/dist/resource/texture/index.js +2 -0
- package/dist/resource/texture/index.js.map +1 -1
- package/dist/resource/texture/solidColorTexture.js +111 -0
- package/dist/resource/texture/solidColorTexture.js.map +1 -0
- package/dist/resource/video/AudioMetadata.js +41 -0
- package/dist/resource/video/AudioMetadata.js.map +1 -0
- package/dist/resource/video/IAudioSink.js +51 -0
- package/dist/resource/video/IAudioSink.js.map +1 -0
- package/dist/resource/video/IEncodedFrame.js +52 -0
- package/dist/resource/video/IEncodedFrame.js.map +1 -0
- package/dist/resource/video/IVideoContainerParser.js +70 -0
- package/dist/resource/video/IVideoContainerParser.js.map +1 -0
- package/dist/resource/video/IVideoDecoder.js +36 -0
- package/dist/resource/video/IVideoDecoder.js.map +1 -0
- package/dist/resource/video/PcmFrame.js +33 -0
- package/dist/resource/video/PcmFrame.js.map +1 -0
- package/dist/resource/video/VideoFrame.js +45 -0
- package/dist/resource/video/VideoFrame.js.map +1 -0
- package/dist/resource/video/VideoMetadata.js +34 -0
- package/dist/resource/video/VideoMetadata.js.map +1 -0
- package/dist/resource/video/enums.js +30 -0
- package/dist/resource/video/enums.js.map +1 -0
- package/dist/sof/EveSOF.js +176 -176
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/EveSOFDNA.js +5 -1
- package/dist/sof/EveSOFDNA.js.map +1 -1
- package/dist/sof/EveSOFData.js +2 -2
- package/dist/sof/EveSOFData.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFaction.js +2 -2
- package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHull.js +56 -3
- package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
- package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
- package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
- package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullController.js +2 -2
- package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
- package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
- package/dist/sof/layout/EveSOFDataLayout.js +2 -2
- package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
- package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
- package/dist/sof/race/EveSOFDataRace.js +46 -42
- package/dist/sof/race/EveSOFDataRace.js.map +1 -1
- package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
- package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
- package/dist/sof/shared/CjsExternalRef.js +2 -2
- package/dist/sof/shared/CjsExternalRef.js.map +1 -1
- package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
- package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataArea.js +61 -3
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
- package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
- package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBooster.js +2 -2
- package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
- package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
- package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
- package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogo.js +2 -2
- package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
- package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -2
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTexture.js +2 -2
- package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTransform.js +2 -2
- package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
- package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
- package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +9 -0
- package/dist/sof/sofDocumentValues.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
- package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
- package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
- package/dist/trinity/controllers/Tr2Controller.js +4 -5
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
- package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
- package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/contracts.js +27 -19
- package/dist/trinity/controllers/contracts.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
- package/dist/trinity/controllers/index.js +6 -6
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
- package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
- package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Renderable.js +1 -49
- package/dist/trinity/core/ITr2Renderable.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +1 -22
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/ITriReroutable.js +56 -0
- package/dist/trinity/core/ITriReroutable.js.map +1 -0
- package/dist/trinity/core/Tr2Denoiser.js +2 -2
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
- package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
- package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +161 -4
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +3 -3
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
- package/dist/trinity/core/Tr2Transform.js +4 -5
- package/dist/trinity/core/Tr2Transform.js.map +1 -1
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
- package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
- package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
- package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
- package/dist/trinity/core/animation/TriTorque.js +2 -2
- package/dist/trinity/core/animation/TriTorque.js.map +1 -1
- package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
- package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
- package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
- package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
- package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
- package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
- package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
- package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
- package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
- package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
- package/dist/trinity/core/binding/TriValueBinding.js +50 -24
- package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
- package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
- package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
- package/dist/trinity/core/device/TriDevice.js +576 -37
- package/dist/trinity/core/device/TriDevice.js.map +1 -1
- package/dist/trinity/core/device/gTriDev.js +49 -0
- package/dist/trinity/core/device/gTriDev.js.map +1 -0
- package/dist/trinity/core/index.js +9 -5
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
- package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
- package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
- package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
- package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
- package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
- package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
- package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
- package/dist/trinity/core/line/TriLineSet.js +2 -2
- package/dist/trinity/core/line/TriLineSet.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
- package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
- package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
- package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
- package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
- package/dist/trinity/core/procedural/gradientTexture.js +196 -0
- package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinity/core/variable/TriFloat.js +2 -2
- package/dist/trinity/core/variable/TriFloat.js.map +1 -1
- package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
- package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
- package/dist/trinity/core/variable/TriVariable.js +2 -2
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
- package/dist/trinity/core/view/TriProjection.js +2 -2
- package/dist/trinity/core/view/TriProjection.js.map +1 -1
- package/dist/trinity/core/view/TriRect.js +2 -2
- package/dist/trinity/core/view/TriRect.js.map +1 -1
- package/dist/trinity/core/view/TriView.js +2 -2
- package/dist/trinity/core/view/TriView.js.map +1 -1
- package/dist/trinity/core/view/TriViewport.js +2 -2
- package/dist/trinity/core/view/TriViewport.js.map +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
- package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/trinity/curves/TriCurveSet.js +2 -2
- package/dist/trinity/curves/TriCurveSet.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
- package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
- package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
- package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
- package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
- package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
- package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
- package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
- package/dist/trinity/curves/key/TriEventKey.js +2 -2
- package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
- package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/trinity/eve/AudioGameObject.js +6 -8
- package/dist/trinity/eve/AudioGameObject.js.map +1 -1
- package/dist/trinity/eve/EveCustomMask.js +2 -2
- package/dist/trinity/eve/EveCustomMask.js.map +1 -1
- package/dist/trinity/eve/EveDistanceField.js +6 -4
- package/dist/trinity/eve/EveDistanceField.js.map +1 -1
- package/dist/trinity/eve/EveImpactOverlay.js +2 -2
- package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
- package/dist/trinity/eve/EveThrottleable.js +2 -2
- package/dist/trinity/eve/EveThrottleable.js.map +1 -1
- package/dist/trinity/eve/EveTriggerVolume.js +4 -5
- package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +1 -22
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +169 -155
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +5 -11
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildAudio.js +4 -5
- package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
- package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud.js +5 -6
- package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +235 -169
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
- package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
- package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
- package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
- package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
- package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
- package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLink.js +2 -2
- package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
- package/dist/trinity/eve/child/EveChildMesh.js +315 -229
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
- package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPlug.js +60 -14
- package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildQuad.js +4 -5
- package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
- package/dist/trinity/eve/child/EveChildRef.js +2 -2
- package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSocket.js +2 -2
- package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
- package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +4 -4
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
- package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
- package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
- package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
- package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
- package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
- package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
- package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
- package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
- package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
- package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
- package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
- package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
- package/dist/trinity/eve/index.js +4 -4
- package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
- package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +37 -9
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocator2.js +2 -2
- package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocatorSets.js +13 -4
- package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
- package/dist/trinity/eve/locator/Locator.js +2 -2
- package/dist/trinity/eve/locator/Locator.js.map +1 -1
- package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
- package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
- package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
- package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +539 -432
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
- package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js +44 -52
- package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
- package/dist/trinity/eve/ui/EveConnector.js +2 -2
- package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
- package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
- package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
- package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
- package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
- package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
- package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/EveUiObject.js +2 -2
- package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
- package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
- package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
- package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
- package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
- package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
- package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
- package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
- package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
- package/dist/trinity/index.js +23 -16
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
- package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/trinity/particle/index.js +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
- package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
- package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
- package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
- package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/trinity/renderJob/TriRenderJob.js +4 -4
- package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
- package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
- package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
- package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
- package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
- package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +370 -347
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +5 -5
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
- package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinity/shader/index.js +3 -0
- package/dist/trinity/shader/index.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
- package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
- package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
- package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
- package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
- package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
- package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVector4.js +2 -2
- package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
- package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
- package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/docs/core/README.md +38 -38
- package/docs/core/architecture.md +6 -5
- package/docs/core/reference/api.md +0 -10
- package/docs/core/reference/classes/README.md +57 -67
- package/docs/global/architecture.md +1 -3
- package/docs/global/blue-enums.md +115 -0
- package/docs/global/concepts/model-lifecycle.md +177 -182
- package/docs/global/core-types/README.md +394 -317
- package/docs/global/reference/api.md +2 -2
- package/docs/global/reference/classes/README.md +355 -205
- package/docs/global/reference/classes/dropped.md +40 -0
- package/docs/resource/architecture.md +152 -112
- package/docs/resource/concepts/resource-lifecycle.md +21 -15
- package/docs/resource/formats/geometry-interchange.md +50 -0
- package/docs/resource/formats/pickle.md +126 -100
- package/docs/resource/formats/provenance.md +15 -9
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
- package/docs/resource/formats/webgl/decl-io.md +241 -397
- package/docs/resource/formats/webgl/memory-structured.md +91 -128
- package/docs/resource/formats/webgl/texture-sample.md +306 -469
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
- package/docs/resource/reference/classes/README.md +3 -1
- package/docs/resource/reference/classes/dropped.md +21 -1
- package/docs/resource/reference/classes/formats.md +33 -0
- package/docs/resource/reference/classes/texture.md +11 -1
- package/docs/resource/reference/classes/video.md +92 -0
- package/docs/resource/reference/events.md +10 -9
- package/docs/resource/reference/motherlode-cache.md +24 -11
- package/docs/resource/reference/queues.md +30 -1
- package/docs/trinity/README.md +5 -5
- package/docs/trinity/architecture.md +355 -344
- package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
- package/docs/trinity/reference/api.md +19 -7
- package/docs/trinity/reference/classes/dropped.md +2 -11
- package/docs/trinity/reference/classes/eve-runtime.md +1 -1
- package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
- package/docs/trinity/reference/implementation-status.md +92 -92
- package/package.json +2 -1
- package/dist/core/CjsFrameDriver.js +0 -109
- package/dist/core/CjsFrameDriver.js.map +0 -1
- package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
- package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
- package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
- package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
|
@@ -2,27 +2,26 @@ import { CjsDxbcFormat } from '../../../dxbc/CjsDxbcFormat.js';
|
|
|
2
2
|
import { WebglReadError } from '../errors.js';
|
|
3
3
|
import { DxbcGlslOperandFormatter } from './DxbcGlslOperandFormatter.js';
|
|
4
4
|
import { DxbcGlslHelperRegistry } from './DxbcGlslHelpers.js';
|
|
5
|
-
import { DETAIL_MAP_ARRAY_NAME } from '../../../hlsl/core/detailMapFamily.js';
|
|
6
5
|
|
|
7
6
|
const COMPONENTS = ["x", "y", "z", "w"];
|
|
8
7
|
|
|
9
|
-
/**
|
|
10
|
-
* Map-style compute lowering caps simultaneous UAV writes to this many
|
|
11
|
-
* fragment color outputs. WebGL2 only guarantees `MAX_DRAW_BUFFERS >= 4`
|
|
12
|
-
* (real implementations commonly expose up to 8); a compute kernel that
|
|
13
|
-
* writes more UAVs than fit in one draw call's attachment set (e.g. a
|
|
14
|
-
* hierarchical mip-chain "Pack" pass writing 16 mip levels per dispatch)
|
|
15
|
-
* cannot become a single map-style fragment pass at all.
|
|
8
|
+
/**
|
|
9
|
+
* Map-style compute lowering caps simultaneous UAV writes to this many
|
|
10
|
+
* fragment color outputs. WebGL2 only guarantees `MAX_DRAW_BUFFERS >= 4`
|
|
11
|
+
* (real implementations commonly expose up to 8); a compute kernel that
|
|
12
|
+
* writes more UAVs than fit in one draw call's attachment set (e.g. a
|
|
13
|
+
* hierarchical mip-chain "Pack" pass writing 16 mip levels per dispatch)
|
|
14
|
+
* cannot become a single map-style fragment pass at all.
|
|
16
15
|
*/
|
|
17
16
|
const MAX_MAP_STYLE_UAV_OUTPUTS = 8;
|
|
18
17
|
|
|
19
|
-
/**
|
|
20
|
-
* GLSL sampler type per DXBC resource-dimension id (float return types; the
|
|
21
|
-
* stripped-RDEF corpus reflects everything as float).
|
|
18
|
+
/**
|
|
19
|
+
* GLSL sampler type per DXBC resource-dimension id (float return types; the
|
|
20
|
+
* stripped-RDEF corpus reflects everything as float).
|
|
22
21
|
*/
|
|
23
|
-
/**
|
|
24
|
-
* DXBC resource dimension for a cube map. Emulated addressing refuses it: a
|
|
25
|
-
* cube coordinate is a direction, so a [0,1] range test is meaningless there.
|
|
22
|
+
/**
|
|
23
|
+
* DXBC resource dimension for a cube map. Emulated addressing refuses it: a
|
|
24
|
+
* cube coordinate is a direction, so a [0,1] range test is meaningless there.
|
|
26
25
|
*/
|
|
27
26
|
const CUBE_DIMENSION = 6;
|
|
28
27
|
const SAMPLER_TYPE_BY_DIMENSION = {
|
|
@@ -33,11 +32,11 @@ const SAMPLER_TYPE_BY_DIMENSION = {
|
|
|
33
32
|
8: "sampler2DArray"
|
|
34
33
|
};
|
|
35
34
|
|
|
36
|
-
/**
|
|
37
|
-
* Shadow-sampler type per WebGL2-supported DXBC resource dimension.
|
|
38
|
-
* Comparison sampling changes both the call signature and the uniform type;
|
|
39
|
-
* keeping this separate from the ordinary sampler table guarantees shaders
|
|
40
|
-
* without comparison opcodes retain their existing declarations verbatim.
|
|
35
|
+
/**
|
|
36
|
+
* Shadow-sampler type per WebGL2-supported DXBC resource dimension.
|
|
37
|
+
* Comparison sampling changes both the call signature and the uniform type;
|
|
38
|
+
* keeping this separate from the ordinary sampler table guarantees shaders
|
|
39
|
+
* without comparison opcodes retain their existing declarations verbatim.
|
|
41
40
|
*/
|
|
42
41
|
const SHADOW_SAMPLER_TYPE_BY_DIMENSION = {
|
|
43
42
|
3: "sampler2DShadow",
|
|
@@ -47,19 +46,19 @@ const SHADOW_SAMPLER_TYPE_BY_DIMENSION = {
|
|
|
47
46
|
const COMPARISON_SAMPLE_OPCODES = new Set(["sample_c", "sample_c_lz"]);
|
|
48
47
|
const NON_COMPARISON_TEXTURE_OPCODES = new Set(["sample", "sample_l", "sample_b", "sample_d", "gather4", "gather4_po", "ld", "ld_ms", "lod"]);
|
|
49
48
|
|
|
50
|
-
/**
|
|
51
|
-
* Filtered-sample coordinate mask per resource dimension
|
|
52
|
-
* (HLSLcc `TranslateTexCoord`, toGLSLInstruction.cpp:985-1031).
|
|
49
|
+
/**
|
|
50
|
+
* Filtered-sample coordinate mask per resource dimension
|
|
51
|
+
* (HLSLcc `TranslateTexCoord`, toGLSLInstruction.cpp:985-1031).
|
|
53
52
|
*/
|
|
54
|
-
/**
|
|
55
|
-
* GLSL symbol for the merged detail-map array.
|
|
56
|
-
*
|
|
57
|
-
* Derived, not spelled out. The family owns the name and it has been renamed
|
|
58
|
-
* once already (`DetailMapArray` -> `DetailArrayMap`); a second literal is a
|
|
59
|
-
* second place for the next rename to miss, which is exactly what the writer's
|
|
60
|
-
* `outputName` comment warns about. Only the GLSL sampler prefix is local.
|
|
53
|
+
/**
|
|
54
|
+
* GLSL symbol for the merged detail-map array.
|
|
55
|
+
*
|
|
56
|
+
* Derived, not spelled out. The family owns the name and it has been renamed
|
|
57
|
+
* once already (`DetailMapArray` -> `DetailArrayMap`); a second literal is a
|
|
58
|
+
* second place for the next rename to miss, which is exactly what the writer's
|
|
59
|
+
* `outputName` comment warns about. Only the GLSL sampler prefix is local.
|
|
61
60
|
*/
|
|
62
|
-
|
|
61
|
+
|
|
63
62
|
const COORD_MASK_BY_DIMENSION = {
|
|
64
63
|
2: "x",
|
|
65
64
|
3: "xy",
|
|
@@ -70,32 +69,32 @@ const COORD_MASK_BY_DIMENSION = {
|
|
|
70
69
|
10: "xyzw"
|
|
71
70
|
};
|
|
72
71
|
|
|
73
|
-
/**
|
|
74
|
-
* DXBC -> GLSL ES 3.00 emitter for vertex and pixel stages.
|
|
75
|
-
*
|
|
76
|
-
* Implements the lowering rules in `docs/dxbc-lowering/*.md`, which pin every
|
|
77
|
-
* template to HLSLcc's `toGLSLInstruction.cpp`/`toGLSLDeclaration.cpp`.
|
|
78
|
-
* Registers are stored as float vec4s with bitcasts at use sites, comparison
|
|
79
|
-
* results are 0xFFFFFFFF/0 masks (never bools), and register-stable symbols
|
|
80
|
-
* (`cb#.data[]`, `t#`, `in_SEMANTIC#`, `vs_SEMANTIC#`) form the ABI surface.
|
|
81
|
-
*
|
|
82
|
-
* Emitter-wide policy: Adreno-3xx driver hygiene from HLSLcc (per-component
|
|
83
|
-
* bitwise splits, `op_not`, `uint(0)` literals, `uvecN()` ctor wraps) is NOT
|
|
84
|
-
* ported; the target is ANGLE-backed WebGL2 and the plain spec-legal forms
|
|
85
|
-
* are emitted instead.
|
|
72
|
+
/**
|
|
73
|
+
* DXBC -> GLSL ES 3.00 emitter for vertex and pixel stages.
|
|
74
|
+
*
|
|
75
|
+
* Implements the lowering rules in `docs/dxbc-lowering/*.md`, which pin every
|
|
76
|
+
* template to HLSLcc's `toGLSLInstruction.cpp`/`toGLSLDeclaration.cpp`.
|
|
77
|
+
* Registers are stored as float vec4s with bitcasts at use sites, comparison
|
|
78
|
+
* results are 0xFFFFFFFF/0 masks (never bools), and register-stable symbols
|
|
79
|
+
* (`cb#.data[]`, `t#`, `in_SEMANTIC#`, `vs_SEMANTIC#`) form the ABI surface.
|
|
80
|
+
*
|
|
81
|
+
* Emitter-wide policy: Adreno-3xx driver hygiene from HLSLcc (per-component
|
|
82
|
+
* bitwise splits, `op_not`, `uint(0)` literals, `uvecN()` ctor wraps) is NOT
|
|
83
|
+
* ported; the target is ANGLE-backed WebGL2 and the plain spec-legal forms
|
|
84
|
+
* are emitted instead.
|
|
86
85
|
*/
|
|
87
86
|
class DxbcGlslEmitter {
|
|
88
|
-
/**
|
|
89
|
-
* @param {object} [options] Emitter options.
|
|
90
|
-
* @param {object} [options.profile] Target-runtime profile overrides.
|
|
91
|
-
* @param {"array"|"std140"} [options.profile.constantBufferStyle] `uniform vec4 cbN[]`
|
|
92
|
-
* arrays for ccpwgl's uniform4fv path, or std140 blocks.
|
|
93
|
-
* @param {Object.<number,number>} [options.profile.pixelConstantBufferRemap] Pixel-stage
|
|
94
|
-
* cb slot renames (ccpwgl keeps PS effect constants at cb7).
|
|
95
|
-
* @param {function(number,string):string} [options.profile.samplerName] Texture uniform
|
|
96
|
-
* naming per register and stage.
|
|
97
|
-
* @param {number} [options.profile.vertexStructuredCapacity] Element capacity for
|
|
98
|
-
* vertex-stage structured-buffer UBOs (bones; Carbon max is 69 joints).
|
|
87
|
+
/**
|
|
88
|
+
* @param {object} [options] Emitter options.
|
|
89
|
+
* @param {object} [options.profile] Target-runtime profile overrides.
|
|
90
|
+
* @param {"array"|"std140"} [options.profile.constantBufferStyle] `uniform vec4 cbN[]`
|
|
91
|
+
* arrays for ccpwgl's uniform4fv path, or std140 blocks.
|
|
92
|
+
* @param {Object.<number,number>} [options.profile.pixelConstantBufferRemap] Pixel-stage
|
|
93
|
+
* cb slot renames (ccpwgl keeps PS effect constants at cb7).
|
|
94
|
+
* @param {function(number,string):string} [options.profile.samplerName] Texture uniform
|
|
95
|
+
* naming per register and stage.
|
|
96
|
+
* @param {number} [options.profile.vertexStructuredCapacity] Element capacity for
|
|
97
|
+
* vertex-stage structured-buffer UBOs (bones; Carbon max is 69 joints).
|
|
99
98
|
*/
|
|
100
99
|
constructor(options = {}) {
|
|
101
100
|
this.helpers = new DxbcGlslHelperRegistry();
|
|
@@ -134,6 +133,11 @@ class DxbcGlslEmitter {
|
|
|
134
133
|
// into one array binding frees two texture units on shaders that
|
|
135
134
|
// sit exactly on WebGL2's 16-unit limit.
|
|
136
135
|
detailMapArrayRegisters: [],
|
|
136
|
+
// Every family to merge, as { family, outputName, registers } in
|
|
137
|
+
// layer order. The key above is the detail family's older spelling
|
|
138
|
+
// and is still honoured; this one carries the rest - Frontier's
|
|
139
|
+
// roughness, atlas and dirt families among them.
|
|
140
|
+
textureArrayFamilies: [],
|
|
137
141
|
// Which end of the source clip range is NEAR, and therefore which
|
|
138
142
|
// form the depth-range fixup takes.
|
|
139
143
|
//
|
|
@@ -197,11 +201,11 @@ class DxbcGlslEmitter {
|
|
|
197
201
|
}
|
|
198
202
|
}
|
|
199
203
|
|
|
200
|
-
/**
|
|
201
|
-
* Registers the GLSL helper functions this emitter's lowerings can require.
|
|
202
|
-
* GLSL ES 3.00 has no `bitfieldExtract`/`bitfieldInsert`/`bitCount`/
|
|
203
|
-
* `textureGather` (all ES 3.10+), so `ibfe`/`ubfe`/`bfi`/`countbits`/
|
|
204
|
-
* `gather4` lower to these hand-written equivalents instead.
|
|
204
|
+
/**
|
|
205
|
+
* Registers the GLSL helper functions this emitter's lowerings can require.
|
|
206
|
+
* GLSL ES 3.00 has no `bitfieldExtract`/`bitfieldInsert`/`bitCount`/
|
|
207
|
+
* `textureGather` (all ES 3.10+), so `ibfe`/`ubfe`/`bfi`/`countbits`/
|
|
208
|
+
* `gather4` lower to these hand-written equivalents instead.
|
|
205
209
|
*/
|
|
206
210
|
_defineHelpers() {
|
|
207
211
|
// Texture address modes WebGL2 cannot express, emulated in the shader.
|
|
@@ -287,16 +291,16 @@ class DxbcGlslEmitter {
|
|
|
287
291
|
});
|
|
288
292
|
}
|
|
289
293
|
|
|
290
|
-
/**
|
|
291
|
-
* Translates one DXBC stage into GLSL ES 3.00 source.
|
|
292
|
-
*
|
|
293
|
-
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes DXBC container bytes.
|
|
294
|
-
* @param {object} [options] Emit options.
|
|
295
|
-
* @param {string} [options.source] Source name used in error details.
|
|
296
|
-
* @returns {{source:string,stageName:string,inputs:object[],outputs:object[],bindings:object[],warnings:string[],computeFragment:(object|undefined)}}
|
|
297
|
-
* GLSL text plus the IO contract the packaging layer records; compute
|
|
298
|
-
* stages add a `computeFragment` host contract (thread group,
|
|
299
|
-
* dispatch-origin uniform, per-output UAV slice routing).
|
|
294
|
+
/**
|
|
295
|
+
* Translates one DXBC stage into GLSL ES 3.00 source.
|
|
296
|
+
*
|
|
297
|
+
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} bytes DXBC container bytes.
|
|
298
|
+
* @param {object} [options] Emit options.
|
|
299
|
+
* @param {string} [options.source] Source name used in error details.
|
|
300
|
+
* @returns {{source:string,stageName:string,inputs:object[],outputs:object[],bindings:object[],warnings:string[],computeFragment:(object|undefined)}}
|
|
301
|
+
* GLSL text plus the IO contract the packaging layer records; compute
|
|
302
|
+
* stages add a `computeFragment` host contract (thread group,
|
|
303
|
+
* dispatch-origin uniform, per-output UAV slice routing).
|
|
300
304
|
*/
|
|
301
305
|
Emit(bytes, options = {}) {
|
|
302
306
|
const sourceName = options.source || "memory";
|
|
@@ -354,8 +358,10 @@ class DxbcGlslEmitter {
|
|
|
354
358
|
neutralResources: new Set(this.profile.neutralResourceRegisters || []),
|
|
355
359
|
// Resource register -> array layer for the merged detail maps, and
|
|
356
360
|
// whether the one shared array declaration has been emitted yet.
|
|
357
|
-
|
|
358
|
-
|
|
361
|
+
// Resource register -> the array it was merged into and its layer
|
|
362
|
+
// within it, and which array declarations have been emitted.
|
|
363
|
+
textureArrayLayers: this._textureArrayLayerMap(),
|
|
364
|
+
declaredTextureArrays: new Set(),
|
|
359
365
|
inputMasks: new Map(),
|
|
360
366
|
outputMasks: new Map(),
|
|
361
367
|
bindings: [],
|
|
@@ -403,7 +409,13 @@ class DxbcGlslEmitter {
|
|
|
403
409
|
// them in float storage: a vertex-id corner index `r0.x = uintBitsToFloat(id & 3u)`
|
|
404
410
|
// reads back 0 for ids 1..3, collapsing every quad (plane sets, the sprite
|
|
405
411
|
// pool). Packed-light shaders need the same companions for their words.
|
|
406
|
-
|
|
412
|
+
//
|
|
413
|
+
// Integer vertex inputs arrive as float VALUES (see _declareVertexInput);
|
|
414
|
+
// a move into a temporary must value-convert into the companion, or a later
|
|
415
|
+
// `floatBitsToInt(r#)` reads the bits of 3.0 instead of 3 (the haze-set box
|
|
416
|
+
// corner index, TEXCOORD7).
|
|
417
|
+
const integerVertexInputRegisters = new Set(program.programTypeName !== "vertex" ? [] : (raw.inputSignature?.elements || []).filter(element => element.componentTypeName === "uint32" || element.componentTypeName === "int32").map(element => element.registerIndex));
|
|
418
|
+
state.integerTemps = !!state.lightPackedTexture || state.decoder.instructions.some(instruction => (instruction.opcodeName === "dcl_input_sgv" || instruction.opcodeName === "dcl_input_ps_sgv") && (instruction.declaration?.systemValueName === "vertex_id" || instruction.declaration?.systemValueName === "instance_id") || (instruction.opcodeName === "mov" || instruction.opcodeName === "movc") && instruction.operands[0]?.type === 0 && instruction.operands.slice(1).some(operand => operand.type === 1 && integerVertexInputRegisters.has(operand.registerIndex)));
|
|
407
419
|
state.formatter = new DxbcGlslOperandFormatter({
|
|
408
420
|
// Populated during vertex-input declaration (the declaration loop
|
|
409
421
|
// runs before any body emission, so the map is complete before the
|
|
@@ -494,10 +506,10 @@ class DxbcGlslEmitter {
|
|
|
494
506
|
return result;
|
|
495
507
|
}
|
|
496
508
|
|
|
497
|
-
/**
|
|
498
|
-
* Normalizes the optional local-light constant-buffer lowering profile.
|
|
499
|
-
*
|
|
500
|
-
* @returns {object|null} Normalized profile, or null when disabled.
|
|
509
|
+
/**
|
|
510
|
+
* Normalizes the optional local-light constant-buffer lowering profile.
|
|
511
|
+
*
|
|
512
|
+
* @returns {object|null} Normalized profile, or null when disabled.
|
|
501
513
|
*/
|
|
502
514
|
_normalizeLightConstantBufferProfile() {
|
|
503
515
|
const profile = this.profile.lightConstantBuffer;
|
|
@@ -516,27 +528,27 @@ class DxbcGlslEmitter {
|
|
|
516
528
|
};
|
|
517
529
|
}
|
|
518
530
|
|
|
519
|
-
/**
|
|
520
|
-
* Finds resources used by comparison-sample instructions before resource
|
|
521
|
-
* declarations are emitted, so those declarations can use shadow sampler
|
|
522
|
-
* types. A single GLSL uniform cannot be both a shadow and ordinary sampler;
|
|
523
|
-
* reject that shape explicitly instead of producing invalid GLSL.
|
|
524
|
-
*
|
|
525
|
-
* The same walk records the t#/s# pairing for EVERY sampled resource, not
|
|
526
|
-
* only the comparison ones. D3D carries sampler state on a shared sampler
|
|
527
|
-
* object and pairs it with a texture at the sample site; GLSL merges the two
|
|
528
|
-
* into one uniform, so that pairing is the only place the pairing exists once
|
|
529
|
-
* the shader is translated. Dropping it forces a consumer to guess, and the
|
|
530
|
-
* available guess - "the sampler whose register equals the texture's" - is
|
|
531
|
-
* numeric coincidence: with two pattern samplers declared, `NormalMap` at t3
|
|
532
|
-
* collides with the clamp sampler at s3 and every hull's normal map is read
|
|
533
|
-
* clamped instead of wrapped.
|
|
534
|
-
*
|
|
535
|
-
* @param {object} decoder Decoded DXBC instruction stream.
|
|
536
|
-
* @param {string} sourceName Source name used in error details.
|
|
537
|
-
* @returns {{comparison:Map<number,Set<number>>,paired:Map<number,Set<number>>}}
|
|
538
|
-
* Resource register -> sampler registers, for comparison sampling and for
|
|
539
|
-
* all sampling respectively.
|
|
531
|
+
/**
|
|
532
|
+
* Finds resources used by comparison-sample instructions before resource
|
|
533
|
+
* declarations are emitted, so those declarations can use shadow sampler
|
|
534
|
+
* types. A single GLSL uniform cannot be both a shadow and ordinary sampler;
|
|
535
|
+
* reject that shape explicitly instead of producing invalid GLSL.
|
|
536
|
+
*
|
|
537
|
+
* The same walk records the t#/s# pairing for EVERY sampled resource, not
|
|
538
|
+
* only the comparison ones. D3D carries sampler state on a shared sampler
|
|
539
|
+
* object and pairs it with a texture at the sample site; GLSL merges the two
|
|
540
|
+
* into one uniform, so that pairing is the only place the pairing exists once
|
|
541
|
+
* the shader is translated. Dropping it forces a consumer to guess, and the
|
|
542
|
+
* available guess - "the sampler whose register equals the texture's" - is
|
|
543
|
+
* numeric coincidence: with two pattern samplers declared, `NormalMap` at t3
|
|
544
|
+
* collides with the clamp sampler at s3 and every hull's normal map is read
|
|
545
|
+
* clamped instead of wrapped.
|
|
546
|
+
*
|
|
547
|
+
* @param {object} decoder Decoded DXBC instruction stream.
|
|
548
|
+
* @param {string} sourceName Source name used in error details.
|
|
549
|
+
* @returns {{comparison:Map<number,Set<number>>,paired:Map<number,Set<number>>}}
|
|
550
|
+
* Resource register -> sampler registers, for comparison sampling and for
|
|
551
|
+
* all sampling respectively.
|
|
540
552
|
*/
|
|
541
553
|
_analyzeComparisonResources(decoder, sourceName) {
|
|
542
554
|
const comparisonResources = new Map();
|
|
@@ -578,27 +590,27 @@ class DxbcGlslEmitter {
|
|
|
578
590
|
};
|
|
579
591
|
}
|
|
580
592
|
|
|
581
|
-
/**
|
|
582
|
-
* Normalizes the emulated-addressing profile.
|
|
583
|
-
*
|
|
584
|
-
* Keyed by RESOURCE register, not sampler register, because that is what
|
|
585
|
-
* every layer we touch keys on: GL stores wrap state on the texture object,
|
|
586
|
-
* ccpwgl keys overrides by texture name, and the emitted GLSL declares one
|
|
587
|
-
* sampler uniform per resource. Only D3D treats the mode as a property of a
|
|
588
|
-
* shared sampler - in `decalv5` five textures share one bordered sampler and
|
|
589
|
-
* each can resolve to a different mode, which a sampler-keyed scheme cannot
|
|
590
|
-
* represent.
|
|
591
|
-
*
|
|
592
|
-
* It arrives as a profile option because it CANNOT be discovered here: DXBC
|
|
593
|
-
* carries no sampler state, which lives in the Carbon container wrapping it.
|
|
594
|
-
* The caller also chooses the SUPERSET - listing a texture whose container
|
|
595
|
-
* mode needs no emulation is deliberate and cheap, because the runtime mode
|
|
596
|
-
* decides, and it is what lets an override correct a container that is wrong.
|
|
597
|
-
*
|
|
598
|
-
* Shape: `{ bufferRegister, textures: [{ registerIndex, borderColor }] }`.
|
|
599
|
-
*
|
|
600
|
-
* @returns {{bufferRegister:number, textures:Map<number,{color:number[]}>}|null}
|
|
601
|
-
* Null when disabled.
|
|
593
|
+
/**
|
|
594
|
+
* Normalizes the emulated-addressing profile.
|
|
595
|
+
*
|
|
596
|
+
* Keyed by RESOURCE register, not sampler register, because that is what
|
|
597
|
+
* every layer we touch keys on: GL stores wrap state on the texture object,
|
|
598
|
+
* ccpwgl keys overrides by texture name, and the emitted GLSL declares one
|
|
599
|
+
* sampler uniform per resource. Only D3D treats the mode as a property of a
|
|
600
|
+
* shared sampler - in `decalv5` five textures share one bordered sampler and
|
|
601
|
+
* each can resolve to a different mode, which a sampler-keyed scheme cannot
|
|
602
|
+
* represent.
|
|
603
|
+
*
|
|
604
|
+
* It arrives as a profile option because it CANNOT be discovered here: DXBC
|
|
605
|
+
* carries no sampler state, which lives in the Carbon container wrapping it.
|
|
606
|
+
* The caller also chooses the SUPERSET - listing a texture whose container
|
|
607
|
+
* mode needs no emulation is deliberate and cheap, because the runtime mode
|
|
608
|
+
* decides, and it is what lets an override correct a container that is wrong.
|
|
609
|
+
*
|
|
610
|
+
* Shape: `{ bufferRegister, textures: [{ registerIndex, borderColor }] }`.
|
|
611
|
+
*
|
|
612
|
+
* @returns {{bufferRegister:number, textures:Map<number,{color:number[]}>}|null}
|
|
613
|
+
* Null when disabled.
|
|
602
614
|
*/
|
|
603
615
|
_normalizeEmulatedAddressingProfile() {
|
|
604
616
|
const value = this.profile.emulatedAddressing;
|
|
@@ -673,19 +685,19 @@ class DxbcGlslEmitter {
|
|
|
673
685
|
};
|
|
674
686
|
}
|
|
675
687
|
|
|
676
|
-
/**
|
|
677
|
-
* Applies emulated address modes to one sample.
|
|
678
|
-
*
|
|
679
|
-
* Emits nothing for a texture the caller did not list, so a shader with no
|
|
680
|
-
* emulated addressing is byte-identical to one emitted without the profile.
|
|
681
|
-
*
|
|
682
|
-
* @param {object} state Emit state.
|
|
683
|
-
* @param {object} instruction Decoded texture instruction.
|
|
684
|
-
* @param {string} call The GLSL sample expression built so far.
|
|
685
|
-
* @param {string} coord The coordinate expression passed to that sample.
|
|
686
|
-
* @param {string} coordMask Component mask of the coordinate.
|
|
687
|
-
* @returns {string} The sample expression, addressed when the caller listed it.
|
|
688
|
-
* @private
|
|
688
|
+
/**
|
|
689
|
+
* Applies emulated address modes to one sample.
|
|
690
|
+
*
|
|
691
|
+
* Emits nothing for a texture the caller did not list, so a shader with no
|
|
692
|
+
* emulated addressing is byte-identical to one emitted without the profile.
|
|
693
|
+
*
|
|
694
|
+
* @param {object} state Emit state.
|
|
695
|
+
* @param {object} instruction Decoded texture instruction.
|
|
696
|
+
* @param {string} call The GLSL sample expression built so far.
|
|
697
|
+
* @param {string} coord The coordinate expression passed to that sample.
|
|
698
|
+
* @param {string} coordMask Component mask of the coordinate.
|
|
699
|
+
* @returns {string} The sample expression, addressed when the caller listed it.
|
|
700
|
+
* @private
|
|
689
701
|
*/
|
|
690
702
|
_applyEmulatedAddressing(state, instruction, call, coord, coordMask) {
|
|
691
703
|
const profile = state.emulatedAddressing;
|
|
@@ -748,18 +760,18 @@ class DxbcGlslEmitter {
|
|
|
748
760
|
return `${borderHelper}(${rewritten}, ${addressedCoord}, ${modes}, vec4(${color}))`;
|
|
749
761
|
}
|
|
750
762
|
|
|
751
|
-
/**
|
|
752
|
-
* Declares the emulated-addressing constant buffer, once per shader.
|
|
753
|
-
*
|
|
754
|
-
* Sized to the highest listed resource register so the array stays compact,
|
|
755
|
-
* the way Carbon emitters declare compact `cb` arrays. The register is
|
|
756
|
-
* caller-chosen and defaults to 8: shipped effects declare only cb0-4, 6 and
|
|
757
|
-
* 7, and ccpwgl already resolves `cb0`..`cb15` by name, so 8 needs no new
|
|
758
|
-
* binding table.
|
|
759
|
-
*
|
|
760
|
-
* @param {object} state Emit state.
|
|
761
|
-
* @returns {string} The buffer's GLSL name.
|
|
762
|
-
* @private
|
|
763
|
+
/**
|
|
764
|
+
* Declares the emulated-addressing constant buffer, once per shader.
|
|
765
|
+
*
|
|
766
|
+
* Sized to the highest listed resource register so the array stays compact,
|
|
767
|
+
* the way Carbon emitters declare compact `cb` arrays. The register is
|
|
768
|
+
* caller-chosen and defaults to 8: shipped effects declare only cb0-4, 6 and
|
|
769
|
+
* 7, and ccpwgl already resolves `cb0`..`cb15` by name, so 8 needs no new
|
|
770
|
+
* binding table.
|
|
771
|
+
*
|
|
772
|
+
* @param {object} state Emit state.
|
|
773
|
+
* @returns {string} The buffer's GLSL name.
|
|
774
|
+
* @private
|
|
763
775
|
*/
|
|
764
776
|
_ensureAddressBuffer(state) {
|
|
765
777
|
const {
|
|
@@ -820,10 +832,10 @@ class DxbcGlslEmitter {
|
|
|
820
832
|
return name;
|
|
821
833
|
}
|
|
822
834
|
|
|
823
|
-
/**
|
|
824
|
-
* Normalizes the optional packed local-light texture lowering profile.
|
|
825
|
-
*
|
|
826
|
-
* @returns {object|null} Normalized profile, or null when disabled.
|
|
835
|
+
/**
|
|
836
|
+
* Normalizes the optional packed local-light texture lowering profile.
|
|
837
|
+
*
|
|
838
|
+
* @returns {object|null} Normalized profile, or null when disabled.
|
|
827
839
|
*/
|
|
828
840
|
_normalizeLightPackedTextureProfile() {
|
|
829
841
|
const profile = this.profile.lightPackedTexture;
|
|
@@ -841,12 +853,12 @@ class DxbcGlslEmitter {
|
|
|
841
853
|
};
|
|
842
854
|
}
|
|
843
855
|
|
|
844
|
-
/**
|
|
845
|
-
* Declares the packed local-light texture ABI used to replace the
|
|
846
|
-
* LightIndexBuffer/LightBuffer/LightProfileArray trio with one RGBA32UI
|
|
847
|
-
* data texture.
|
|
848
|
-
*
|
|
849
|
-
* @param {object} state Emit state.
|
|
856
|
+
/**
|
|
857
|
+
* Declares the packed local-light texture ABI used to replace the
|
|
858
|
+
* LightIndexBuffer/LightBuffer/LightProfileArray trio with one RGBA32UI
|
|
859
|
+
* data texture.
|
|
860
|
+
*
|
|
861
|
+
* @param {object} state Emit state.
|
|
850
862
|
*/
|
|
851
863
|
_ensureLightPackedTexture(state) {
|
|
852
864
|
const profile = state.lightPackedTexture;
|
|
@@ -868,9 +880,9 @@ class DxbcGlslEmitter {
|
|
|
868
880
|
});
|
|
869
881
|
}
|
|
870
882
|
|
|
871
|
-
/**
|
|
872
|
-
* Emits our packed profile helpers only when a sample uses them.
|
|
873
|
-
* @param {object} state Emit state.
|
|
883
|
+
/**
|
|
884
|
+
* Emits our packed profile helpers only when a sample uses them.
|
|
885
|
+
* @param {object} state Emit state.
|
|
874
886
|
*/
|
|
875
887
|
_ensureLightProfileHelpers(state) {
|
|
876
888
|
if (state.lightProfileHelpersDeclared) return;
|
|
@@ -885,11 +897,11 @@ class DxbcGlslEmitter {
|
|
|
885
897
|
}
|
|
886
898
|
}
|
|
887
899
|
|
|
888
|
-
/**
|
|
889
|
-
* Declares the local-light constant-buffer ABI used to replace the two
|
|
890
|
-
* tiled-light structured buffers without consuming sampler units.
|
|
891
|
-
*
|
|
892
|
-
* @param {object} state Emit state.
|
|
900
|
+
/**
|
|
901
|
+
* Declares the local-light constant-buffer ABI used to replace the two
|
|
902
|
+
* tiled-light structured buffers without consuming sampler units.
|
|
903
|
+
*
|
|
904
|
+
* @param {object} state Emit state.
|
|
893
905
|
*/
|
|
894
906
|
_ensureLightConstantBuffer(state) {
|
|
895
907
|
const profile = state.lightConstantBuffer;
|
|
@@ -912,15 +924,15 @@ class DxbcGlslEmitter {
|
|
|
912
924
|
});
|
|
913
925
|
}
|
|
914
926
|
|
|
915
|
-
/**
|
|
916
|
-
* Rejects compute shaders that need real compute-pipeline features (shared
|
|
917
|
-
* memory, barriers, atomics, raw/structured/typed UAV reads) instead of the
|
|
918
|
-
* "map-style" thread-per-fragment shape this emitter lowers. The message
|
|
919
|
-
* intentionally contains "not supported" so packaging's kill-list
|
|
920
|
-
* classifier regex (`/not supported|No GLSL lowering|unimplementable/i`)
|
|
921
|
-
* routes these to the exclusion list rather than the failure list.
|
|
922
|
-
*
|
|
923
|
-
* @param {object} state Emit state.
|
|
927
|
+
/**
|
|
928
|
+
* Rejects compute shaders that need real compute-pipeline features (shared
|
|
929
|
+
* memory, barriers, atomics, raw/structured/typed UAV reads) instead of the
|
|
930
|
+
* "map-style" thread-per-fragment shape this emitter lowers. The message
|
|
931
|
+
* intentionally contains "not supported" so packaging's kill-list
|
|
932
|
+
* classifier regex (`/not supported|No GLSL lowering|unimplementable/i`)
|
|
933
|
+
* routes these to the exclusion list rather than the failure list.
|
|
934
|
+
*
|
|
935
|
+
* @param {object} state Emit state.
|
|
924
936
|
*/
|
|
925
937
|
_assertMapStyleCompute(state) {
|
|
926
938
|
for (const instruction of state.decoder.instructions) {
|
|
@@ -936,26 +948,26 @@ class DxbcGlslEmitter {
|
|
|
936
948
|
}
|
|
937
949
|
}
|
|
938
950
|
|
|
939
|
-
/**
|
|
940
|
-
* Pre-scans a map-style compute shader's `store_uav_typed` instructions and
|
|
941
|
-
* builds a per-UAV slice plan before any declaration is emitted.
|
|
942
|
-
*
|
|
943
|
-
* Straight-line constant propagation only: the address registers ASSAO-style
|
|
944
|
-
* Prepare passes build are `mov rX.<c>, l(k)` immediates, so the tracker
|
|
945
|
-
* records the last constant written to each temp component and treats every
|
|
946
|
-
* other write as dynamic. Each stored-to UAV register resolves to either
|
|
947
|
-
* `{ kind: "single" }` (at most one store; the array-slice coordinate, when
|
|
948
|
-
* present, is dropped — the host attaches the target layer via
|
|
949
|
-
* `framebufferTextureLayer`) or `{ kind: "multiSlice", slices, sliceByOffset }`
|
|
950
|
-
* (several stores at statically distinct texture2darray slices, each routed
|
|
951
|
-
* to its own fragment output — the host attaches those layers as sequential
|
|
952
|
-
* color attachments).
|
|
953
|
-
*
|
|
954
|
-
* Anything outside those two shapes cannot become one fragment pass, so the
|
|
955
|
-
* throw messages deliberately contain "not supported" for packaging's
|
|
956
|
-
* kill-list classifier (see `_assertMapStyleCompute`).
|
|
957
|
-
*
|
|
958
|
-
* @param {object} state Emit state.
|
|
951
|
+
/**
|
|
952
|
+
* Pre-scans a map-style compute shader's `store_uav_typed` instructions and
|
|
953
|
+
* builds a per-UAV slice plan before any declaration is emitted.
|
|
954
|
+
*
|
|
955
|
+
* Straight-line constant propagation only: the address registers ASSAO-style
|
|
956
|
+
* Prepare passes build are `mov rX.<c>, l(k)` immediates, so the tracker
|
|
957
|
+
* records the last constant written to each temp component and treats every
|
|
958
|
+
* other write as dynamic. Each stored-to UAV register resolves to either
|
|
959
|
+
* `{ kind: "single" }` (at most one store; the array-slice coordinate, when
|
|
960
|
+
* present, is dropped — the host attaches the target layer via
|
|
961
|
+
* `framebufferTextureLayer`) or `{ kind: "multiSlice", slices, sliceByOffset }`
|
|
962
|
+
* (several stores at statically distinct texture2darray slices, each routed
|
|
963
|
+
* to its own fragment output — the host attaches those layers as sequential
|
|
964
|
+
* color attachments).
|
|
965
|
+
*
|
|
966
|
+
* Anything outside those two shapes cannot become one fragment pass, so the
|
|
967
|
+
* throw messages deliberately contain "not supported" for packaging's
|
|
968
|
+
* kill-list classifier (see `_assertMapStyleCompute`).
|
|
969
|
+
*
|
|
970
|
+
* @param {object} state Emit state.
|
|
959
971
|
*/
|
|
960
972
|
_analyzeUavStores(state) {
|
|
961
973
|
for (const instruction of state.decoder.instructions) {
|
|
@@ -1028,16 +1040,16 @@ class DxbcGlslEmitter {
|
|
|
1028
1040
|
}
|
|
1029
1041
|
}
|
|
1030
1042
|
|
|
1031
|
-
/**
|
|
1032
|
-
* Updates the per-temp-component constant tracker for one instruction:
|
|
1033
|
-
* `mov rX.<mask>, l(...)` records each written component's immediate dword,
|
|
1034
|
-
* and any other write to a temp component invalidates it. Destination
|
|
1035
|
-
* operands are exactly the mask-selection temp operands (DXBC sources
|
|
1036
|
-
* always read through swizzle/select1), so this also handles multi-
|
|
1037
|
-
* destination opcodes like `sincos` and `udiv` conservatively.
|
|
1038
|
-
*
|
|
1039
|
-
* @param {object} instruction Decoded non-declaration instruction.
|
|
1040
|
-
* @param {Map<string, number>} constantTemps Constant tracker keyed `<register>.<component>`.
|
|
1043
|
+
/**
|
|
1044
|
+
* Updates the per-temp-component constant tracker for one instruction:
|
|
1045
|
+
* `mov rX.<mask>, l(...)` records each written component's immediate dword,
|
|
1046
|
+
* and any other write to a temp component invalidates it. Destination
|
|
1047
|
+
* operands are exactly the mask-selection temp operands (DXBC sources
|
|
1048
|
+
* always read through swizzle/select1), so this also handles multi-
|
|
1049
|
+
* destination opcodes like `sincos` and `udiv` conservatively.
|
|
1050
|
+
*
|
|
1051
|
+
* @param {object} instruction Decoded non-declaration instruction.
|
|
1052
|
+
* @param {Map<string, number>} constantTemps Constant tracker keyed `<register>.<component>`.
|
|
1041
1053
|
*/
|
|
1042
1054
|
_trackTempConstants(instruction, constantTemps) {
|
|
1043
1055
|
const source = instruction.operands[1];
|
|
@@ -1056,13 +1068,13 @@ class DxbcGlslEmitter {
|
|
|
1056
1068
|
}
|
|
1057
1069
|
}
|
|
1058
1070
|
|
|
1059
|
-
/**
|
|
1060
|
-
* Resolves the array-slice (z) component of a `store_uav_typed` address
|
|
1061
|
-
* operand to a compile-time constant, or null when it is dynamic.
|
|
1062
|
-
*
|
|
1063
|
-
* @param {object} addressOperand Decoded address operand.
|
|
1064
|
-
* @param {Map<string, number>} constantTemps Constant tracker keyed `<register>.<component>`.
|
|
1065
|
-
* @returns {number|null} Constant slice index, or null.
|
|
1071
|
+
/**
|
|
1072
|
+
* Resolves the array-slice (z) component of a `store_uav_typed` address
|
|
1073
|
+
* operand to a compile-time constant, or null when it is dynamic.
|
|
1074
|
+
*
|
|
1075
|
+
* @param {object} addressOperand Decoded address operand.
|
|
1076
|
+
* @param {Map<string, number>} constantTemps Constant tracker keyed `<register>.<component>`.
|
|
1077
|
+
* @returns {number|null} Constant slice index, or null.
|
|
1066
1078
|
*/
|
|
1067
1079
|
_resolveSliceConstant(addressOperand, constantTemps) {
|
|
1068
1080
|
if (addressOperand.type === 4) {
|
|
@@ -1077,14 +1089,14 @@ class DxbcGlslEmitter {
|
|
|
1077
1089
|
return constantTemps.has(key) ? constantTemps.get(key) : null;
|
|
1078
1090
|
}
|
|
1079
1091
|
|
|
1080
|
-
/**
|
|
1081
|
-
* Allocates the next map-style UAV fragment-output location, enforcing the
|
|
1082
|
-
* `MAX_MAP_STYLE_UAV_OUTPUTS` attachment budget across single-output UAVs
|
|
1083
|
-
* and per-slice multi-output UAVs alike.
|
|
1084
|
-
*
|
|
1085
|
-
* @param {object} state Emit state.
|
|
1086
|
-
* @param {number} register UAV register index (error detail only).
|
|
1087
|
-
* @returns {number} Allocated output location.
|
|
1092
|
+
/**
|
|
1093
|
+
* Allocates the next map-style UAV fragment-output location, enforcing the
|
|
1094
|
+
* `MAX_MAP_STYLE_UAV_OUTPUTS` attachment budget across single-output UAVs
|
|
1095
|
+
* and per-slice multi-output UAVs alike.
|
|
1096
|
+
*
|
|
1097
|
+
* @param {object} state Emit state.
|
|
1098
|
+
* @param {number} register UAV register index (error detail only).
|
|
1099
|
+
* @returns {number} Allocated output location.
|
|
1088
1100
|
*/
|
|
1089
1101
|
_allocateUavOutputLocation(state, register) {
|
|
1090
1102
|
const location = state.uavOutputCount;
|
|
@@ -1103,12 +1115,12 @@ class DxbcGlslEmitter {
|
|
|
1103
1115
|
// Declarations
|
|
1104
1116
|
// ------------------------------------------------------------------
|
|
1105
1117
|
|
|
1106
|
-
/**
|
|
1107
|
-
* Emits one decoded DXBC declaration into the GLSL interface and manifest.
|
|
1108
|
-
*
|
|
1109
|
-
* @param {object} state Mutable emission state.
|
|
1110
|
-
* @param {object} instruction Decoded DXBC declaration instruction.
|
|
1111
|
-
* @private
|
|
1118
|
+
/**
|
|
1119
|
+
* Emits one decoded DXBC declaration into the GLSL interface and manifest.
|
|
1120
|
+
*
|
|
1121
|
+
* @param {object} state Mutable emission state.
|
|
1122
|
+
* @param {object} instruction Decoded DXBC declaration instruction.
|
|
1123
|
+
* @private
|
|
1112
1124
|
*/
|
|
1113
1125
|
_emitDeclaration(state, instruction) {
|
|
1114
1126
|
const declaration = instruction.declaration;
|
|
@@ -1205,8 +1217,8 @@ class DxbcGlslEmitter {
|
|
|
1205
1217
|
dimensionName: declaration.resourceDimensionName
|
|
1206
1218
|
});
|
|
1207
1219
|
}
|
|
1208
|
-
if (state.
|
|
1209
|
-
this.
|
|
1220
|
+
if (state.textureArrayLayers.has(register)) {
|
|
1221
|
+
this._declareTextureArrayMap(state, register, declaration, comparisonSamplers);
|
|
1210
1222
|
break;
|
|
1211
1223
|
}
|
|
1212
1224
|
const name = this.profile.samplerName(register, state.stageName);
|
|
@@ -1405,24 +1417,24 @@ class DxbcGlslEmitter {
|
|
|
1405
1417
|
}
|
|
1406
1418
|
}
|
|
1407
1419
|
|
|
1408
|
-
/**
|
|
1409
|
-
* Finds the signature element assigned to a register.
|
|
1410
|
-
*
|
|
1411
|
-
* @param {object|null} signature Decoded DXBC signature.
|
|
1412
|
-
* @param {number} registerIndex Register index.
|
|
1413
|
-
* @returns {object|null} Matching signature element.
|
|
1414
|
-
* @private
|
|
1420
|
+
/**
|
|
1421
|
+
* Finds the signature element assigned to a register.
|
|
1422
|
+
*
|
|
1423
|
+
* @param {object|null} signature Decoded DXBC signature.
|
|
1424
|
+
* @param {number} registerIndex Register index.
|
|
1425
|
+
* @returns {object|null} Matching signature element.
|
|
1426
|
+
* @private
|
|
1415
1427
|
*/
|
|
1416
1428
|
_signatureElement(signature, registerIndex) {
|
|
1417
1429
|
return signature?.elements.find(element => element.registerIndex === registerIndex) || null;
|
|
1418
1430
|
}
|
|
1419
1431
|
|
|
1420
|
-
/**
|
|
1421
|
-
* Declares one vertex input using its Carbon semantic identity.
|
|
1422
|
-
*
|
|
1423
|
-
* @param {object} state Mutable emission state.
|
|
1424
|
-
* @param {object} instruction Decoded input declaration.
|
|
1425
|
-
* @private
|
|
1432
|
+
/**
|
|
1433
|
+
* Declares one vertex input using its Carbon semantic identity.
|
|
1434
|
+
*
|
|
1435
|
+
* @param {object} state Mutable emission state.
|
|
1436
|
+
* @param {object} instruction Decoded input declaration.
|
|
1437
|
+
* @private
|
|
1426
1438
|
*/
|
|
1427
1439
|
_declareVertexInput(state, instruction) {
|
|
1428
1440
|
const register = instruction.declaration.registerIndex;
|
|
@@ -1464,12 +1476,12 @@ class DxbcGlslEmitter {
|
|
|
1464
1476
|
});
|
|
1465
1477
|
}
|
|
1466
1478
|
|
|
1467
|
-
/**
|
|
1468
|
-
* Declares one pixel-stage varying or system input.
|
|
1469
|
-
*
|
|
1470
|
-
* @param {object} state Mutable emission state.
|
|
1471
|
-
* @param {object} instruction Decoded input declaration.
|
|
1472
|
-
* @private
|
|
1479
|
+
/**
|
|
1480
|
+
* Declares one pixel-stage varying or system input.
|
|
1481
|
+
*
|
|
1482
|
+
* @param {object} state Mutable emission state.
|
|
1483
|
+
* @param {object} instruction Decoded input declaration.
|
|
1484
|
+
* @private
|
|
1473
1485
|
*/
|
|
1474
1486
|
_declarePixelInput(state, instruction) {
|
|
1475
1487
|
const register = instruction.declaration.registerIndex;
|
|
@@ -1509,12 +1521,12 @@ class DxbcGlslEmitter {
|
|
|
1509
1521
|
});
|
|
1510
1522
|
}
|
|
1511
1523
|
|
|
1512
|
-
/**
|
|
1513
|
-
* Maps a supported system-generated input to its GLSL expression.
|
|
1514
|
-
*
|
|
1515
|
-
* @param {object} state Mutable emission state.
|
|
1516
|
-
* @param {object} instruction Decoded system-input declaration.
|
|
1517
|
-
* @private
|
|
1524
|
+
/**
|
|
1525
|
+
* Maps a supported system-generated input to its GLSL expression.
|
|
1526
|
+
*
|
|
1527
|
+
* @param {object} state Mutable emission state.
|
|
1528
|
+
* @param {object} instruction Decoded system-input declaration.
|
|
1529
|
+
* @private
|
|
1518
1530
|
*/
|
|
1519
1531
|
_declareSystemInput(state, instruction) {
|
|
1520
1532
|
const declaration = instruction.declaration;
|
|
@@ -1539,16 +1551,16 @@ class DxbcGlslEmitter {
|
|
|
1539
1551
|
}
|
|
1540
1552
|
}
|
|
1541
1553
|
|
|
1542
|
-
/**
|
|
1543
|
-
* Records which compute pseudo-input(s) a `dcl_input` declaration exposes.
|
|
1544
|
-
* The actual GLSL (uniform + derived locals) is emitted once, after every
|
|
1545
|
-
* declaration has been seen, by `_emitComputeInputPrelude` — `dcl_input`
|
|
1546
|
-
* for a thread-id kind can appear before or after `dcl_thread_group` in the
|
|
1547
|
-
* bytecode stream, and the flattened/group-id forms need the workgroup
|
|
1548
|
-
* size regardless of declaration order.
|
|
1549
|
-
*
|
|
1550
|
-
* @param {object} state Emit state.
|
|
1551
|
-
* @param {object} instruction `dcl_input` instruction with a thread-id-kind operand.
|
|
1554
|
+
/**
|
|
1555
|
+
* Records which compute pseudo-input(s) a `dcl_input` declaration exposes.
|
|
1556
|
+
* The actual GLSL (uniform + derived locals) is emitted once, after every
|
|
1557
|
+
* declaration has been seen, by `_emitComputeInputPrelude` — `dcl_input`
|
|
1558
|
+
* for a thread-id kind can appear before or after `dcl_thread_group` in the
|
|
1559
|
+
* bytecode stream, and the flattened/group-id forms need the workgroup
|
|
1560
|
+
* size regardless of declaration order.
|
|
1561
|
+
*
|
|
1562
|
+
* @param {object} state Emit state.
|
|
1563
|
+
* @param {object} instruction `dcl_input` instruction with a thread-id-kind operand.
|
|
1552
1564
|
*/
|
|
1553
1565
|
_declareComputeInput(state, instruction) {
|
|
1554
1566
|
const kind = instruction.declaration.operandTypeName;
|
|
@@ -1573,13 +1585,13 @@ class DxbcGlslEmitter {
|
|
|
1573
1585
|
}
|
|
1574
1586
|
}
|
|
1575
1587
|
|
|
1576
|
-
/**
|
|
1577
|
-
* Emits the shared `gl_FragCoord`-derived thread-id prelude for map-style
|
|
1578
|
-
* compute shaders: a `cjsDispatchOrigin` uniform (so a dispatch can be
|
|
1579
|
-
* tiled across more than one draw/viewport), then only the intermediate
|
|
1580
|
-
* and final locals this shader actually declared inputs for.
|
|
1581
|
-
*
|
|
1582
|
-
* @param {object} state Emit state.
|
|
1588
|
+
/**
|
|
1589
|
+
* Emits the shared `gl_FragCoord`-derived thread-id prelude for map-style
|
|
1590
|
+
* compute shaders: a `cjsDispatchOrigin` uniform (so a dispatch can be
|
|
1591
|
+
* tiled across more than one draw/viewport), then only the intermediate
|
|
1592
|
+
* and final locals this shader actually declared inputs for.
|
|
1593
|
+
*
|
|
1594
|
+
* @param {object} state Emit state.
|
|
1583
1595
|
*/
|
|
1584
1596
|
_emitComputeInputPrelude(state) {
|
|
1585
1597
|
const used = state.computeInputsUsed;
|
|
@@ -1614,12 +1626,12 @@ class DxbcGlslEmitter {
|
|
|
1614
1626
|
}
|
|
1615
1627
|
}
|
|
1616
1628
|
|
|
1617
|
-
/**
|
|
1618
|
-
* Reads the workgroup size recorded by `dcl_thread_group`, required to
|
|
1619
|
-
* split the flat thread id back into group id / id-in-group components.
|
|
1620
|
-
*
|
|
1621
|
-
* @param {object} state Emit state.
|
|
1622
|
-
* @returns {[number,number,number]} Workgroup size.
|
|
1629
|
+
/**
|
|
1630
|
+
* Reads the workgroup size recorded by `dcl_thread_group`, required to
|
|
1631
|
+
* split the flat thread id back into group id / id-in-group components.
|
|
1632
|
+
*
|
|
1633
|
+
* @param {object} state Emit state.
|
|
1634
|
+
* @returns {[number,number,number]} Workgroup size.
|
|
1623
1635
|
*/
|
|
1624
1636
|
_threadGroupSizeOrThrow(state) {
|
|
1625
1637
|
if (!Array.isArray(state.threadGroup)) {
|
|
@@ -1630,12 +1642,12 @@ class DxbcGlslEmitter {
|
|
|
1630
1642
|
return state.threadGroup;
|
|
1631
1643
|
}
|
|
1632
1644
|
|
|
1633
|
-
/**
|
|
1634
|
-
* Declares one stage output and records its backend identity.
|
|
1635
|
-
*
|
|
1636
|
-
* @param {object} state Mutable emission state.
|
|
1637
|
-
* @param {object} instruction Decoded output declaration.
|
|
1638
|
-
* @private
|
|
1645
|
+
/**
|
|
1646
|
+
* Declares one stage output and records its backend identity.
|
|
1647
|
+
*
|
|
1648
|
+
* @param {object} state Mutable emission state.
|
|
1649
|
+
* @param {object} instruction Decoded output declaration.
|
|
1650
|
+
* @private
|
|
1639
1651
|
*/
|
|
1640
1652
|
_declareOutput(state, instruction) {
|
|
1641
1653
|
const declaration = instruction.declaration;
|
|
@@ -1693,12 +1705,12 @@ class DxbcGlslEmitter {
|
|
|
1693
1705
|
}
|
|
1694
1706
|
}
|
|
1695
1707
|
|
|
1696
|
-
/**
|
|
1697
|
-
* Materializes an immediate constant-buffer declaration.
|
|
1698
|
-
*
|
|
1699
|
-
* @param {object} state Mutable emission state.
|
|
1700
|
-
* @param {object} instruction Decoded custom-data declaration.
|
|
1701
|
-
* @private
|
|
1708
|
+
/**
|
|
1709
|
+
* Materializes an immediate constant-buffer declaration.
|
|
1710
|
+
*
|
|
1711
|
+
* @param {object} state Mutable emission state.
|
|
1712
|
+
* @param {object} instruction Decoded custom-data declaration.
|
|
1713
|
+
* @private
|
|
1702
1714
|
*/
|
|
1703
1715
|
_declareImmediateConstantBuffer(state, instruction) {
|
|
1704
1716
|
const rows = instruction.customData?.immediateConstantBuffer;
|
|
@@ -1709,11 +1721,11 @@ class DxbcGlslEmitter {
|
|
|
1709
1721
|
state.declarationLines.push(`const vec4 ${state.icbName}[${rows.length}] = vec4[${rows.length}](`, ...literals.map((literal, index) => ` ${literal}${index < literals.length - 1 ? "," : ""}`), ");");
|
|
1710
1722
|
}
|
|
1711
1723
|
|
|
1712
|
-
/**
|
|
1713
|
-
* Initializes paired vertex outputs that the source shader does not write.
|
|
1714
|
-
*
|
|
1715
|
-
* @param {object} state Mutable emission state.
|
|
1716
|
-
* @private
|
|
1724
|
+
/**
|
|
1725
|
+
* Initializes paired vertex outputs that the source shader does not write.
|
|
1726
|
+
*
|
|
1727
|
+
* @param {object} state Mutable emission state.
|
|
1728
|
+
* @private
|
|
1717
1729
|
*/
|
|
1718
1730
|
_zeroFillUnwrittenOutputs(state) {
|
|
1719
1731
|
const written = new Set();
|
|
@@ -1738,12 +1750,12 @@ class DxbcGlslEmitter {
|
|
|
1738
1750
|
// Instructions
|
|
1739
1751
|
// ------------------------------------------------------------------
|
|
1740
1752
|
|
|
1741
|
-
/**
|
|
1742
|
-
* Dispatches one decoded instruction to its GLSL lowering rule.
|
|
1743
|
-
*
|
|
1744
|
-
* @param {object} state Mutable emission state.
|
|
1745
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1746
|
-
* @private
|
|
1753
|
+
/**
|
|
1754
|
+
* Dispatches one decoded instruction to its GLSL lowering rule.
|
|
1755
|
+
*
|
|
1756
|
+
* @param {object} state Mutable emission state.
|
|
1757
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
1758
|
+
* @private
|
|
1747
1759
|
*/
|
|
1748
1760
|
_emitInstruction(state, instruction) {
|
|
1749
1761
|
const lower = DxbcGlslEmitter.LOWERINGS[instruction.opcodeName];
|
|
@@ -1757,12 +1769,12 @@ class DxbcGlslEmitter {
|
|
|
1757
1769
|
lower.call(this, state, instruction);
|
|
1758
1770
|
}
|
|
1759
1771
|
|
|
1760
|
-
/**
|
|
1761
|
-
* Appends one correctly indented line to the emitted function body.
|
|
1762
|
-
*
|
|
1763
|
-
* @param {object} state Mutable emission state.
|
|
1764
|
-
* @param {string} text GLSL source line.
|
|
1765
|
-
* @private
|
|
1772
|
+
/**
|
|
1773
|
+
* Appends one correctly indented line to the emitted function body.
|
|
1774
|
+
*
|
|
1775
|
+
* @param {object} state Mutable emission state.
|
|
1776
|
+
* @param {string} text GLSL source line.
|
|
1777
|
+
* @private
|
|
1766
1778
|
*/
|
|
1767
1779
|
_line(state, text) {
|
|
1768
1780
|
// Packed uint words (and small integer results) must survive float
|
|
@@ -1809,12 +1821,12 @@ class DxbcGlslEmitter {
|
|
|
1809
1821
|
state.bodyLines.push(`${" ".repeat(state.indent)}${text}`);
|
|
1810
1822
|
}
|
|
1811
1823
|
|
|
1812
|
-
/**
|
|
1813
|
-
* Counts the active components in a DXBC mask.
|
|
1814
|
-
*
|
|
1815
|
-
* @param {number} mask DXBC component bit mask.
|
|
1816
|
-
* @returns {number} Active component count.
|
|
1817
|
-
* @private
|
|
1824
|
+
/**
|
|
1825
|
+
* Counts the active components in a DXBC mask.
|
|
1826
|
+
*
|
|
1827
|
+
* @param {number} mask DXBC component bit mask.
|
|
1828
|
+
* @returns {number} Active component count.
|
|
1829
|
+
* @private
|
|
1818
1830
|
*/
|
|
1819
1831
|
_maskWidth(mask) {
|
|
1820
1832
|
let width = 0;
|
|
@@ -1824,51 +1836,51 @@ class DxbcGlslEmitter {
|
|
|
1824
1836
|
return width || 4;
|
|
1825
1837
|
}
|
|
1826
1838
|
|
|
1827
|
-
/**
|
|
1828
|
-
* Converts a DXBC component bit mask to GLSL swizzle characters.
|
|
1829
|
-
*
|
|
1830
|
-
* @param {number} mask DXBC component bit mask.
|
|
1831
|
-
* @returns {string} GLSL component string.
|
|
1832
|
-
* @private
|
|
1839
|
+
/**
|
|
1840
|
+
* Converts a DXBC component bit mask to GLSL swizzle characters.
|
|
1841
|
+
*
|
|
1842
|
+
* @param {number} mask DXBC component bit mask.
|
|
1843
|
+
* @returns {string} GLSL component string.
|
|
1844
|
+
* @private
|
|
1833
1845
|
*/
|
|
1834
1846
|
_maskChars(mask) {
|
|
1835
1847
|
return COMPONENTS.filter((_, bit) => mask & 1 << bit).join("") || "xyzw";
|
|
1836
1848
|
}
|
|
1837
1849
|
|
|
1838
|
-
/**
|
|
1839
|
-
* Builds the lvalue text for one register-space destination component,
|
|
1840
|
-
* remapped into the target variable's declared component space.
|
|
1850
|
+
/**
|
|
1851
|
+
* Builds the lvalue text for one register-space destination component,
|
|
1852
|
+
* remapped into the target variable's declared component space.
|
|
1841
1853
|
*/
|
|
1842
1854
|
_destComponentRef(state, destOperand, target, component) {
|
|
1843
1855
|
const remapped = state.formatter.remapComponents(destOperand, component);
|
|
1844
1856
|
return `${target.ref}${remapped ? `.${remapped}` : ""}`;
|
|
1845
1857
|
}
|
|
1846
1858
|
|
|
1847
|
-
/**
|
|
1848
|
-
* Formats a resolved destination reference and optional mask.
|
|
1849
|
-
*
|
|
1850
|
-
* @param {object} target Resolved destination.
|
|
1851
|
-
* @returns {string} GLSL lvalue text.
|
|
1852
|
-
* @private
|
|
1859
|
+
/**
|
|
1860
|
+
* Formats a resolved destination reference and optional mask.
|
|
1861
|
+
*
|
|
1862
|
+
* @param {object} target Resolved destination.
|
|
1863
|
+
* @returns {string} GLSL lvalue text.
|
|
1864
|
+
* @private
|
|
1853
1865
|
*/
|
|
1854
1866
|
_destText(target) {
|
|
1855
1867
|
return `${target.ref}${target.mask ? `.${target.mask}` : ""}`;
|
|
1856
1868
|
}
|
|
1857
1869
|
|
|
1858
|
-
/**
|
|
1859
|
-
* Selects the GLSL floating scalar or vector type for a width.
|
|
1860
|
-
*
|
|
1861
|
-
* @param {number} width Component width.
|
|
1862
|
-
* @returns {string} GLSL type name.
|
|
1863
|
-
* @private
|
|
1870
|
+
/**
|
|
1871
|
+
* Selects the GLSL floating scalar or vector type for a width.
|
|
1872
|
+
*
|
|
1873
|
+
* @param {number} width Component width.
|
|
1874
|
+
* @returns {string} GLSL type name.
|
|
1875
|
+
* @private
|
|
1864
1876
|
*/
|
|
1865
1877
|
_vecType(width) {
|
|
1866
1878
|
return width === 1 ? "float" : `vec${width}`;
|
|
1867
1879
|
}
|
|
1868
1880
|
|
|
1869
|
-
/**
|
|
1870
|
-
* Reads a source at the destination mask's width, wrapping in a matching
|
|
1871
|
-
* constructor so intrinsic arguments always type-check exactly.
|
|
1881
|
+
/**
|
|
1882
|
+
* Reads a source at the destination mask's width, wrapping in a matching
|
|
1883
|
+
* constructor so intrinsic arguments always type-check exactly.
|
|
1872
1884
|
*/
|
|
1873
1885
|
_vecArg(state, operand, destMask, as = "float") {
|
|
1874
1886
|
const expression = state.formatter.sourceExpression(operand, {
|
|
@@ -1886,14 +1898,14 @@ class DxbcGlslEmitter {
|
|
|
1886
1898
|
return `${ctor}(${expression})`;
|
|
1887
1899
|
}
|
|
1888
1900
|
|
|
1889
|
-
/**
|
|
1890
|
-
* Resolves a destination operand and its register-space component mask.
|
|
1891
|
-
*
|
|
1892
|
-
* @param {object} state Mutable emission state.
|
|
1893
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1894
|
-
* @param {number} [operandIndex=0] Destination operand index.
|
|
1895
|
-
* @returns {{target: object|null, mask: string}} Destination and mask.
|
|
1896
|
-
* @private
|
|
1901
|
+
/**
|
|
1902
|
+
* Resolves a destination operand and its register-space component mask.
|
|
1903
|
+
*
|
|
1904
|
+
* @param {object} state Mutable emission state.
|
|
1905
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
1906
|
+
* @param {number} [operandIndex=0] Destination operand index.
|
|
1907
|
+
* @returns {{target: object|null, mask: string}} Destination and mask.
|
|
1908
|
+
* @private
|
|
1897
1909
|
*/
|
|
1898
1910
|
_destMask(state, instruction, operandIndex = 0) {
|
|
1899
1911
|
const target = state.formatter.destination(instruction.operands[operandIndex]);
|
|
@@ -1906,25 +1918,25 @@ class DxbcGlslEmitter {
|
|
|
1906
1918
|
};
|
|
1907
1919
|
}
|
|
1908
1920
|
|
|
1909
|
-
/**
|
|
1910
|
-
* Tests whether an operand produces one scalar component.
|
|
1911
|
-
*
|
|
1912
|
-
* @param {object} operand Decoded DXBC operand.
|
|
1913
|
-
* @returns {boolean} True when the source is scalar.
|
|
1914
|
-
* @private
|
|
1921
|
+
/**
|
|
1922
|
+
* Tests whether an operand produces one scalar component.
|
|
1923
|
+
*
|
|
1924
|
+
* @param {object} operand Decoded DXBC operand.
|
|
1925
|
+
* @returns {boolean} True when the source is scalar.
|
|
1926
|
+
* @private
|
|
1915
1927
|
*/
|
|
1916
1928
|
_isScalarSource(operand) {
|
|
1917
1929
|
return operand.selectionModeName === "select1" || operand.type === 4 && operand.componentCount === 1 || operand.componentCount === 1;
|
|
1918
1930
|
}
|
|
1919
1931
|
|
|
1920
|
-
/**
|
|
1921
|
-
* Emits an assignment and applies instruction saturation when required.
|
|
1922
|
-
*
|
|
1923
|
-
* @param {object} state Mutable emission state.
|
|
1924
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1925
|
-
* @param {string} valueExpression GLSL right-hand expression.
|
|
1926
|
-
* @param {object} [options={}] Assignment formatting options.
|
|
1927
|
-
* @private
|
|
1932
|
+
/**
|
|
1933
|
+
* Emits an assignment and applies instruction saturation when required.
|
|
1934
|
+
*
|
|
1935
|
+
* @param {object} state Mutable emission state.
|
|
1936
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
1937
|
+
* @param {string} valueExpression GLSL right-hand expression.
|
|
1938
|
+
* @param {object} [options={}] Assignment formatting options.
|
|
1939
|
+
* @private
|
|
1928
1940
|
*/
|
|
1929
1941
|
_assign(state, instruction, valueExpression, options = {}) {
|
|
1930
1942
|
const statement = state.formatter.assignment(instruction.operands[0], valueExpression, options);
|
|
@@ -1940,13 +1952,13 @@ class DxbcGlslEmitter {
|
|
|
1940
1952
|
}
|
|
1941
1953
|
}
|
|
1942
1954
|
|
|
1943
|
-
/**
|
|
1944
|
-
* Emits a width-correct floating binary infix operation.
|
|
1945
|
-
*
|
|
1946
|
-
* @param {object} state Mutable emission state.
|
|
1947
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1948
|
-
* @param {string} operator GLSL infix operator.
|
|
1949
|
-
* @private
|
|
1955
|
+
/**
|
|
1956
|
+
* Emits a width-correct floating binary infix operation.
|
|
1957
|
+
*
|
|
1958
|
+
* @param {object} state Mutable emission state.
|
|
1959
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
1960
|
+
* @param {string} operator GLSL infix operator.
|
|
1961
|
+
* @private
|
|
1950
1962
|
*/
|
|
1951
1963
|
_infixBinary(state, instruction, operator) {
|
|
1952
1964
|
const {
|
|
@@ -1962,15 +1974,15 @@ class DxbcGlslEmitter {
|
|
|
1962
1974
|
this._assignWidened(state, instruction, mask, `${a} ${operator} ${b}`, width === 1);
|
|
1963
1975
|
}
|
|
1964
1976
|
|
|
1965
|
-
/**
|
|
1966
|
-
* Widens a scalar result when assigning it to a vector destination.
|
|
1967
|
-
*
|
|
1968
|
-
* @param {object} state Mutable emission state.
|
|
1969
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1970
|
-
* @param {string} mask Destination component mask.
|
|
1971
|
-
* @param {string} expression GLSL expression.
|
|
1972
|
-
* @param {boolean} rhsIsScalar Whether the expression is scalar.
|
|
1973
|
-
* @private
|
|
1977
|
+
/**
|
|
1978
|
+
* Widens a scalar result when assigning it to a vector destination.
|
|
1979
|
+
*
|
|
1980
|
+
* @param {object} state Mutable emission state.
|
|
1981
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
1982
|
+
* @param {string} mask Destination component mask.
|
|
1983
|
+
* @param {string} expression GLSL expression.
|
|
1984
|
+
* @param {boolean} rhsIsScalar Whether the expression is scalar.
|
|
1985
|
+
* @private
|
|
1974
1986
|
*/
|
|
1975
1987
|
_assignWidened(state, instruction, mask, expression, rhsIsScalar) {
|
|
1976
1988
|
const value = rhsIsScalar && mask.length > 1 ? `vec${mask.length}(${expression})` : expression;
|
|
@@ -1979,13 +1991,13 @@ class DxbcGlslEmitter {
|
|
|
1979
1991
|
});
|
|
1980
1992
|
}
|
|
1981
1993
|
|
|
1982
|
-
/**
|
|
1983
|
-
* Emits a unary GLSL intrinsic with destination-width handling.
|
|
1984
|
-
*
|
|
1985
|
-
* @param {object} state Mutable emission state.
|
|
1986
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1987
|
-
* @param {string} glslName GLSL intrinsic name.
|
|
1988
|
-
* @private
|
|
1994
|
+
/**
|
|
1995
|
+
* Emits a unary GLSL intrinsic with destination-width handling.
|
|
1996
|
+
*
|
|
1997
|
+
* @param {object} state Mutable emission state.
|
|
1998
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
1999
|
+
* @param {string} glslName GLSL intrinsic name.
|
|
2000
|
+
* @private
|
|
1989
2001
|
*/
|
|
1990
2002
|
_helperUnary(state, instruction, glslName) {
|
|
1991
2003
|
const {
|
|
@@ -1997,13 +2009,13 @@ class DxbcGlslEmitter {
|
|
|
1997
2009
|
this._assignWidened(state, instruction, mask, `${glslName}(${src})`, state.formatter.expressionWidth(instruction.operands[1], mask) === 1);
|
|
1998
2010
|
}
|
|
1999
2011
|
|
|
2000
|
-
/**
|
|
2001
|
-
* Emits a binary GLSL intrinsic with width-matched arguments.
|
|
2002
|
-
*
|
|
2003
|
-
* @param {object} state Mutable emission state.
|
|
2004
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2005
|
-
* @param {string} glslName GLSL intrinsic name.
|
|
2006
|
-
* @private
|
|
2012
|
+
/**
|
|
2013
|
+
* Emits a binary GLSL intrinsic with width-matched arguments.
|
|
2014
|
+
*
|
|
2015
|
+
* @param {object} state Mutable emission state.
|
|
2016
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2017
|
+
* @param {string} glslName GLSL intrinsic name.
|
|
2018
|
+
* @private
|
|
2007
2019
|
*/
|
|
2008
2020
|
_helperBinary(state, instruction, glslName) {
|
|
2009
2021
|
const {
|
|
@@ -2016,13 +2028,13 @@ class DxbcGlslEmitter {
|
|
|
2016
2028
|
});
|
|
2017
2029
|
}
|
|
2018
2030
|
|
|
2019
|
-
/**
|
|
2020
|
-
* Emits a dot product and replicates its scalar result when necessary.
|
|
2021
|
-
*
|
|
2022
|
-
* @param {object} state Mutable emission state.
|
|
2023
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2024
|
-
* @param {string} sourceMask Source component mask.
|
|
2025
|
-
* @private
|
|
2031
|
+
/**
|
|
2032
|
+
* Emits a dot product and replicates its scalar result when necessary.
|
|
2033
|
+
*
|
|
2034
|
+
* @param {object} state Mutable emission state.
|
|
2035
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2036
|
+
* @param {string} sourceMask Source component mask.
|
|
2037
|
+
* @private
|
|
2026
2038
|
*/
|
|
2027
2039
|
_dotProduct(state, instruction, sourceMask) {
|
|
2028
2040
|
const {
|
|
@@ -2036,16 +2048,16 @@ class DxbcGlslEmitter {
|
|
|
2036
2048
|
});
|
|
2037
2049
|
}
|
|
2038
2050
|
|
|
2039
|
-
/**
|
|
2040
|
-
* Emits scalar or vector comparison bits in the float register model.
|
|
2041
|
-
*
|
|
2042
|
-
* @param {object} state Mutable emission state.
|
|
2043
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2044
|
-
* @param {object} options Comparison options.
|
|
2045
|
-
* @param {string} options.intrinsic GLSL vector comparison intrinsic.
|
|
2046
|
-
* @param {string} options.operator GLSL scalar comparison operator.
|
|
2047
|
-
* @param {"float"|"int"|"uint"} options.as Operand interpretation.
|
|
2048
|
-
* @private
|
|
2051
|
+
/**
|
|
2052
|
+
* Emits scalar or vector comparison bits in the float register model.
|
|
2053
|
+
*
|
|
2054
|
+
* @param {object} state Mutable emission state.
|
|
2055
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2056
|
+
* @param {object} options Comparison options.
|
|
2057
|
+
* @param {string} options.intrinsic GLSL vector comparison intrinsic.
|
|
2058
|
+
* @param {string} options.operator GLSL scalar comparison operator.
|
|
2059
|
+
* @param {"float"|"int"|"uint"} options.as Operand interpretation.
|
|
2060
|
+
* @private
|
|
2049
2061
|
*/
|
|
2050
2062
|
_comparison(state, instruction, {
|
|
2051
2063
|
intrinsic,
|
|
@@ -2072,13 +2084,13 @@ class DxbcGlslEmitter {
|
|
|
2072
2084
|
this._assign(state, instruction, `uintBitsToFloat(uvec${mask.length}(${intrinsic}(${a}, ${b})) * 0xFFFFFFFFu)`);
|
|
2073
2085
|
}
|
|
2074
2086
|
|
|
2075
|
-
/**
|
|
2076
|
-
* Emits an unsigned bitwise operation through register bitcasts.
|
|
2077
|
-
*
|
|
2078
|
-
* @param {object} state Mutable emission state.
|
|
2079
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2080
|
-
* @param {string} operator GLSL bitwise operator.
|
|
2081
|
-
* @private
|
|
2087
|
+
/**
|
|
2088
|
+
* Emits an unsigned bitwise operation through register bitcasts.
|
|
2089
|
+
*
|
|
2090
|
+
* @param {object} state Mutable emission state.
|
|
2091
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2092
|
+
* @param {string} operator GLSL bitwise operator.
|
|
2093
|
+
* @private
|
|
2082
2094
|
*/
|
|
2083
2095
|
_bitwiseBinary(state, instruction, operator) {
|
|
2084
2096
|
const {
|
|
@@ -2089,14 +2101,14 @@ class DxbcGlslEmitter {
|
|
|
2089
2101
|
this._assign(state, instruction, `uintBitsToFloat(${a} ${operator} ${b})`);
|
|
2090
2102
|
}
|
|
2091
2103
|
|
|
2092
|
-
/**
|
|
2093
|
-
* Emits a signed or unsigned integer binary operation through bitcasts.
|
|
2094
|
-
*
|
|
2095
|
-
* @param {object} state Mutable emission state.
|
|
2096
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2097
|
-
* @param {string} operator GLSL integer operator.
|
|
2098
|
-
* @param {"int"|"uint"} [as="int"] Integer interpretation.
|
|
2099
|
-
* @private
|
|
2104
|
+
/**
|
|
2105
|
+
* Emits a signed or unsigned integer binary operation through bitcasts.
|
|
2106
|
+
*
|
|
2107
|
+
* @param {object} state Mutable emission state.
|
|
2108
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2109
|
+
* @param {string} operator GLSL integer operator.
|
|
2110
|
+
* @param {"int"|"uint"} [as="int"] Integer interpretation.
|
|
2111
|
+
* @private
|
|
2100
2112
|
*/
|
|
2101
2113
|
_intBinary(state, instruction, operator, as = "int") {
|
|
2102
2114
|
const {
|
|
@@ -2108,13 +2120,13 @@ class DxbcGlslEmitter {
|
|
|
2108
2120
|
this._assign(state, instruction, `${wrap}(${a} ${operator} ${b})`);
|
|
2109
2121
|
}
|
|
2110
2122
|
|
|
2111
|
-
/**
|
|
2112
|
-
* Formats the DXBC zero or nonzero control-flow condition.
|
|
2113
|
-
*
|
|
2114
|
-
* @param {object} state Mutable emission state.
|
|
2115
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2116
|
-
* @returns {string} GLSL boolean expression.
|
|
2117
|
-
* @private
|
|
2123
|
+
/**
|
|
2124
|
+
* Formats the DXBC zero or nonzero control-flow condition.
|
|
2125
|
+
*
|
|
2126
|
+
* @param {object} state Mutable emission state.
|
|
2127
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2128
|
+
* @returns {string} GLSL boolean expression.
|
|
2129
|
+
* @private
|
|
2118
2130
|
*/
|
|
2119
2131
|
_condition(state, instruction) {
|
|
2120
2132
|
const scalar = state.formatter.sourceExpression(instruction.operands[0], {
|
|
@@ -2125,12 +2137,12 @@ class DxbcGlslEmitter {
|
|
|
2125
2137
|
return `${scalar} ${test} 0u`;
|
|
2126
2138
|
}
|
|
2127
2139
|
|
|
2128
|
-
/**
|
|
2129
|
-
* Emits component-wise conditional moves without aliasing destinations.
|
|
2130
|
-
*
|
|
2131
|
-
* @param {object} state Mutable emission state.
|
|
2132
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2133
|
-
* @private
|
|
2140
|
+
/**
|
|
2141
|
+
* Emits component-wise conditional moves without aliasing destinations.
|
|
2142
|
+
*
|
|
2143
|
+
* @param {object} state Mutable emission state.
|
|
2144
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2145
|
+
* @private
|
|
2134
2146
|
*/
|
|
2135
2147
|
_movc(state, instruction) {
|
|
2136
2148
|
const destOperand = instruction.operands[0];
|
|
@@ -2175,12 +2187,12 @@ class DxbcGlslEmitter {
|
|
|
2175
2187
|
}
|
|
2176
2188
|
}
|
|
2177
2189
|
|
|
2178
|
-
/**
|
|
2179
|
-
* Emits the paired sine and cosine destinations in alias-safe order.
|
|
2180
|
-
*
|
|
2181
|
-
* @param {object} state Mutable emission state.
|
|
2182
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2183
|
-
* @private
|
|
2190
|
+
/**
|
|
2191
|
+
* Emits the paired sine and cosine destinations in alias-safe order.
|
|
2192
|
+
*
|
|
2193
|
+
* @param {object} state Mutable emission state.
|
|
2194
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2195
|
+
* @private
|
|
2184
2196
|
*/
|
|
2185
2197
|
_sincos(state, instruction) {
|
|
2186
2198
|
const [sinDest, cosDest, angle] = instruction.operands;
|
|
@@ -2208,23 +2220,23 @@ class DxbcGlslEmitter {
|
|
|
2208
2220
|
}
|
|
2209
2221
|
}
|
|
2210
2222
|
|
|
2211
|
-
/**
|
|
2212
|
-
* Declares
|
|
2213
|
-
*
|
|
2214
|
-
* Each member keeps its own entry in `resourceNames` pointing at the shared
|
|
2215
|
-
* array, so every existing reference site resolves to it without knowing a
|
|
2216
|
-
* merge happened. The declared dimension deliberately stays 2D: the layer is
|
|
2217
|
-
* appended to the coordinate at each sample site rather than read out of the
|
|
2218
|
-
* shader's own operand, which has no third component to give.
|
|
2219
|
-
*
|
|
2220
|
-
* @param {object} state Mutable emission state.
|
|
2221
|
-
* @param {number} register Resource register being declared.
|
|
2222
|
-
* @param {object} declaration Decoded resource declaration.
|
|
2223
|
-
* @param {Set<number>|null} comparisonSamplers Comparison samplers, when any.
|
|
2224
|
-
* @private
|
|
2223
|
+
/**
|
|
2224
|
+
* Declares one merged array, once per family, on its first member seen.
|
|
2225
|
+
*
|
|
2226
|
+
* Each member keeps its own entry in `resourceNames` pointing at the shared
|
|
2227
|
+
* array, so every existing reference site resolves to it without knowing a
|
|
2228
|
+
* merge happened. The declared dimension deliberately stays 2D: the layer is
|
|
2229
|
+
* appended to the coordinate at each sample site rather than read out of the
|
|
2230
|
+
* shader's own operand, which has no third component to give.
|
|
2231
|
+
*
|
|
2232
|
+
* @param {object} state Mutable emission state.
|
|
2233
|
+
* @param {number} register Resource register being declared.
|
|
2234
|
+
* @param {object} declaration Decoded resource declaration.
|
|
2235
|
+
* @param {Set<number>|null} comparisonSamplers Comparison samplers, when any.
|
|
2236
|
+
* @private
|
|
2225
2237
|
*/
|
|
2226
|
-
|
|
2227
|
-
// A comparison-sampled or non-2D
|
|
2238
|
+
_declareTextureArrayMap(state, register, declaration, comparisonSamplers) {
|
|
2239
|
+
// A comparison-sampled or non-2D member is not the family the
|
|
2228
2240
|
// recogniser promised, so refuse rather than emit a wrong declaration.
|
|
2229
2241
|
if (comparisonSamplers || declaration.resourceDimension !== 3) {
|
|
2230
2242
|
throw new WebglReadError("Detail-map array merging requires plain 2D textures without comparison sampling", {
|
|
@@ -2233,77 +2245,149 @@ class DxbcGlslEmitter {
|
|
|
2233
2245
|
dimensionName: declaration.resourceDimensionName
|
|
2234
2246
|
});
|
|
2235
2247
|
}
|
|
2248
|
+
const merged = state.textureArrayLayers.get(register);
|
|
2249
|
+
const symbol = merged.symbol;
|
|
2250
|
+
const members = [...state.textureArrayLayers].filter(([, entry]) => entry.symbol === symbol).map(([memberRegister]) => memberRegister);
|
|
2236
2251
|
state.resourceDimensions.set(register, declaration.resourceDimension);
|
|
2237
|
-
state.resourceNames.set(register,
|
|
2238
|
-
if (state.
|
|
2239
|
-
state.
|
|
2252
|
+
state.resourceNames.set(register, symbol);
|
|
2253
|
+
if (state.declaredTextureArrays.has(symbol)) return;
|
|
2254
|
+
state.declaredTextureArrays.add(symbol);
|
|
2240
2255
|
|
|
2241
2256
|
// One GL uniform now stands for every merged layer, so it can carry only
|
|
2242
2257
|
// one sampler state. Union the layers' pairings: if they disagree the
|
|
2243
2258
|
// merge itself was invalid, and the packaging layer is where that is
|
|
2244
2259
|
// detectable, because only it holds the sampler values to compare.
|
|
2245
|
-
const
|
|
2246
|
-
for (const layerRegister of
|
|
2247
|
-
for (const sampler of state.pairedSamplers.get(layerRegister) ?? [])
|
|
2260
|
+
const pairings = new Set();
|
|
2261
|
+
for (const layerRegister of members) {
|
|
2262
|
+
for (const sampler of state.pairedSamplers.get(layerRegister) ?? []) pairings.add(sampler);
|
|
2248
2263
|
}
|
|
2249
|
-
|
|
2264
|
+
|
|
2265
|
+
// A packing family stays a plain 2D texture - its members are channels
|
|
2266
|
+
// of one texel, not layers of one stack - so the declaration, the
|
|
2267
|
+
// sampler type and the coordinate all stay 2D.
|
|
2268
|
+
const packing = merged.kind === "pack";
|
|
2269
|
+
const samplerTypeName = packing ? "sampler2D" : "sampler2DArray";
|
|
2270
|
+
state.declarationLines.push(`uniform mediump ${samplerTypeName} ${symbol};`);
|
|
2250
2271
|
state.bindings.push({
|
|
2251
2272
|
kind: "resource",
|
|
2252
2273
|
registerIndex: register,
|
|
2253
|
-
name:
|
|
2254
|
-
samplerType:
|
|
2255
|
-
dimensionName: "texture2darray",
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2274
|
+
name: symbol,
|
|
2275
|
+
samplerType: samplerTypeName,
|
|
2276
|
+
dimensionName: packing ? "texture2d" : "texture2darray",
|
|
2277
|
+
...(packing ? {
|
|
2278
|
+
packedChannelCount: members.length
|
|
2279
|
+
} : {
|
|
2280
|
+
arrayLayerCount: members.length
|
|
2281
|
+
}),
|
|
2282
|
+
mergedFrom: members,
|
|
2283
|
+
mergedFamily: merged.family,
|
|
2284
|
+
...(pairings.size ? {
|
|
2285
|
+
pairedSamplerRegisters: [...pairings].sort((a, b) => a - b)
|
|
2260
2286
|
} : {})
|
|
2261
2287
|
});
|
|
2262
2288
|
}
|
|
2263
2289
|
|
|
2264
|
-
/**
|
|
2265
|
-
*
|
|
2266
|
-
*
|
|
2267
|
-
*
|
|
2268
|
-
*
|
|
2269
|
-
*
|
|
2270
|
-
*
|
|
2290
|
+
/**
|
|
2291
|
+
* Builds the register -> merged array map from the profile.
|
|
2292
|
+
*
|
|
2293
|
+
* Two spellings, one meaning: `detailMapArrayRegisters` is the detail
|
|
2294
|
+
* family's original key, and `textureArrayFamilies` carries any family
|
|
2295
|
+
* including that one. A caller may pass either.
|
|
2296
|
+
*
|
|
2297
|
+
* @returns {Map<number, object>} register -> { symbol, layer, family }
|
|
2298
|
+
* @private
|
|
2299
|
+
*/
|
|
2300
|
+
_textureArrayLayerMap() {
|
|
2301
|
+
const map = new Map();
|
|
2302
|
+
const families = [...(this.profile.detailMapArrayRegisters?.length ? [{
|
|
2303
|
+
family: "detail-map-array",
|
|
2304
|
+
outputName: "DetailArrayMap",
|
|
2305
|
+
registers: this.profile.detailMapArrayRegisters
|
|
2306
|
+
}] : []), ...(this.profile.textureArrayFamilies || [])];
|
|
2307
|
+
for (const entry of families) {
|
|
2308
|
+
const symbol = `s${entry.outputName}`;
|
|
2309
|
+
const kind = entry.kind ?? "array";
|
|
2310
|
+
for (const [layer, register] of (entry.registers || []).entries()) {
|
|
2311
|
+
map.set(register, {
|
|
2312
|
+
symbol,
|
|
2313
|
+
layer,
|
|
2314
|
+
kind,
|
|
2315
|
+
// For a packing family the member's position IS its channel.
|
|
2316
|
+
// Nothing else decides it, which is why the family table's
|
|
2317
|
+
// parameter order is the one authority for both ends.
|
|
2318
|
+
channel: kind === "pack" ? "xyzw"[layer] : null,
|
|
2319
|
+
family: entry.family,
|
|
2320
|
+
outputName: entry.outputName
|
|
2321
|
+
});
|
|
2322
|
+
}
|
|
2323
|
+
}
|
|
2324
|
+
return map;
|
|
2325
|
+
}
|
|
2326
|
+
|
|
2327
|
+
/**
|
|
2328
|
+
* Returns the array layer a texture operand maps to, when it was merged.
|
|
2329
|
+
*
|
|
2330
|
+
* @param {object} state Mutable emission state.
|
|
2331
|
+
* @param {object} texOperand Texture resource operand.
|
|
2332
|
+
* @returns {number|null} Layer index, or null when the register was not merged.
|
|
2333
|
+
* @private
|
|
2334
|
+
*/
|
|
2335
|
+
_textureArrayLayer(state, texOperand) {
|
|
2336
|
+
const merged = state.textureArrayLayers.get(texOperand.registerIndex);
|
|
2337
|
+
|
|
2338
|
+
// A packed member has no layer: its coordinate is unchanged and the
|
|
2339
|
+
// redirect happens on the RESULT, in `_mergedChannel`.
|
|
2340
|
+
return merged === undefined || merged.kind === "pack" ? null : merged.layer;
|
|
2341
|
+
}
|
|
2342
|
+
|
|
2343
|
+
/**
|
|
2344
|
+
* Returns the packed channel a texture operand reads, when it was packed.
|
|
2345
|
+
*
|
|
2346
|
+
* The member's whole sampled value becomes that one channel broadcast, which
|
|
2347
|
+
* is faithful precisely because the premise of a packing family is that the
|
|
2348
|
+
* map is consumed for a single scalar. A member read for more than that is
|
|
2349
|
+
* not a packing candidate and the family table is where that is decided.
|
|
2350
|
+
*
|
|
2351
|
+
* @param {object} state Mutable emission state.
|
|
2352
|
+
* @param {object} texOperand Texture resource operand.
|
|
2353
|
+
* @returns {string|null} Channel letter, or null when not packed.
|
|
2354
|
+
* @private
|
|
2271
2355
|
*/
|
|
2272
|
-
|
|
2273
|
-
const
|
|
2274
|
-
return
|
|
2275
|
-
}
|
|
2276
|
-
|
|
2277
|
-
/**
|
|
2278
|
-
* Refuses an operation that cannot be redirected at an array layer.
|
|
2279
|
-
*
|
|
2280
|
-
* Recognising the detail family proves the resources are mergeable; it does
|
|
2281
|
-
* not prove every *use* is. A texel fetch or a size query against a merged
|
|
2282
|
-
* register would silently mean something different once the register became
|
|
2283
|
-
* one layer of an array, so those fail the build instead.
|
|
2284
|
-
*
|
|
2285
|
-
* @param {object} state Mutable emission state.
|
|
2286
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2287
|
-
* @param {object} texOperand Texture resource operand.
|
|
2288
|
-
* @private
|
|
2356
|
+
_mergedChannel(state, texOperand) {
|
|
2357
|
+
const merged = state.textureArrayLayers.get(texOperand.registerIndex);
|
|
2358
|
+
return merged === undefined || merged.kind !== "pack" ? null : merged.channel;
|
|
2359
|
+
}
|
|
2360
|
+
|
|
2361
|
+
/**
|
|
2362
|
+
* Refuses an operation that cannot be redirected at an array layer.
|
|
2363
|
+
*
|
|
2364
|
+
* Recognising the detail family proves the resources are mergeable; it does
|
|
2365
|
+
* not prove every *use* is. A texel fetch or a size query against a merged
|
|
2366
|
+
* register would silently mean something different once the register became
|
|
2367
|
+
* one layer of an array, so those fail the build instead.
|
|
2368
|
+
*
|
|
2369
|
+
* @param {object} state Mutable emission state.
|
|
2370
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2371
|
+
* @param {object} texOperand Texture resource operand.
|
|
2372
|
+
* @private
|
|
2289
2373
|
*/
|
|
2290
2374
|
_rejectDetailArrayMapUse(state, instruction, texOperand) {
|
|
2291
|
-
if (!state.
|
|
2292
|
-
throw new WebglReadError(
|
|
2375
|
+
if (!state.textureArrayLayers.has(texOperand.registerIndex)) return;
|
|
2376
|
+
throw new WebglReadError(`${state.textureArrayLayers.get(texOperand.registerIndex).outputName} layer is used by ` + `${instruction.opcodeName}, which this emitter cannot redirect at an array layer`, {
|
|
2293
2377
|
source: state.sourceName,
|
|
2294
2378
|
register: texOperand.registerIndex,
|
|
2295
2379
|
opcodeName: instruction.opcodeName
|
|
2296
2380
|
});
|
|
2297
2381
|
}
|
|
2298
2382
|
|
|
2299
|
-
/**
|
|
2300
|
-
* Resolves and validates the declared dimension of a texture operand.
|
|
2301
|
-
*
|
|
2302
|
-
* @param {object} state Mutable emission state.
|
|
2303
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2304
|
-
* @param {object} texOperand Texture resource operand.
|
|
2305
|
-
* @returns {number} DXBC resource-dimension code.
|
|
2306
|
-
* @private
|
|
2383
|
+
/**
|
|
2384
|
+
* Resolves and validates the declared dimension of a texture operand.
|
|
2385
|
+
*
|
|
2386
|
+
* @param {object} state Mutable emission state.
|
|
2387
|
+
* @param {object} instruction Decoded DXBC instruction.
|
|
2388
|
+
* @param {object} texOperand Texture resource operand.
|
|
2389
|
+
* @returns {number} DXBC resource-dimension code.
|
|
2390
|
+
* @private
|
|
2307
2391
|
*/
|
|
2308
2392
|
_resourceDimension(state, instruction, texOperand) {
|
|
2309
2393
|
const dimension = state.resourceDimensions.get(texOperand.registerIndex);
|
|
@@ -2317,18 +2401,18 @@ class DxbcGlslEmitter {
|
|
|
2317
2401
|
return dimension;
|
|
2318
2402
|
}
|
|
2319
2403
|
|
|
2320
|
-
/**
|
|
2321
|
-
* Emits a regular, LOD, bias, gradient, or comparison texture sample.
|
|
2322
|
-
*
|
|
2323
|
-
* @param {object} state Mutable emission state.
|
|
2324
|
-
* @param {object} instruction Decoded DXBC texture instruction.
|
|
2325
|
-
* @param {object} [options={}] Sampling-mode operand indexes.
|
|
2326
|
-
* @param {number|null} [options.lodOperandIndex=null] Explicit LOD operand.
|
|
2327
|
-
* @param {number|null} [options.biasOperandIndex=null] LOD bias operand.
|
|
2328
|
-
* @param {number[]|null} [options.gradOperandIndexes=null] Gradient operands.
|
|
2329
|
-
* @param {number|null} [options.comparisonRefOperandIndex=null] Comparison reference operand.
|
|
2330
|
-
* @param {boolean} [options.forceLodZero=false] Whether to force the LOD-zero adaptation.
|
|
2331
|
-
* @private
|
|
2404
|
+
/**
|
|
2405
|
+
* Emits a regular, LOD, bias, gradient, or comparison texture sample.
|
|
2406
|
+
*
|
|
2407
|
+
* @param {object} state Mutable emission state.
|
|
2408
|
+
* @param {object} instruction Decoded DXBC texture instruction.
|
|
2409
|
+
* @param {object} [options={}] Sampling-mode operand indexes.
|
|
2410
|
+
* @param {number|null} [options.lodOperandIndex=null] Explicit LOD operand.
|
|
2411
|
+
* @param {number|null} [options.biasOperandIndex=null] LOD bias operand.
|
|
2412
|
+
* @param {number[]|null} [options.gradOperandIndexes=null] Gradient operands.
|
|
2413
|
+
* @param {number|null} [options.comparisonRefOperandIndex=null] Comparison reference operand.
|
|
2414
|
+
* @param {boolean} [options.forceLodZero=false] Whether to force the LOD-zero adaptation.
|
|
2415
|
+
* @private
|
|
2332
2416
|
*/
|
|
2333
2417
|
_textureSample(state, instruction, {
|
|
2334
2418
|
lodOperandIndex = null,
|
|
@@ -2405,11 +2489,11 @@ class DxbcGlslEmitter {
|
|
|
2405
2489
|
}
|
|
2406
2490
|
const dimension = this._resourceDimension(state, instruction, texOperand);
|
|
2407
2491
|
const coordMask = COORD_MASK_BY_DIMENSION[dimension];
|
|
2408
|
-
const
|
|
2492
|
+
const arrayLayer = this._textureArrayLayer(state, texOperand);
|
|
2409
2493
|
const baseCoord = this._vecArg(state, coordOperand, coordMask);
|
|
2410
2494
|
// A merged detail map keeps its 2D coordinate and gains the layer as a
|
|
2411
2495
|
// literal third component; the register it came from is the layer.
|
|
2412
|
-
const coord =
|
|
2496
|
+
const coord = arrayLayer === null ? baseCoord : `vec3(${baseCoord}, ${arrayLayer}.0)`;
|
|
2413
2497
|
const texName = state.formatter.registerReference(texOperand);
|
|
2414
2498
|
const returnSwizzle = [...mask].map(component => texOperand.swizzle ? texOperand.swizzle["xyzw".indexOf(component)] : component).join("");
|
|
2415
2499
|
if (comparisonRefOperandIndex !== null) {
|
|
@@ -2459,17 +2543,24 @@ class DxbcGlslEmitter {
|
|
|
2459
2543
|
call = `texture(${texName}, ${coord})`;
|
|
2460
2544
|
}
|
|
2461
2545
|
call = this._applyEmulatedAddressing(state, instruction, call, coord, coordMask);
|
|
2546
|
+
|
|
2547
|
+
// A packed member's texel carries three other maps' scalars in its other
|
|
2548
|
+
// channels, so the value has to be reduced to its own before the
|
|
2549
|
+
// instruction's swizzle runs - otherwise a read of .y would silently
|
|
2550
|
+
// return a neighbouring map.
|
|
2551
|
+
const packedChannel = this._mergedChannel(state, texOperand);
|
|
2552
|
+
if (packedChannel !== null) call = `vec4((${call}).${packedChannel})`;
|
|
2462
2553
|
this._assign(state, instruction, `${call}.${returnSwizzle}`, {
|
|
2463
2554
|
saturate: instruction.saturate
|
|
2464
2555
|
});
|
|
2465
2556
|
}
|
|
2466
2557
|
|
|
2467
|
-
/**
|
|
2468
|
-
* Emits an integer-coordinate texel fetch for a declared resource.
|
|
2469
|
-
*
|
|
2470
|
-
* @param {object} state Mutable emission state.
|
|
2471
|
-
* @param {object} instruction Decoded DXBC load instruction.
|
|
2472
|
-
* @private
|
|
2558
|
+
/**
|
|
2559
|
+
* Emits an integer-coordinate texel fetch for a declared resource.
|
|
2560
|
+
*
|
|
2561
|
+
* @param {object} state Mutable emission state.
|
|
2562
|
+
* @param {object} instruction Decoded DXBC load instruction.
|
|
2563
|
+
* @private
|
|
2473
2564
|
*/
|
|
2474
2565
|
_texelFetch(state, instruction) {
|
|
2475
2566
|
const {
|
|
@@ -2505,9 +2596,9 @@ class DxbcGlslEmitter {
|
|
|
2505
2596
|
}
|
|
2506
2597
|
}
|
|
2507
2598
|
|
|
2508
|
-
/**
|
|
2509
|
-
* Per-opcode lowering table. Every rule cites its family spec in
|
|
2510
|
-
* `docs/dxbc-lowering/`; templates are HLSLcc-derived, see each doc.
|
|
2599
|
+
/**
|
|
2600
|
+
* Per-opcode lowering table. Every rule cites its family spec in
|
|
2601
|
+
* `docs/dxbc-lowering/`; templates are HLSLcc-derived, see each doc.
|
|
2511
2602
|
*/
|
|
2512
2603
|
DxbcGlslEmitter.LOWERINGS = {
|
|
2513
2604
|
// --- float-alu ---
|
|
@@ -3088,11 +3179,11 @@ DxbcGlslEmitter.LOWERINGS = {
|
|
|
3088
3179
|
}
|
|
3089
3180
|
};
|
|
3090
3181
|
|
|
3091
|
-
/**
|
|
3092
|
-
* `ld_structured` lowering. Vertex UBO path reads `name.data[row]` vec4 rows;
|
|
3093
|
-
* pixel data-texture path reads RGBA32UI texels (4 dwords per texel, fixed
|
|
3094
|
-
* 2048-texel row width). 16-byte-aligned reads use one static channel per
|
|
3095
|
-
* component; unaligned reads fall back to per-dword dynamic addressing.
|
|
3182
|
+
/**
|
|
3183
|
+
* `ld_structured` lowering. Vertex UBO path reads `name.data[row]` vec4 rows;
|
|
3184
|
+
* pixel data-texture path reads RGBA32UI texels (4 dwords per texel, fixed
|
|
3185
|
+
* 2048-texel row width). 16-byte-aligned reads use one static channel per
|
|
3186
|
+
* component; unaligned reads fall back to per-dword dynamic addressing.
|
|
3096
3187
|
*/
|
|
3097
3188
|
DxbcGlslEmitter.prototype._ldStructured = function _ldStructured(state, instruction) {
|
|
3098
3189
|
const target = state.formatter.destination(instruction.operands[0]);
|
|
@@ -3201,10 +3292,10 @@ DxbcGlslEmitter.prototype._ldStructured = function _ldStructured(state, instruct
|
|
|
3201
3292
|
}
|
|
3202
3293
|
};
|
|
3203
3294
|
|
|
3204
|
-
/**
|
|
3205
|
-
* `resinfo` lowering: width/height/depth via textureSize per live destination
|
|
3206
|
-
* component; the 4th (mip-count) channel has no WebGL2 equivalent and throws
|
|
3207
|
-
* only when a shader actually reads it.
|
|
3295
|
+
/**
|
|
3296
|
+
* `resinfo` lowering: width/height/depth via textureSize per live destination
|
|
3297
|
+
* component; the 4th (mip-count) channel has no WebGL2 equivalent and throws
|
|
3298
|
+
* only when a shader actually reads it.
|
|
3208
3299
|
*/
|
|
3209
3300
|
DxbcGlslEmitter.prototype._resinfo = function _resinfo(state, instruction) {
|
|
3210
3301
|
const {
|
|
@@ -3248,8 +3339,8 @@ DxbcGlslEmitter.prototype._resinfo = function _resinfo(state, instruction) {
|
|
|
3248
3339
|
}
|
|
3249
3340
|
};
|
|
3250
3341
|
|
|
3251
|
-
/**
|
|
3252
|
-
* Shared int/uint min-max lowering used by imax/imin/umax/umin.
|
|
3342
|
+
/**
|
|
3343
|
+
* Shared int/uint min-max lowering used by imax/imin/umax/umin.
|
|
3253
3344
|
*/
|
|
3254
3345
|
DxbcGlslEmitter.prototype._intMinMax = function _intMinMax(state, instruction, fn, as) {
|
|
3255
3346
|
const {
|
|
@@ -3261,16 +3352,16 @@ DxbcGlslEmitter.prototype._intMinMax = function _intMinMax(state, instruction, f
|
|
|
3261
3352
|
this._assign(state, instruction, `${wrap}(${fn}(${a}, ${b}))`);
|
|
3262
3353
|
};
|
|
3263
3354
|
|
|
3264
|
-
/**
|
|
3265
|
-
* `gather4` lowering: fetches one channel from each of the four texels a
|
|
3266
|
-
* bilinear sample would blend, via the `hlslcc_textureGather4Emulated` /
|
|
3267
|
-
* `hlslcc_textureGather4ArrayEmulated` helpers (GLSL ES 3.00 has no
|
|
3268
|
-
* `textureGather`). Only 2D and 2D-array resources are supported — the
|
|
3269
|
-
* dimensions the AO/blur/FSR/CAS map-style corpus this lowering targets is
|
|
3270
|
-
* known to use (ASSAO gathers from its deinterleaved texture2darray slices).
|
|
3271
|
-
*
|
|
3272
|
-
* @param {object} state Emit state.
|
|
3273
|
-
* @param {object} instruction `gather4` instruction.
|
|
3355
|
+
/**
|
|
3356
|
+
* `gather4` lowering: fetches one channel from each of the four texels a
|
|
3357
|
+
* bilinear sample would blend, via the `hlslcc_textureGather4Emulated` /
|
|
3358
|
+
* `hlslcc_textureGather4ArrayEmulated` helpers (GLSL ES 3.00 has no
|
|
3359
|
+
* `textureGather`). Only 2D and 2D-array resources are supported — the
|
|
3360
|
+
* dimensions the AO/blur/FSR/CAS map-style corpus this lowering targets is
|
|
3361
|
+
* known to use (ASSAO gathers from its deinterleaved texture2darray slices).
|
|
3362
|
+
*
|
|
3363
|
+
* @param {object} state Emit state.
|
|
3364
|
+
* @param {object} instruction `gather4` instruction.
|
|
3274
3365
|
*/
|
|
3275
3366
|
DxbcGlslEmitter.prototype._gather4 = function _gather4(state, instruction) {
|
|
3276
3367
|
const {
|
|
@@ -3290,11 +3381,21 @@ DxbcGlslEmitter.prototype._gather4 = function _gather4(state, instruction) {
|
|
|
3290
3381
|
// A merged detail map is declared 2D but sampled through an array, so the
|
|
3291
3382
|
// array helper and the layered coordinate are selected by the merge rather
|
|
3292
3383
|
// than by the declared dimension.
|
|
3293
|
-
|
|
3294
|
-
|
|
3384
|
+
// Gather returns four neighbouring texels of ONE channel; for a packed
|
|
3385
|
+
// member that channel is the pack's, not the map's, and no swizzle after
|
|
3386
|
+
// the fact recovers it. Refuse rather than emit something plausible.
|
|
3387
|
+
if (this._mergedChannel(state, texOperand) !== null) {
|
|
3388
|
+
throw new WebglReadError(`${state.textureArrayLayers.get(texOperand.registerIndex).outputName} channel is used by ` + `${instruction.opcodeName}, which this emitter cannot redirect at a packed channel`, {
|
|
3389
|
+
source: state.sourceName,
|
|
3390
|
+
register: texOperand.registerIndex,
|
|
3391
|
+
opcodeName: instruction.opcodeName
|
|
3392
|
+
});
|
|
3393
|
+
}
|
|
3394
|
+
const arrayLayer = this._textureArrayLayer(state, texOperand);
|
|
3395
|
+
const asArray = dimension === 8 || arrayLayer !== null;
|
|
3295
3396
|
const helper = this.helpers.require(asArray ? "hlslcc_textureGather4ArrayEmulated" : "hlslcc_textureGather4Emulated");
|
|
3296
3397
|
const baseCoord = this._vecArg(state, coordOperand, dimension === 8 ? "xyz" : "xy");
|
|
3297
|
-
const coord =
|
|
3398
|
+
const coord = arrayLayer === null ? baseCoord : `vec3(${baseCoord}, ${arrayLayer}.0)`;
|
|
3298
3399
|
const texName = state.formatter.registerReference(texOperand);
|
|
3299
3400
|
const channelLetter = this._gather4Channel(samplerOperand);
|
|
3300
3401
|
const channelIndex = "xyzw".indexOf(channelLetter);
|
|
@@ -3304,13 +3405,13 @@ DxbcGlslEmitter.prototype._gather4 = function _gather4(state, instruction) {
|
|
|
3304
3405
|
});
|
|
3305
3406
|
};
|
|
3306
3407
|
|
|
3307
|
-
/**
|
|
3308
|
-
* Reads the gathered-channel selector `gather4`/`gather4_po` carry on their
|
|
3309
|
-
* sampler operand (a 1-component swizzle; red/`x` is the default when no
|
|
3310
|
-
* selection is encoded).
|
|
3311
|
-
*
|
|
3312
|
-
* @param {object} operand Decoded sampler operand.
|
|
3313
|
-
* @returns {string} Channel letter (`x`/`y`/`z`/`w`).
|
|
3408
|
+
/**
|
|
3409
|
+
* Reads the gathered-channel selector `gather4`/`gather4_po` carry on their
|
|
3410
|
+
* sampler operand (a 1-component swizzle; red/`x` is the default when no
|
|
3411
|
+
* selection is encoded).
|
|
3412
|
+
*
|
|
3413
|
+
* @param {object} operand Decoded sampler operand.
|
|
3414
|
+
* @returns {string} Channel letter (`x`/`y`/`z`/`w`).
|
|
3314
3415
|
*/
|
|
3315
3416
|
DxbcGlslEmitter.prototype._gather4Channel = function _gather4Channel(operand) {
|
|
3316
3417
|
if (operand.selectionModeName === "select1" && operand.selected) {
|
|
@@ -3322,22 +3423,22 @@ DxbcGlslEmitter.prototype._gather4Channel = function _gather4Channel(operand) {
|
|
|
3322
3423
|
return "x";
|
|
3323
3424
|
};
|
|
3324
3425
|
|
|
3325
|
-
/**
|
|
3326
|
-
* Assembles the final GLSL text.
|
|
3426
|
+
/**
|
|
3427
|
+
* Assembles the final GLSL text.
|
|
3327
3428
|
*/
|
|
3328
|
-
/**
|
|
3329
|
-
* The depth-range fixup emitted at the end of a vertex stage, by source range.
|
|
3330
|
-
*
|
|
3331
|
-
* Both entries map their range onto GL NDC [-1, 1] and both compose to the
|
|
3332
|
-
* identity with a projection of the matching form, so an unbiased vertex is
|
|
3333
|
-
* unchanged either way. See `profile.depthRange`.
|
|
3334
|
-
* @type {Object.<string,string>}
|
|
3429
|
+
/**
|
|
3430
|
+
* The depth-range fixup emitted at the end of a vertex stage, by source range.
|
|
3431
|
+
*
|
|
3432
|
+
* Both entries map their range onto GL NDC [-1, 1] and both compose to the
|
|
3433
|
+
* identity with a projection of the matching form, so an unbiased vertex is
|
|
3434
|
+
* unchanged either way. See `profile.depthRange`.
|
|
3435
|
+
* @type {Object.<string,string>}
|
|
3335
3436
|
*/
|
|
3336
|
-
/**
|
|
3337
|
-
* The clip-space Y flip uniform and tail emitted when `profile.clipYFlip` is set.
|
|
3338
|
-
* Name and statements match CCP's shipped gles2 vertex bodies exactly, so a
|
|
3339
|
-
* consumer drives translated and legacy stages through the one uniform.
|
|
3340
|
-
* @type {string}
|
|
3437
|
+
/**
|
|
3438
|
+
* The clip-space Y flip uniform and tail emitted when `profile.clipYFlip` is set.
|
|
3439
|
+
* Name and statements match CCP's shipped gles2 vertex bodies exactly, so a
|
|
3440
|
+
* consumer drives translated and legacy stages through the one uniform.
|
|
3441
|
+
* @type {string}
|
|
3341
3442
|
*/
|
|
3342
3443
|
const CLIP_Y_FLIP_UNIFORM = "ssyf";
|
|
3343
3444
|
|