@carbonenginejs/runtime 0.1.0-alpha.3 → 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 +79 -98
- 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/index.js +1 -1
- package/dist/global/schema/CjsSchema.js +177 -51
- package/dist/global/schema/CjsSchema.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 +57 -24
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +33 -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 +0 -1
- 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 +659 -564
- 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 +9 -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/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 +23 -22
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- 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 +151 -148
- 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 +299 -227
- 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 +2 -2
- 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 +525 -431
- 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/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 +14 -10
- 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/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/video.md +92 -0
- package/docs/resource/reference/events.md +10 -9
- package/docs/resource/reference/queues.md +8 -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: [],
|
|
@@ -500,10 +506,10 @@ class DxbcGlslEmitter {
|
|
|
500
506
|
return result;
|
|
501
507
|
}
|
|
502
508
|
|
|
503
|
-
/**
|
|
504
|
-
* Normalizes the optional local-light constant-buffer lowering profile.
|
|
505
|
-
*
|
|
506
|
-
* @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.
|
|
507
513
|
*/
|
|
508
514
|
_normalizeLightConstantBufferProfile() {
|
|
509
515
|
const profile = this.profile.lightConstantBuffer;
|
|
@@ -522,27 +528,27 @@ class DxbcGlslEmitter {
|
|
|
522
528
|
};
|
|
523
529
|
}
|
|
524
530
|
|
|
525
|
-
/**
|
|
526
|
-
* Finds resources used by comparison-sample instructions before resource
|
|
527
|
-
* declarations are emitted, so those declarations can use shadow sampler
|
|
528
|
-
* types. A single GLSL uniform cannot be both a shadow and ordinary sampler;
|
|
529
|
-
* reject that shape explicitly instead of producing invalid GLSL.
|
|
530
|
-
*
|
|
531
|
-
* The same walk records the t#/s# pairing for EVERY sampled resource, not
|
|
532
|
-
* only the comparison ones. D3D carries sampler state on a shared sampler
|
|
533
|
-
* object and pairs it with a texture at the sample site; GLSL merges the two
|
|
534
|
-
* into one uniform, so that pairing is the only place the pairing exists once
|
|
535
|
-
* the shader is translated. Dropping it forces a consumer to guess, and the
|
|
536
|
-
* available guess - "the sampler whose register equals the texture's" - is
|
|
537
|
-
* numeric coincidence: with two pattern samplers declared, `NormalMap` at t3
|
|
538
|
-
* collides with the clamp sampler at s3 and every hull's normal map is read
|
|
539
|
-
* clamped instead of wrapped.
|
|
540
|
-
*
|
|
541
|
-
* @param {object} decoder Decoded DXBC instruction stream.
|
|
542
|
-
* @param {string} sourceName Source name used in error details.
|
|
543
|
-
* @returns {{comparison:Map<number,Set<number>>,paired:Map<number,Set<number>>}}
|
|
544
|
-
* Resource register -> sampler registers, for comparison sampling and for
|
|
545
|
-
* 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.
|
|
546
552
|
*/
|
|
547
553
|
_analyzeComparisonResources(decoder, sourceName) {
|
|
548
554
|
const comparisonResources = new Map();
|
|
@@ -584,27 +590,27 @@ class DxbcGlslEmitter {
|
|
|
584
590
|
};
|
|
585
591
|
}
|
|
586
592
|
|
|
587
|
-
/**
|
|
588
|
-
* Normalizes the emulated-addressing profile.
|
|
589
|
-
*
|
|
590
|
-
* Keyed by RESOURCE register, not sampler register, because that is what
|
|
591
|
-
* every layer we touch keys on: GL stores wrap state on the texture object,
|
|
592
|
-
* ccpwgl keys overrides by texture name, and the emitted GLSL declares one
|
|
593
|
-
* sampler uniform per resource. Only D3D treats the mode as a property of a
|
|
594
|
-
* shared sampler - in `decalv5` five textures share one bordered sampler and
|
|
595
|
-
* each can resolve to a different mode, which a sampler-keyed scheme cannot
|
|
596
|
-
* represent.
|
|
597
|
-
*
|
|
598
|
-
* It arrives as a profile option because it CANNOT be discovered here: DXBC
|
|
599
|
-
* carries no sampler state, which lives in the Carbon container wrapping it.
|
|
600
|
-
* The caller also chooses the SUPERSET - listing a texture whose container
|
|
601
|
-
* mode needs no emulation is deliberate and cheap, because the runtime mode
|
|
602
|
-
* decides, and it is what lets an override correct a container that is wrong.
|
|
603
|
-
*
|
|
604
|
-
* Shape: `{ bufferRegister, textures: [{ registerIndex, borderColor }] }`.
|
|
605
|
-
*
|
|
606
|
-
* @returns {{bufferRegister:number, textures:Map<number,{color:number[]}>}|null}
|
|
607
|
-
* 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.
|
|
608
614
|
*/
|
|
609
615
|
_normalizeEmulatedAddressingProfile() {
|
|
610
616
|
const value = this.profile.emulatedAddressing;
|
|
@@ -679,19 +685,19 @@ class DxbcGlslEmitter {
|
|
|
679
685
|
};
|
|
680
686
|
}
|
|
681
687
|
|
|
682
|
-
/**
|
|
683
|
-
* Applies emulated address modes to one sample.
|
|
684
|
-
*
|
|
685
|
-
* Emits nothing for a texture the caller did not list, so a shader with no
|
|
686
|
-
* emulated addressing is byte-identical to one emitted without the profile.
|
|
687
|
-
*
|
|
688
|
-
* @param {object} state Emit state.
|
|
689
|
-
* @param {object} instruction Decoded texture instruction.
|
|
690
|
-
* @param {string} call The GLSL sample expression built so far.
|
|
691
|
-
* @param {string} coord The coordinate expression passed to that sample.
|
|
692
|
-
* @param {string} coordMask Component mask of the coordinate.
|
|
693
|
-
* @returns {string} The sample expression, addressed when the caller listed it.
|
|
694
|
-
* @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
|
|
695
701
|
*/
|
|
696
702
|
_applyEmulatedAddressing(state, instruction, call, coord, coordMask) {
|
|
697
703
|
const profile = state.emulatedAddressing;
|
|
@@ -754,18 +760,18 @@ class DxbcGlslEmitter {
|
|
|
754
760
|
return `${borderHelper}(${rewritten}, ${addressedCoord}, ${modes}, vec4(${color}))`;
|
|
755
761
|
}
|
|
756
762
|
|
|
757
|
-
/**
|
|
758
|
-
* Declares the emulated-addressing constant buffer, once per shader.
|
|
759
|
-
*
|
|
760
|
-
* Sized to the highest listed resource register so the array stays compact,
|
|
761
|
-
* the way Carbon emitters declare compact `cb` arrays. The register is
|
|
762
|
-
* caller-chosen and defaults to 8: shipped effects declare only cb0-4, 6 and
|
|
763
|
-
* 7, and ccpwgl already resolves `cb0`..`cb15` by name, so 8 needs no new
|
|
764
|
-
* binding table.
|
|
765
|
-
*
|
|
766
|
-
* @param {object} state Emit state.
|
|
767
|
-
* @returns {string} The buffer's GLSL name.
|
|
768
|
-
* @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
|
|
769
775
|
*/
|
|
770
776
|
_ensureAddressBuffer(state) {
|
|
771
777
|
const {
|
|
@@ -826,10 +832,10 @@ class DxbcGlslEmitter {
|
|
|
826
832
|
return name;
|
|
827
833
|
}
|
|
828
834
|
|
|
829
|
-
/**
|
|
830
|
-
* Normalizes the optional packed local-light texture lowering profile.
|
|
831
|
-
*
|
|
832
|
-
* @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.
|
|
833
839
|
*/
|
|
834
840
|
_normalizeLightPackedTextureProfile() {
|
|
835
841
|
const profile = this.profile.lightPackedTexture;
|
|
@@ -847,12 +853,12 @@ class DxbcGlslEmitter {
|
|
|
847
853
|
};
|
|
848
854
|
}
|
|
849
855
|
|
|
850
|
-
/**
|
|
851
|
-
* Declares the packed local-light texture ABI used to replace the
|
|
852
|
-
* LightIndexBuffer/LightBuffer/LightProfileArray trio with one RGBA32UI
|
|
853
|
-
* data texture.
|
|
854
|
-
*
|
|
855
|
-
* @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.
|
|
856
862
|
*/
|
|
857
863
|
_ensureLightPackedTexture(state) {
|
|
858
864
|
const profile = state.lightPackedTexture;
|
|
@@ -874,9 +880,9 @@ class DxbcGlslEmitter {
|
|
|
874
880
|
});
|
|
875
881
|
}
|
|
876
882
|
|
|
877
|
-
/**
|
|
878
|
-
* Emits our packed profile helpers only when a sample uses them.
|
|
879
|
-
* @param {object} state Emit state.
|
|
883
|
+
/**
|
|
884
|
+
* Emits our packed profile helpers only when a sample uses them.
|
|
885
|
+
* @param {object} state Emit state.
|
|
880
886
|
*/
|
|
881
887
|
_ensureLightProfileHelpers(state) {
|
|
882
888
|
if (state.lightProfileHelpersDeclared) return;
|
|
@@ -891,11 +897,11 @@ class DxbcGlslEmitter {
|
|
|
891
897
|
}
|
|
892
898
|
}
|
|
893
899
|
|
|
894
|
-
/**
|
|
895
|
-
* Declares the local-light constant-buffer ABI used to replace the two
|
|
896
|
-
* tiled-light structured buffers without consuming sampler units.
|
|
897
|
-
*
|
|
898
|
-
* @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.
|
|
899
905
|
*/
|
|
900
906
|
_ensureLightConstantBuffer(state) {
|
|
901
907
|
const profile = state.lightConstantBuffer;
|
|
@@ -918,15 +924,15 @@ class DxbcGlslEmitter {
|
|
|
918
924
|
});
|
|
919
925
|
}
|
|
920
926
|
|
|
921
|
-
/**
|
|
922
|
-
* Rejects compute shaders that need real compute-pipeline features (shared
|
|
923
|
-
* memory, barriers, atomics, raw/structured/typed UAV reads) instead of the
|
|
924
|
-
* "map-style" thread-per-fragment shape this emitter lowers. The message
|
|
925
|
-
* intentionally contains "not supported" so packaging's kill-list
|
|
926
|
-
* classifier regex (`/not supported|No GLSL lowering|unimplementable/i`)
|
|
927
|
-
* routes these to the exclusion list rather than the failure list.
|
|
928
|
-
*
|
|
929
|
-
* @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.
|
|
930
936
|
*/
|
|
931
937
|
_assertMapStyleCompute(state) {
|
|
932
938
|
for (const instruction of state.decoder.instructions) {
|
|
@@ -942,26 +948,26 @@ class DxbcGlslEmitter {
|
|
|
942
948
|
}
|
|
943
949
|
}
|
|
944
950
|
|
|
945
|
-
/**
|
|
946
|
-
* Pre-scans a map-style compute shader's `store_uav_typed` instructions and
|
|
947
|
-
* builds a per-UAV slice plan before any declaration is emitted.
|
|
948
|
-
*
|
|
949
|
-
* Straight-line constant propagation only: the address registers ASSAO-style
|
|
950
|
-
* Prepare passes build are `mov rX.<c>, l(k)` immediates, so the tracker
|
|
951
|
-
* records the last constant written to each temp component and treats every
|
|
952
|
-
* other write as dynamic. Each stored-to UAV register resolves to either
|
|
953
|
-
* `{ kind: "single" }` (at most one store; the array-slice coordinate, when
|
|
954
|
-
* present, is dropped — the host attaches the target layer via
|
|
955
|
-
* `framebufferTextureLayer`) or `{ kind: "multiSlice", slices, sliceByOffset }`
|
|
956
|
-
* (several stores at statically distinct texture2darray slices, each routed
|
|
957
|
-
* to its own fragment output — the host attaches those layers as sequential
|
|
958
|
-
* color attachments).
|
|
959
|
-
*
|
|
960
|
-
* Anything outside those two shapes cannot become one fragment pass, so the
|
|
961
|
-
* throw messages deliberately contain "not supported" for packaging's
|
|
962
|
-
* kill-list classifier (see `_assertMapStyleCompute`).
|
|
963
|
-
*
|
|
964
|
-
* @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.
|
|
965
971
|
*/
|
|
966
972
|
_analyzeUavStores(state) {
|
|
967
973
|
for (const instruction of state.decoder.instructions) {
|
|
@@ -1034,16 +1040,16 @@ class DxbcGlslEmitter {
|
|
|
1034
1040
|
}
|
|
1035
1041
|
}
|
|
1036
1042
|
|
|
1037
|
-
/**
|
|
1038
|
-
* Updates the per-temp-component constant tracker for one instruction:
|
|
1039
|
-
* `mov rX.<mask>, l(...)` records each written component's immediate dword,
|
|
1040
|
-
* and any other write to a temp component invalidates it. Destination
|
|
1041
|
-
* operands are exactly the mask-selection temp operands (DXBC sources
|
|
1042
|
-
* always read through swizzle/select1), so this also handles multi-
|
|
1043
|
-
* destination opcodes like `sincos` and `udiv` conservatively.
|
|
1044
|
-
*
|
|
1045
|
-
* @param {object} instruction Decoded non-declaration instruction.
|
|
1046
|
-
* @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>`.
|
|
1047
1053
|
*/
|
|
1048
1054
|
_trackTempConstants(instruction, constantTemps) {
|
|
1049
1055
|
const source = instruction.operands[1];
|
|
@@ -1062,13 +1068,13 @@ class DxbcGlslEmitter {
|
|
|
1062
1068
|
}
|
|
1063
1069
|
}
|
|
1064
1070
|
|
|
1065
|
-
/**
|
|
1066
|
-
* Resolves the array-slice (z) component of a `store_uav_typed` address
|
|
1067
|
-
* operand to a compile-time constant, or null when it is dynamic.
|
|
1068
|
-
*
|
|
1069
|
-
* @param {object} addressOperand Decoded address operand.
|
|
1070
|
-
* @param {Map<string, number>} constantTemps Constant tracker keyed `<register>.<component>`.
|
|
1071
|
-
* @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.
|
|
1072
1078
|
*/
|
|
1073
1079
|
_resolveSliceConstant(addressOperand, constantTemps) {
|
|
1074
1080
|
if (addressOperand.type === 4) {
|
|
@@ -1083,14 +1089,14 @@ class DxbcGlslEmitter {
|
|
|
1083
1089
|
return constantTemps.has(key) ? constantTemps.get(key) : null;
|
|
1084
1090
|
}
|
|
1085
1091
|
|
|
1086
|
-
/**
|
|
1087
|
-
* Allocates the next map-style UAV fragment-output location, enforcing the
|
|
1088
|
-
* `MAX_MAP_STYLE_UAV_OUTPUTS` attachment budget across single-output UAVs
|
|
1089
|
-
* and per-slice multi-output UAVs alike.
|
|
1090
|
-
*
|
|
1091
|
-
* @param {object} state Emit state.
|
|
1092
|
-
* @param {number} register UAV register index (error detail only).
|
|
1093
|
-
* @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.
|
|
1094
1100
|
*/
|
|
1095
1101
|
_allocateUavOutputLocation(state, register) {
|
|
1096
1102
|
const location = state.uavOutputCount;
|
|
@@ -1109,12 +1115,12 @@ class DxbcGlslEmitter {
|
|
|
1109
1115
|
// Declarations
|
|
1110
1116
|
// ------------------------------------------------------------------
|
|
1111
1117
|
|
|
1112
|
-
/**
|
|
1113
|
-
* Emits one decoded DXBC declaration into the GLSL interface and manifest.
|
|
1114
|
-
*
|
|
1115
|
-
* @param {object} state Mutable emission state.
|
|
1116
|
-
* @param {object} instruction Decoded DXBC declaration instruction.
|
|
1117
|
-
* @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
|
|
1118
1124
|
*/
|
|
1119
1125
|
_emitDeclaration(state, instruction) {
|
|
1120
1126
|
const declaration = instruction.declaration;
|
|
@@ -1211,8 +1217,8 @@ class DxbcGlslEmitter {
|
|
|
1211
1217
|
dimensionName: declaration.resourceDimensionName
|
|
1212
1218
|
});
|
|
1213
1219
|
}
|
|
1214
|
-
if (state.
|
|
1215
|
-
this.
|
|
1220
|
+
if (state.textureArrayLayers.has(register)) {
|
|
1221
|
+
this._declareTextureArrayMap(state, register, declaration, comparisonSamplers);
|
|
1216
1222
|
break;
|
|
1217
1223
|
}
|
|
1218
1224
|
const name = this.profile.samplerName(register, state.stageName);
|
|
@@ -1411,24 +1417,24 @@ class DxbcGlslEmitter {
|
|
|
1411
1417
|
}
|
|
1412
1418
|
}
|
|
1413
1419
|
|
|
1414
|
-
/**
|
|
1415
|
-
* Finds the signature element assigned to a register.
|
|
1416
|
-
*
|
|
1417
|
-
* @param {object|null} signature Decoded DXBC signature.
|
|
1418
|
-
* @param {number} registerIndex Register index.
|
|
1419
|
-
* @returns {object|null} Matching signature element.
|
|
1420
|
-
* @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
|
|
1421
1427
|
*/
|
|
1422
1428
|
_signatureElement(signature, registerIndex) {
|
|
1423
1429
|
return signature?.elements.find(element => element.registerIndex === registerIndex) || null;
|
|
1424
1430
|
}
|
|
1425
1431
|
|
|
1426
|
-
/**
|
|
1427
|
-
* Declares one vertex input using its Carbon semantic identity.
|
|
1428
|
-
*
|
|
1429
|
-
* @param {object} state Mutable emission state.
|
|
1430
|
-
* @param {object} instruction Decoded input declaration.
|
|
1431
|
-
* @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
|
|
1432
1438
|
*/
|
|
1433
1439
|
_declareVertexInput(state, instruction) {
|
|
1434
1440
|
const register = instruction.declaration.registerIndex;
|
|
@@ -1470,12 +1476,12 @@ class DxbcGlslEmitter {
|
|
|
1470
1476
|
});
|
|
1471
1477
|
}
|
|
1472
1478
|
|
|
1473
|
-
/**
|
|
1474
|
-
* Declares one pixel-stage varying or system input.
|
|
1475
|
-
*
|
|
1476
|
-
* @param {object} state Mutable emission state.
|
|
1477
|
-
* @param {object} instruction Decoded input declaration.
|
|
1478
|
-
* @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
|
|
1479
1485
|
*/
|
|
1480
1486
|
_declarePixelInput(state, instruction) {
|
|
1481
1487
|
const register = instruction.declaration.registerIndex;
|
|
@@ -1515,12 +1521,12 @@ class DxbcGlslEmitter {
|
|
|
1515
1521
|
});
|
|
1516
1522
|
}
|
|
1517
1523
|
|
|
1518
|
-
/**
|
|
1519
|
-
* Maps a supported system-generated input to its GLSL expression.
|
|
1520
|
-
*
|
|
1521
|
-
* @param {object} state Mutable emission state.
|
|
1522
|
-
* @param {object} instruction Decoded system-input declaration.
|
|
1523
|
-
* @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
|
|
1524
1530
|
*/
|
|
1525
1531
|
_declareSystemInput(state, instruction) {
|
|
1526
1532
|
const declaration = instruction.declaration;
|
|
@@ -1545,16 +1551,16 @@ class DxbcGlslEmitter {
|
|
|
1545
1551
|
}
|
|
1546
1552
|
}
|
|
1547
1553
|
|
|
1548
|
-
/**
|
|
1549
|
-
* Records which compute pseudo-input(s) a `dcl_input` declaration exposes.
|
|
1550
|
-
* The actual GLSL (uniform + derived locals) is emitted once, after every
|
|
1551
|
-
* declaration has been seen, by `_emitComputeInputPrelude` — `dcl_input`
|
|
1552
|
-
* for a thread-id kind can appear before or after `dcl_thread_group` in the
|
|
1553
|
-
* bytecode stream, and the flattened/group-id forms need the workgroup
|
|
1554
|
-
* size regardless of declaration order.
|
|
1555
|
-
*
|
|
1556
|
-
* @param {object} state Emit state.
|
|
1557
|
-
* @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.
|
|
1558
1564
|
*/
|
|
1559
1565
|
_declareComputeInput(state, instruction) {
|
|
1560
1566
|
const kind = instruction.declaration.operandTypeName;
|
|
@@ -1579,13 +1585,13 @@ class DxbcGlslEmitter {
|
|
|
1579
1585
|
}
|
|
1580
1586
|
}
|
|
1581
1587
|
|
|
1582
|
-
/**
|
|
1583
|
-
* Emits the shared `gl_FragCoord`-derived thread-id prelude for map-style
|
|
1584
|
-
* compute shaders: a `cjsDispatchOrigin` uniform (so a dispatch can be
|
|
1585
|
-
* tiled across more than one draw/viewport), then only the intermediate
|
|
1586
|
-
* and final locals this shader actually declared inputs for.
|
|
1587
|
-
*
|
|
1588
|
-
* @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.
|
|
1589
1595
|
*/
|
|
1590
1596
|
_emitComputeInputPrelude(state) {
|
|
1591
1597
|
const used = state.computeInputsUsed;
|
|
@@ -1620,12 +1626,12 @@ class DxbcGlslEmitter {
|
|
|
1620
1626
|
}
|
|
1621
1627
|
}
|
|
1622
1628
|
|
|
1623
|
-
/**
|
|
1624
|
-
* Reads the workgroup size recorded by `dcl_thread_group`, required to
|
|
1625
|
-
* split the flat thread id back into group id / id-in-group components.
|
|
1626
|
-
*
|
|
1627
|
-
* @param {object} state Emit state.
|
|
1628
|
-
* @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.
|
|
1629
1635
|
*/
|
|
1630
1636
|
_threadGroupSizeOrThrow(state) {
|
|
1631
1637
|
if (!Array.isArray(state.threadGroup)) {
|
|
@@ -1636,12 +1642,12 @@ class DxbcGlslEmitter {
|
|
|
1636
1642
|
return state.threadGroup;
|
|
1637
1643
|
}
|
|
1638
1644
|
|
|
1639
|
-
/**
|
|
1640
|
-
* Declares one stage output and records its backend identity.
|
|
1641
|
-
*
|
|
1642
|
-
* @param {object} state Mutable emission state.
|
|
1643
|
-
* @param {object} instruction Decoded output declaration.
|
|
1644
|
-
* @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
|
|
1645
1651
|
*/
|
|
1646
1652
|
_declareOutput(state, instruction) {
|
|
1647
1653
|
const declaration = instruction.declaration;
|
|
@@ -1699,12 +1705,12 @@ class DxbcGlslEmitter {
|
|
|
1699
1705
|
}
|
|
1700
1706
|
}
|
|
1701
1707
|
|
|
1702
|
-
/**
|
|
1703
|
-
* Materializes an immediate constant-buffer declaration.
|
|
1704
|
-
*
|
|
1705
|
-
* @param {object} state Mutable emission state.
|
|
1706
|
-
* @param {object} instruction Decoded custom-data declaration.
|
|
1707
|
-
* @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
|
|
1708
1714
|
*/
|
|
1709
1715
|
_declareImmediateConstantBuffer(state, instruction) {
|
|
1710
1716
|
const rows = instruction.customData?.immediateConstantBuffer;
|
|
@@ -1715,11 +1721,11 @@ class DxbcGlslEmitter {
|
|
|
1715
1721
|
state.declarationLines.push(`const vec4 ${state.icbName}[${rows.length}] = vec4[${rows.length}](`, ...literals.map((literal, index) => ` ${literal}${index < literals.length - 1 ? "," : ""}`), ");");
|
|
1716
1722
|
}
|
|
1717
1723
|
|
|
1718
|
-
/**
|
|
1719
|
-
* Initializes paired vertex outputs that the source shader does not write.
|
|
1720
|
-
*
|
|
1721
|
-
* @param {object} state Mutable emission state.
|
|
1722
|
-
* @private
|
|
1724
|
+
/**
|
|
1725
|
+
* Initializes paired vertex outputs that the source shader does not write.
|
|
1726
|
+
*
|
|
1727
|
+
* @param {object} state Mutable emission state.
|
|
1728
|
+
* @private
|
|
1723
1729
|
*/
|
|
1724
1730
|
_zeroFillUnwrittenOutputs(state) {
|
|
1725
1731
|
const written = new Set();
|
|
@@ -1744,12 +1750,12 @@ class DxbcGlslEmitter {
|
|
|
1744
1750
|
// Instructions
|
|
1745
1751
|
// ------------------------------------------------------------------
|
|
1746
1752
|
|
|
1747
|
-
/**
|
|
1748
|
-
* Dispatches one decoded instruction to its GLSL lowering rule.
|
|
1749
|
-
*
|
|
1750
|
-
* @param {object} state Mutable emission state.
|
|
1751
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1752
|
-
* @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
|
|
1753
1759
|
*/
|
|
1754
1760
|
_emitInstruction(state, instruction) {
|
|
1755
1761
|
const lower = DxbcGlslEmitter.LOWERINGS[instruction.opcodeName];
|
|
@@ -1763,12 +1769,12 @@ class DxbcGlslEmitter {
|
|
|
1763
1769
|
lower.call(this, state, instruction);
|
|
1764
1770
|
}
|
|
1765
1771
|
|
|
1766
|
-
/**
|
|
1767
|
-
* Appends one correctly indented line to the emitted function body.
|
|
1768
|
-
*
|
|
1769
|
-
* @param {object} state Mutable emission state.
|
|
1770
|
-
* @param {string} text GLSL source line.
|
|
1771
|
-
* @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
|
|
1772
1778
|
*/
|
|
1773
1779
|
_line(state, text) {
|
|
1774
1780
|
// Packed uint words (and small integer results) must survive float
|
|
@@ -1815,12 +1821,12 @@ class DxbcGlslEmitter {
|
|
|
1815
1821
|
state.bodyLines.push(`${" ".repeat(state.indent)}${text}`);
|
|
1816
1822
|
}
|
|
1817
1823
|
|
|
1818
|
-
/**
|
|
1819
|
-
* Counts the active components in a DXBC mask.
|
|
1820
|
-
*
|
|
1821
|
-
* @param {number} mask DXBC component bit mask.
|
|
1822
|
-
* @returns {number} Active component count.
|
|
1823
|
-
* @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
|
|
1824
1830
|
*/
|
|
1825
1831
|
_maskWidth(mask) {
|
|
1826
1832
|
let width = 0;
|
|
@@ -1830,51 +1836,51 @@ class DxbcGlslEmitter {
|
|
|
1830
1836
|
return width || 4;
|
|
1831
1837
|
}
|
|
1832
1838
|
|
|
1833
|
-
/**
|
|
1834
|
-
* Converts a DXBC component bit mask to GLSL swizzle characters.
|
|
1835
|
-
*
|
|
1836
|
-
* @param {number} mask DXBC component bit mask.
|
|
1837
|
-
* @returns {string} GLSL component string.
|
|
1838
|
-
* @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
|
|
1839
1845
|
*/
|
|
1840
1846
|
_maskChars(mask) {
|
|
1841
1847
|
return COMPONENTS.filter((_, bit) => mask & 1 << bit).join("") || "xyzw";
|
|
1842
1848
|
}
|
|
1843
1849
|
|
|
1844
|
-
/**
|
|
1845
|
-
* Builds the lvalue text for one register-space destination component,
|
|
1846
|
-
* 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.
|
|
1847
1853
|
*/
|
|
1848
1854
|
_destComponentRef(state, destOperand, target, component) {
|
|
1849
1855
|
const remapped = state.formatter.remapComponents(destOperand, component);
|
|
1850
1856
|
return `${target.ref}${remapped ? `.${remapped}` : ""}`;
|
|
1851
1857
|
}
|
|
1852
1858
|
|
|
1853
|
-
/**
|
|
1854
|
-
* Formats a resolved destination reference and optional mask.
|
|
1855
|
-
*
|
|
1856
|
-
* @param {object} target Resolved destination.
|
|
1857
|
-
* @returns {string} GLSL lvalue text.
|
|
1858
|
-
* @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
|
|
1859
1865
|
*/
|
|
1860
1866
|
_destText(target) {
|
|
1861
1867
|
return `${target.ref}${target.mask ? `.${target.mask}` : ""}`;
|
|
1862
1868
|
}
|
|
1863
1869
|
|
|
1864
|
-
/**
|
|
1865
|
-
* Selects the GLSL floating scalar or vector type for a width.
|
|
1866
|
-
*
|
|
1867
|
-
* @param {number} width Component width.
|
|
1868
|
-
* @returns {string} GLSL type name.
|
|
1869
|
-
* @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
|
|
1870
1876
|
*/
|
|
1871
1877
|
_vecType(width) {
|
|
1872
1878
|
return width === 1 ? "float" : `vec${width}`;
|
|
1873
1879
|
}
|
|
1874
1880
|
|
|
1875
|
-
/**
|
|
1876
|
-
* Reads a source at the destination mask's width, wrapping in a matching
|
|
1877
|
-
* 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.
|
|
1878
1884
|
*/
|
|
1879
1885
|
_vecArg(state, operand, destMask, as = "float") {
|
|
1880
1886
|
const expression = state.formatter.sourceExpression(operand, {
|
|
@@ -1892,14 +1898,14 @@ class DxbcGlslEmitter {
|
|
|
1892
1898
|
return `${ctor}(${expression})`;
|
|
1893
1899
|
}
|
|
1894
1900
|
|
|
1895
|
-
/**
|
|
1896
|
-
* Resolves a destination operand and its register-space component mask.
|
|
1897
|
-
*
|
|
1898
|
-
* @param {object} state Mutable emission state.
|
|
1899
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1900
|
-
* @param {number} [operandIndex=0] Destination operand index.
|
|
1901
|
-
* @returns {{target: object|null, mask: string}} Destination and mask.
|
|
1902
|
-
* @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
|
|
1903
1909
|
*/
|
|
1904
1910
|
_destMask(state, instruction, operandIndex = 0) {
|
|
1905
1911
|
const target = state.formatter.destination(instruction.operands[operandIndex]);
|
|
@@ -1912,25 +1918,25 @@ class DxbcGlslEmitter {
|
|
|
1912
1918
|
};
|
|
1913
1919
|
}
|
|
1914
1920
|
|
|
1915
|
-
/**
|
|
1916
|
-
* Tests whether an operand produces one scalar component.
|
|
1917
|
-
*
|
|
1918
|
-
* @param {object} operand Decoded DXBC operand.
|
|
1919
|
-
* @returns {boolean} True when the source is scalar.
|
|
1920
|
-
* @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
|
|
1921
1927
|
*/
|
|
1922
1928
|
_isScalarSource(operand) {
|
|
1923
1929
|
return operand.selectionModeName === "select1" || operand.type === 4 && operand.componentCount === 1 || operand.componentCount === 1;
|
|
1924
1930
|
}
|
|
1925
1931
|
|
|
1926
|
-
/**
|
|
1927
|
-
* Emits an assignment and applies instruction saturation when required.
|
|
1928
|
-
*
|
|
1929
|
-
* @param {object} state Mutable emission state.
|
|
1930
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1931
|
-
* @param {string} valueExpression GLSL right-hand expression.
|
|
1932
|
-
* @param {object} [options={}] Assignment formatting options.
|
|
1933
|
-
* @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
|
|
1934
1940
|
*/
|
|
1935
1941
|
_assign(state, instruction, valueExpression, options = {}) {
|
|
1936
1942
|
const statement = state.formatter.assignment(instruction.operands[0], valueExpression, options);
|
|
@@ -1946,13 +1952,13 @@ class DxbcGlslEmitter {
|
|
|
1946
1952
|
}
|
|
1947
1953
|
}
|
|
1948
1954
|
|
|
1949
|
-
/**
|
|
1950
|
-
* Emits a width-correct floating binary infix operation.
|
|
1951
|
-
*
|
|
1952
|
-
* @param {object} state Mutable emission state.
|
|
1953
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1954
|
-
* @param {string} operator GLSL infix operator.
|
|
1955
|
-
* @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
|
|
1956
1962
|
*/
|
|
1957
1963
|
_infixBinary(state, instruction, operator) {
|
|
1958
1964
|
const {
|
|
@@ -1968,15 +1974,15 @@ class DxbcGlslEmitter {
|
|
|
1968
1974
|
this._assignWidened(state, instruction, mask, `${a} ${operator} ${b}`, width === 1);
|
|
1969
1975
|
}
|
|
1970
1976
|
|
|
1971
|
-
/**
|
|
1972
|
-
* Widens a scalar result when assigning it to a vector destination.
|
|
1973
|
-
*
|
|
1974
|
-
* @param {object} state Mutable emission state.
|
|
1975
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1976
|
-
* @param {string} mask Destination component mask.
|
|
1977
|
-
* @param {string} expression GLSL expression.
|
|
1978
|
-
* @param {boolean} rhsIsScalar Whether the expression is scalar.
|
|
1979
|
-
* @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
|
|
1980
1986
|
*/
|
|
1981
1987
|
_assignWidened(state, instruction, mask, expression, rhsIsScalar) {
|
|
1982
1988
|
const value = rhsIsScalar && mask.length > 1 ? `vec${mask.length}(${expression})` : expression;
|
|
@@ -1985,13 +1991,13 @@ class DxbcGlslEmitter {
|
|
|
1985
1991
|
});
|
|
1986
1992
|
}
|
|
1987
1993
|
|
|
1988
|
-
/**
|
|
1989
|
-
* Emits a unary GLSL intrinsic with destination-width handling.
|
|
1990
|
-
*
|
|
1991
|
-
* @param {object} state Mutable emission state.
|
|
1992
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
1993
|
-
* @param {string} glslName GLSL intrinsic name.
|
|
1994
|
-
* @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
|
|
1995
2001
|
*/
|
|
1996
2002
|
_helperUnary(state, instruction, glslName) {
|
|
1997
2003
|
const {
|
|
@@ -2003,13 +2009,13 @@ class DxbcGlslEmitter {
|
|
|
2003
2009
|
this._assignWidened(state, instruction, mask, `${glslName}(${src})`, state.formatter.expressionWidth(instruction.operands[1], mask) === 1);
|
|
2004
2010
|
}
|
|
2005
2011
|
|
|
2006
|
-
/**
|
|
2007
|
-
* Emits a binary GLSL intrinsic with width-matched arguments.
|
|
2008
|
-
*
|
|
2009
|
-
* @param {object} state Mutable emission state.
|
|
2010
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2011
|
-
* @param {string} glslName GLSL intrinsic name.
|
|
2012
|
-
* @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
|
|
2013
2019
|
*/
|
|
2014
2020
|
_helperBinary(state, instruction, glslName) {
|
|
2015
2021
|
const {
|
|
@@ -2022,13 +2028,13 @@ class DxbcGlslEmitter {
|
|
|
2022
2028
|
});
|
|
2023
2029
|
}
|
|
2024
2030
|
|
|
2025
|
-
/**
|
|
2026
|
-
* Emits a dot product and replicates its scalar result when necessary.
|
|
2027
|
-
*
|
|
2028
|
-
* @param {object} state Mutable emission state.
|
|
2029
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2030
|
-
* @param {string} sourceMask Source component mask.
|
|
2031
|
-
* @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
|
|
2032
2038
|
*/
|
|
2033
2039
|
_dotProduct(state, instruction, sourceMask) {
|
|
2034
2040
|
const {
|
|
@@ -2042,16 +2048,16 @@ class DxbcGlslEmitter {
|
|
|
2042
2048
|
});
|
|
2043
2049
|
}
|
|
2044
2050
|
|
|
2045
|
-
/**
|
|
2046
|
-
* Emits scalar or vector comparison bits in the float register model.
|
|
2047
|
-
*
|
|
2048
|
-
* @param {object} state Mutable emission state.
|
|
2049
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2050
|
-
* @param {object} options Comparison options.
|
|
2051
|
-
* @param {string} options.intrinsic GLSL vector comparison intrinsic.
|
|
2052
|
-
* @param {string} options.operator GLSL scalar comparison operator.
|
|
2053
|
-
* @param {"float"|"int"|"uint"} options.as Operand interpretation.
|
|
2054
|
-
* @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
|
|
2055
2061
|
*/
|
|
2056
2062
|
_comparison(state, instruction, {
|
|
2057
2063
|
intrinsic,
|
|
@@ -2078,13 +2084,13 @@ class DxbcGlslEmitter {
|
|
|
2078
2084
|
this._assign(state, instruction, `uintBitsToFloat(uvec${mask.length}(${intrinsic}(${a}, ${b})) * 0xFFFFFFFFu)`);
|
|
2079
2085
|
}
|
|
2080
2086
|
|
|
2081
|
-
/**
|
|
2082
|
-
* Emits an unsigned bitwise operation through register bitcasts.
|
|
2083
|
-
*
|
|
2084
|
-
* @param {object} state Mutable emission state.
|
|
2085
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2086
|
-
* @param {string} operator GLSL bitwise operator.
|
|
2087
|
-
* @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
|
|
2088
2094
|
*/
|
|
2089
2095
|
_bitwiseBinary(state, instruction, operator) {
|
|
2090
2096
|
const {
|
|
@@ -2095,14 +2101,14 @@ class DxbcGlslEmitter {
|
|
|
2095
2101
|
this._assign(state, instruction, `uintBitsToFloat(${a} ${operator} ${b})`);
|
|
2096
2102
|
}
|
|
2097
2103
|
|
|
2098
|
-
/**
|
|
2099
|
-
* Emits a signed or unsigned integer binary operation through bitcasts.
|
|
2100
|
-
*
|
|
2101
|
-
* @param {object} state Mutable emission state.
|
|
2102
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2103
|
-
* @param {string} operator GLSL integer operator.
|
|
2104
|
-
* @param {"int"|"uint"} [as="int"] Integer interpretation.
|
|
2105
|
-
* @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
|
|
2106
2112
|
*/
|
|
2107
2113
|
_intBinary(state, instruction, operator, as = "int") {
|
|
2108
2114
|
const {
|
|
@@ -2114,13 +2120,13 @@ class DxbcGlslEmitter {
|
|
|
2114
2120
|
this._assign(state, instruction, `${wrap}(${a} ${operator} ${b})`);
|
|
2115
2121
|
}
|
|
2116
2122
|
|
|
2117
|
-
/**
|
|
2118
|
-
* Formats the DXBC zero or nonzero control-flow condition.
|
|
2119
|
-
*
|
|
2120
|
-
* @param {object} state Mutable emission state.
|
|
2121
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2122
|
-
* @returns {string} GLSL boolean expression.
|
|
2123
|
-
* @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
|
|
2124
2130
|
*/
|
|
2125
2131
|
_condition(state, instruction) {
|
|
2126
2132
|
const scalar = state.formatter.sourceExpression(instruction.operands[0], {
|
|
@@ -2131,12 +2137,12 @@ class DxbcGlslEmitter {
|
|
|
2131
2137
|
return `${scalar} ${test} 0u`;
|
|
2132
2138
|
}
|
|
2133
2139
|
|
|
2134
|
-
/**
|
|
2135
|
-
* Emits component-wise conditional moves without aliasing destinations.
|
|
2136
|
-
*
|
|
2137
|
-
* @param {object} state Mutable emission state.
|
|
2138
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2139
|
-
* @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
|
|
2140
2146
|
*/
|
|
2141
2147
|
_movc(state, instruction) {
|
|
2142
2148
|
const destOperand = instruction.operands[0];
|
|
@@ -2181,12 +2187,12 @@ class DxbcGlslEmitter {
|
|
|
2181
2187
|
}
|
|
2182
2188
|
}
|
|
2183
2189
|
|
|
2184
|
-
/**
|
|
2185
|
-
* Emits the paired sine and cosine destinations in alias-safe order.
|
|
2186
|
-
*
|
|
2187
|
-
* @param {object} state Mutable emission state.
|
|
2188
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2189
|
-
* @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
|
|
2190
2196
|
*/
|
|
2191
2197
|
_sincos(state, instruction) {
|
|
2192
2198
|
const [sinDest, cosDest, angle] = instruction.operands;
|
|
@@ -2214,23 +2220,23 @@ class DxbcGlslEmitter {
|
|
|
2214
2220
|
}
|
|
2215
2221
|
}
|
|
2216
2222
|
|
|
2217
|
-
/**
|
|
2218
|
-
* Declares
|
|
2219
|
-
*
|
|
2220
|
-
* Each member keeps its own entry in `resourceNames` pointing at the shared
|
|
2221
|
-
* array, so every existing reference site resolves to it without knowing a
|
|
2222
|
-
* merge happened. The declared dimension deliberately stays 2D: the layer is
|
|
2223
|
-
* appended to the coordinate at each sample site rather than read out of the
|
|
2224
|
-
* shader's own operand, which has no third component to give.
|
|
2225
|
-
*
|
|
2226
|
-
* @param {object} state Mutable emission state.
|
|
2227
|
-
* @param {number} register Resource register being declared.
|
|
2228
|
-
* @param {object} declaration Decoded resource declaration.
|
|
2229
|
-
* @param {Set<number>|null} comparisonSamplers Comparison samplers, when any.
|
|
2230
|
-
* @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
|
|
2231
2237
|
*/
|
|
2232
|
-
|
|
2233
|
-
// 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
|
|
2234
2240
|
// recogniser promised, so refuse rather than emit a wrong declaration.
|
|
2235
2241
|
if (comparisonSamplers || declaration.resourceDimension !== 3) {
|
|
2236
2242
|
throw new WebglReadError("Detail-map array merging requires plain 2D textures without comparison sampling", {
|
|
@@ -2239,77 +2245,149 @@ class DxbcGlslEmitter {
|
|
|
2239
2245
|
dimensionName: declaration.resourceDimensionName
|
|
2240
2246
|
});
|
|
2241
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);
|
|
2242
2251
|
state.resourceDimensions.set(register, declaration.resourceDimension);
|
|
2243
|
-
state.resourceNames.set(register,
|
|
2244
|
-
if (state.
|
|
2245
|
-
state.
|
|
2252
|
+
state.resourceNames.set(register, symbol);
|
|
2253
|
+
if (state.declaredTextureArrays.has(symbol)) return;
|
|
2254
|
+
state.declaredTextureArrays.add(symbol);
|
|
2246
2255
|
|
|
2247
2256
|
// One GL uniform now stands for every merged layer, so it can carry only
|
|
2248
2257
|
// one sampler state. Union the layers' pairings: if they disagree the
|
|
2249
2258
|
// merge itself was invalid, and the packaging layer is where that is
|
|
2250
2259
|
// detectable, because only it holds the sampler values to compare.
|
|
2251
|
-
const
|
|
2252
|
-
for (const layerRegister of
|
|
2253
|
-
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);
|
|
2254
2263
|
}
|
|
2255
|
-
|
|
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};`);
|
|
2256
2271
|
state.bindings.push({
|
|
2257
2272
|
kind: "resource",
|
|
2258
2273
|
registerIndex: register,
|
|
2259
|
-
name:
|
|
2260
|
-
samplerType:
|
|
2261
|
-
dimensionName: "texture2darray",
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
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)
|
|
2266
2286
|
} : {})
|
|
2267
2287
|
});
|
|
2268
2288
|
}
|
|
2269
2289
|
|
|
2270
|
-
/**
|
|
2271
|
-
*
|
|
2272
|
-
*
|
|
2273
|
-
*
|
|
2274
|
-
*
|
|
2275
|
-
*
|
|
2276
|
-
*
|
|
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
|
|
2277
2334
|
*/
|
|
2278
|
-
|
|
2279
|
-
const
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
*
|
|
2288
|
-
*
|
|
2289
|
-
*
|
|
2290
|
-
*
|
|
2291
|
-
*
|
|
2292
|
-
*
|
|
2293
|
-
*
|
|
2294
|
-
* @
|
|
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
|
|
2355
|
+
*/
|
|
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
|
|
2295
2373
|
*/
|
|
2296
2374
|
_rejectDetailArrayMapUse(state, instruction, texOperand) {
|
|
2297
|
-
if (!state.
|
|
2298
|
-
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`, {
|
|
2299
2377
|
source: state.sourceName,
|
|
2300
2378
|
register: texOperand.registerIndex,
|
|
2301
2379
|
opcodeName: instruction.opcodeName
|
|
2302
2380
|
});
|
|
2303
2381
|
}
|
|
2304
2382
|
|
|
2305
|
-
/**
|
|
2306
|
-
* Resolves and validates the declared dimension of a texture operand.
|
|
2307
|
-
*
|
|
2308
|
-
* @param {object} state Mutable emission state.
|
|
2309
|
-
* @param {object} instruction Decoded DXBC instruction.
|
|
2310
|
-
* @param {object} texOperand Texture resource operand.
|
|
2311
|
-
* @returns {number} DXBC resource-dimension code.
|
|
2312
|
-
* @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
|
|
2313
2391
|
*/
|
|
2314
2392
|
_resourceDimension(state, instruction, texOperand) {
|
|
2315
2393
|
const dimension = state.resourceDimensions.get(texOperand.registerIndex);
|
|
@@ -2323,18 +2401,18 @@ class DxbcGlslEmitter {
|
|
|
2323
2401
|
return dimension;
|
|
2324
2402
|
}
|
|
2325
2403
|
|
|
2326
|
-
/**
|
|
2327
|
-
* Emits a regular, LOD, bias, gradient, or comparison texture sample.
|
|
2328
|
-
*
|
|
2329
|
-
* @param {object} state Mutable emission state.
|
|
2330
|
-
* @param {object} instruction Decoded DXBC texture instruction.
|
|
2331
|
-
* @param {object} [options={}] Sampling-mode operand indexes.
|
|
2332
|
-
* @param {number|null} [options.lodOperandIndex=null] Explicit LOD operand.
|
|
2333
|
-
* @param {number|null} [options.biasOperandIndex=null] LOD bias operand.
|
|
2334
|
-
* @param {number[]|null} [options.gradOperandIndexes=null] Gradient operands.
|
|
2335
|
-
* @param {number|null} [options.comparisonRefOperandIndex=null] Comparison reference operand.
|
|
2336
|
-
* @param {boolean} [options.forceLodZero=false] Whether to force the LOD-zero adaptation.
|
|
2337
|
-
* @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
|
|
2338
2416
|
*/
|
|
2339
2417
|
_textureSample(state, instruction, {
|
|
2340
2418
|
lodOperandIndex = null,
|
|
@@ -2411,11 +2489,11 @@ class DxbcGlslEmitter {
|
|
|
2411
2489
|
}
|
|
2412
2490
|
const dimension = this._resourceDimension(state, instruction, texOperand);
|
|
2413
2491
|
const coordMask = COORD_MASK_BY_DIMENSION[dimension];
|
|
2414
|
-
const
|
|
2492
|
+
const arrayLayer = this._textureArrayLayer(state, texOperand);
|
|
2415
2493
|
const baseCoord = this._vecArg(state, coordOperand, coordMask);
|
|
2416
2494
|
// A merged detail map keeps its 2D coordinate and gains the layer as a
|
|
2417
2495
|
// literal third component; the register it came from is the layer.
|
|
2418
|
-
const coord =
|
|
2496
|
+
const coord = arrayLayer === null ? baseCoord : `vec3(${baseCoord}, ${arrayLayer}.0)`;
|
|
2419
2497
|
const texName = state.formatter.registerReference(texOperand);
|
|
2420
2498
|
const returnSwizzle = [...mask].map(component => texOperand.swizzle ? texOperand.swizzle["xyzw".indexOf(component)] : component).join("");
|
|
2421
2499
|
if (comparisonRefOperandIndex !== null) {
|
|
@@ -2465,17 +2543,24 @@ class DxbcGlslEmitter {
|
|
|
2465
2543
|
call = `texture(${texName}, ${coord})`;
|
|
2466
2544
|
}
|
|
2467
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})`;
|
|
2468
2553
|
this._assign(state, instruction, `${call}.${returnSwizzle}`, {
|
|
2469
2554
|
saturate: instruction.saturate
|
|
2470
2555
|
});
|
|
2471
2556
|
}
|
|
2472
2557
|
|
|
2473
|
-
/**
|
|
2474
|
-
* Emits an integer-coordinate texel fetch for a declared resource.
|
|
2475
|
-
*
|
|
2476
|
-
* @param {object} state Mutable emission state.
|
|
2477
|
-
* @param {object} instruction Decoded DXBC load instruction.
|
|
2478
|
-
* @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
|
|
2479
2564
|
*/
|
|
2480
2565
|
_texelFetch(state, instruction) {
|
|
2481
2566
|
const {
|
|
@@ -2511,9 +2596,9 @@ class DxbcGlslEmitter {
|
|
|
2511
2596
|
}
|
|
2512
2597
|
}
|
|
2513
2598
|
|
|
2514
|
-
/**
|
|
2515
|
-
* Per-opcode lowering table. Every rule cites its family spec in
|
|
2516
|
-
* `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.
|
|
2517
2602
|
*/
|
|
2518
2603
|
DxbcGlslEmitter.LOWERINGS = {
|
|
2519
2604
|
// --- float-alu ---
|
|
@@ -3094,11 +3179,11 @@ DxbcGlslEmitter.LOWERINGS = {
|
|
|
3094
3179
|
}
|
|
3095
3180
|
};
|
|
3096
3181
|
|
|
3097
|
-
/**
|
|
3098
|
-
* `ld_structured` lowering. Vertex UBO path reads `name.data[row]` vec4 rows;
|
|
3099
|
-
* pixel data-texture path reads RGBA32UI texels (4 dwords per texel, fixed
|
|
3100
|
-
* 2048-texel row width). 16-byte-aligned reads use one static channel per
|
|
3101
|
-
* 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.
|
|
3102
3187
|
*/
|
|
3103
3188
|
DxbcGlslEmitter.prototype._ldStructured = function _ldStructured(state, instruction) {
|
|
3104
3189
|
const target = state.formatter.destination(instruction.operands[0]);
|
|
@@ -3207,10 +3292,10 @@ DxbcGlslEmitter.prototype._ldStructured = function _ldStructured(state, instruct
|
|
|
3207
3292
|
}
|
|
3208
3293
|
};
|
|
3209
3294
|
|
|
3210
|
-
/**
|
|
3211
|
-
* `resinfo` lowering: width/height/depth via textureSize per live destination
|
|
3212
|
-
* component; the 4th (mip-count) channel has no WebGL2 equivalent and throws
|
|
3213
|
-
* 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.
|
|
3214
3299
|
*/
|
|
3215
3300
|
DxbcGlslEmitter.prototype._resinfo = function _resinfo(state, instruction) {
|
|
3216
3301
|
const {
|
|
@@ -3254,8 +3339,8 @@ DxbcGlslEmitter.prototype._resinfo = function _resinfo(state, instruction) {
|
|
|
3254
3339
|
}
|
|
3255
3340
|
};
|
|
3256
3341
|
|
|
3257
|
-
/**
|
|
3258
|
-
* 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.
|
|
3259
3344
|
*/
|
|
3260
3345
|
DxbcGlslEmitter.prototype._intMinMax = function _intMinMax(state, instruction, fn, as) {
|
|
3261
3346
|
const {
|
|
@@ -3267,16 +3352,16 @@ DxbcGlslEmitter.prototype._intMinMax = function _intMinMax(state, instruction, f
|
|
|
3267
3352
|
this._assign(state, instruction, `${wrap}(${fn}(${a}, ${b}))`);
|
|
3268
3353
|
};
|
|
3269
3354
|
|
|
3270
|
-
/**
|
|
3271
|
-
* `gather4` lowering: fetches one channel from each of the four texels a
|
|
3272
|
-
* bilinear sample would blend, via the `hlslcc_textureGather4Emulated` /
|
|
3273
|
-
* `hlslcc_textureGather4ArrayEmulated` helpers (GLSL ES 3.00 has no
|
|
3274
|
-
* `textureGather`). Only 2D and 2D-array resources are supported — the
|
|
3275
|
-
* dimensions the AO/blur/FSR/CAS map-style corpus this lowering targets is
|
|
3276
|
-
* known to use (ASSAO gathers from its deinterleaved texture2darray slices).
|
|
3277
|
-
*
|
|
3278
|
-
* @param {object} state Emit state.
|
|
3279
|
-
* @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.
|
|
3280
3365
|
*/
|
|
3281
3366
|
DxbcGlslEmitter.prototype._gather4 = function _gather4(state, instruction) {
|
|
3282
3367
|
const {
|
|
@@ -3296,11 +3381,21 @@ DxbcGlslEmitter.prototype._gather4 = function _gather4(state, instruction) {
|
|
|
3296
3381
|
// A merged detail map is declared 2D but sampled through an array, so the
|
|
3297
3382
|
// array helper and the layered coordinate are selected by the merge rather
|
|
3298
3383
|
// than by the declared dimension.
|
|
3299
|
-
|
|
3300
|
-
|
|
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;
|
|
3301
3396
|
const helper = this.helpers.require(asArray ? "hlslcc_textureGather4ArrayEmulated" : "hlslcc_textureGather4Emulated");
|
|
3302
3397
|
const baseCoord = this._vecArg(state, coordOperand, dimension === 8 ? "xyz" : "xy");
|
|
3303
|
-
const coord =
|
|
3398
|
+
const coord = arrayLayer === null ? baseCoord : `vec3(${baseCoord}, ${arrayLayer}.0)`;
|
|
3304
3399
|
const texName = state.formatter.registerReference(texOperand);
|
|
3305
3400
|
const channelLetter = this._gather4Channel(samplerOperand);
|
|
3306
3401
|
const channelIndex = "xyzw".indexOf(channelLetter);
|
|
@@ -3310,13 +3405,13 @@ DxbcGlslEmitter.prototype._gather4 = function _gather4(state, instruction) {
|
|
|
3310
3405
|
});
|
|
3311
3406
|
};
|
|
3312
3407
|
|
|
3313
|
-
/**
|
|
3314
|
-
* Reads the gathered-channel selector `gather4`/`gather4_po` carry on their
|
|
3315
|
-
* sampler operand (a 1-component swizzle; red/`x` is the default when no
|
|
3316
|
-
* selection is encoded).
|
|
3317
|
-
*
|
|
3318
|
-
* @param {object} operand Decoded sampler operand.
|
|
3319
|
-
* @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`).
|
|
3320
3415
|
*/
|
|
3321
3416
|
DxbcGlslEmitter.prototype._gather4Channel = function _gather4Channel(operand) {
|
|
3322
3417
|
if (operand.selectionModeName === "select1" && operand.selected) {
|
|
@@ -3328,22 +3423,22 @@ DxbcGlslEmitter.prototype._gather4Channel = function _gather4Channel(operand) {
|
|
|
3328
3423
|
return "x";
|
|
3329
3424
|
};
|
|
3330
3425
|
|
|
3331
|
-
/**
|
|
3332
|
-
* Assembles the final GLSL text.
|
|
3426
|
+
/**
|
|
3427
|
+
* Assembles the final GLSL text.
|
|
3333
3428
|
*/
|
|
3334
|
-
/**
|
|
3335
|
-
* The depth-range fixup emitted at the end of a vertex stage, by source range.
|
|
3336
|
-
*
|
|
3337
|
-
* Both entries map their range onto GL NDC [-1, 1] and both compose to the
|
|
3338
|
-
* identity with a projection of the matching form, so an unbiased vertex is
|
|
3339
|
-
* unchanged either way. See `profile.depthRange`.
|
|
3340
|
-
* @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>}
|
|
3341
3436
|
*/
|
|
3342
|
-
/**
|
|
3343
|
-
* The clip-space Y flip uniform and tail emitted when `profile.clipYFlip` is set.
|
|
3344
|
-
* Name and statements match CCP's shipped gles2 vertex bodies exactly, so a
|
|
3345
|
-
* consumer drives translated and legacy stages through the one uniform.
|
|
3346
|
-
* @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}
|
|
3347
3442
|
*/
|
|
3348
3443
|
const CLIP_Y_FLIP_UNIFORM = "ssyf";
|
|
3349
3444
|
|