From 596675ad8d108e595dcd4434af5dd22521a6b76c Mon Sep 17 00:00:00 2001 From: drewcassidy Date: Mon, 5 Oct 2020 22:42:01 -0700 Subject: [PATCH] Add naive implementation of multi-projection --- .../Plugins/ConformalDecals.dll | Bin 82944 -> 83456 bytes .../ConformalDecals/ModuleConformalDecal.cs | 100 ++++++++++-------- Source/ConformalDecals/ModuleConformalFlag.cs | 2 +- Source/ConformalDecals/ModuleConformalText.cs | 2 +- Source/ConformalDecals/ProjectionTarget.cs | 6 +- 5 files changed, 64 insertions(+), 46 deletions(-) diff --git a/GameData/ConformalDecals/Plugins/ConformalDecals.dll b/GameData/ConformalDecals/Plugins/ConformalDecals.dll index efb093ee60f22517d998d97a9053c212638e0f22..d2842a2f7e8d59d8a5d0af8d36cf6a21b02e0064 100644 GIT binary patch literal 83456 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 public override void OnIconCreate() { - UpdateScale(); + UpdateProjection(); } /// @@ -304,11 +304,11 @@ namespace ConformalDecals { protected void OnSizeTweakEvent(BaseField field, object obj) { // scale or depth values have been changed, so update scale // and update projection matrices if attached - UpdateScale(); + UpdateProjection(); foreach (var counterpart in part.symmetryCounterparts) { var decal = counterpart.GetComponent(); - decal.UpdateScale(); + decal.UpdateProjection(); } } @@ -331,7 +331,7 @@ namespace ConformalDecals { protected void OnVariantApplied(Part eventPart, PartVariant variant) { if (_isAttached && eventPart == part.parent) { - UpdateTargets(); + UpdateProjection(); } } @@ -346,7 +346,7 @@ namespace ConformalDecals { break; case ConstructionEventType.PartOffsetting: case ConstructionEventType.PartRotating: - UpdateScale(); + UpdateProjection(); break; } } @@ -377,8 +377,7 @@ namespace ConformalDecals { Camera.onPreCull += Render; UpdateMaterials(); - UpdateTargets(); - UpdateScale(); + UpdateProjection(); } protected virtual void OnDetach() { @@ -394,10 +393,57 @@ namespace ConformalDecals { Camera.onPreCull -= Render; UpdateMaterials(); - UpdateScale(); + UpdateProjection(); } - protected void UpdateScale() { + protected void UpdateProjection() { + // Update projection targets + if (_targets == null) { + _targets = new List(); + } + else { + _targets.Clear(); + } + + if (_isAttached) { + IEnumerable targetParts; + if (projectMultiple) { + if (HighLogic.LoadedSceneIsFlight) { + targetParts = part.vessel.parts; + } + else { + targetParts = EditorLogic.fetch.ship.parts; + } + } + else { + targetParts = new[] {part.parent}; + } + + foreach (var targetPart in targetParts) { + if (targetPart.GetComponent() != null) continue; // skip other decals + + foreach (var targetRenderer in targetPart.FindModelComponents()) { + // skip disabled renderers + if (targetRenderer.gameObject.activeInHierarchy == false) continue; + + // skip blacklisted shaders + if (DecalConfig.IsBlacklisted(targetRenderer.material.shader)) continue; + + var meshFilter = targetRenderer.GetComponent(); + if (meshFilter == null) continue; // object has a meshRenderer with no filter, invalid + var mesh = meshFilter.sharedMesh; + if (mesh == null) continue; // object has a null mesh, invalid + + // create new ProjectionTarget to represent the renderer + var target = new ProjectionTarget(targetPart, targetRenderer, mesh); + + // add the target to the list + _targets.Add(target); + } + } + } + + // Update projection matrix scale = Mathf.Max(0.01f, scale); depth = Mathf.Max(0.01f, depth); var aspectRatio = materialProperties.AspectRatio; @@ -468,36 +514,6 @@ namespace ConformalDecals { if (!_isAttached) decalFrontTransform.GetComponent().material = _previewMaterial; } - protected void UpdateTargets() { - if (_targets == null) { - _targets = new List(); - } - else { - _targets.Clear(); - } - - // find all valid renderers - var renderers = part.parent.FindModelComponents(); - foreach (var renderer in renderers) { - // skip disabled renderers - if (renderer.gameObject.activeInHierarchy == false) continue; - - // skip blacklisted shaders - if (DecalConfig.IsBlacklisted(renderer.material.shader)) continue; - - var meshFilter = renderer.GetComponent(); - if (meshFilter == null) continue; // object has a meshRenderer with no filter, invalid - var mesh = meshFilter.mesh; - if (mesh == null) continue; // object has a null mesh, invalid - - // create new ProjectionTarget to represent the renderer - var target = new ProjectionTarget(renderer, mesh); - - // add the target to the list - _targets.Add(target); - } - } - protected virtual void UpdateTweakables() { // setup tweakable fields var scaleField = Fields[nameof(scale)]; diff --git a/Source/ConformalDecals/ModuleConformalFlag.cs b/Source/ConformalDecals/ModuleConformalFlag.cs index 4ce228b..4142a9a 100644 --- a/Source/ConformalDecals/ModuleConformalFlag.cs +++ b/Source/ConformalDecals/ModuleConformalFlag.cs @@ -95,7 +95,7 @@ namespace ConformalDecals { materialProperties.AddOrGetTextureProperty("_Decal", true).TextureUrl = newFlagUrl; UpdateMaterials(); - UpdateScale(); + UpdateProjection(); } private void SetFlagSymmetryCounterparts(string newFlagUrl) { diff --git a/Source/ConformalDecals/ModuleConformalText.cs b/Source/ConformalDecals/ModuleConformalText.cs index 3b8e5d2..7d97e2f 100644 --- a/Source/ConformalDecals/ModuleConformalText.cs +++ b/Source/ConformalDecals/ModuleConformalText.cs @@ -271,7 +271,7 @@ namespace ConformalDecals { _decalTextureProperty.SetTile(output.Window); UpdateMaterials(); - UpdateScale(); + UpdateProjection(); } protected override void UpdateMaterials() { diff --git a/Source/ConformalDecals/ProjectionTarget.cs b/Source/ConformalDecals/ProjectionTarget.cs index 621c56b..95ca253 100644 --- a/Source/ConformalDecals/ProjectionTarget.cs +++ b/Source/ConformalDecals/ProjectionTarget.cs @@ -5,6 +5,7 @@ namespace ConformalDecals { public class ProjectionTarget { // Target object data public readonly Transform target; + public readonly Part targetPart; private readonly Renderer _targetRenderer; private readonly Mesh _targetMesh; @@ -13,8 +14,9 @@ namespace ConformalDecals { // property block private readonly MaterialPropertyBlock _decalMPB; - public ProjectionTarget(MeshRenderer targetRenderer, Mesh targetMesh) { - target = targetRenderer.transform; + public ProjectionTarget(Part targetPart, MeshRenderer targetRenderer, Mesh targetMesh) { + this.targetPart = targetPart; + this.target = targetRenderer.transform; _targetRenderer = targetRenderer; _targetMesh = targetMesh; _decalMPB = new MaterialPropertyBlock();