From 3ac8d19b868419e04cf044e4005bf51c5729d677 Mon Sep 17 00:00:00 2001 From: Masataka SUMI Date: Tue, 22 Jun 2021 19:49:00 +0900 Subject: [PATCH 1/2] public textureDeserializer --- .../VRMShaders/GLTF/IO/Runtime/TextureFactory.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Assets/VRMShaders/GLTF/IO/Runtime/TextureFactory.cs b/Assets/VRMShaders/GLTF/IO/Runtime/TextureFactory.cs index e2f8ee6f2..8922bffe2 100644 --- a/Assets/VRMShaders/GLTF/IO/Runtime/TextureFactory.cs +++ b/Assets/VRMShaders/GLTF/IO/Runtime/TextureFactory.cs @@ -8,11 +8,12 @@ namespace VRMShaders { public class TextureFactory : IResponsibilityForDestroyObjects { - private readonly ITextureDeserializer _textureDeserializer; private readonly IReadOnlyDictionary _externalMap; private readonly Dictionary _temporaryTextures = new Dictionary(); private readonly Dictionary _textureCache = new Dictionary(); + public ITextureDeserializer TextureDeserializer { get; } + /// /// Importer が動的に生成した Texture /// @@ -25,7 +26,7 @@ namespace VRMShaders public TextureFactory(ITextureDeserializer textureDeserializer, IReadOnlyDictionary externalTextures) { - _textureDeserializer = textureDeserializer; + TextureDeserializer = textureDeserializer; _externalMap = externalTextures; } @@ -79,7 +80,7 @@ namespace VRMShaders // > contrary to Unity’s usual convention of using Y as “up” // https://docs.unity3d.com/2018.4/Documentation/Manual/StandardShaderMaterialParameterNormalMap.html var data0 = await texDesc.Index0(); - var rawTexture = await _textureDeserializer.LoadTextureAsync(data0, texDesc.Sampler.EnableMipMap, ColorSpace.Linear); + var rawTexture = await TextureDeserializer.LoadTextureAsync(data0, texDesc.Sampler.EnableMipMap, ColorSpace.Linear); rawTexture.name = subAssetKey.Name; rawTexture.SetSampler(texDesc.Sampler); _textureCache.Add(subAssetKey, rawTexture); @@ -94,12 +95,12 @@ namespace VRMShaders if (texDesc.Index0 != null) { var data0 = await texDesc.Index0(); - metallicRoughnessTexture = await _textureDeserializer.LoadTextureAsync(data0, texDesc.Sampler.EnableMipMap, ColorSpace.Linear); + metallicRoughnessTexture = await TextureDeserializer.LoadTextureAsync(data0, texDesc.Sampler.EnableMipMap, ColorSpace.Linear); } if (texDesc.Index1 != null) { var data1 = await texDesc.Index1(); - occlusionTexture = await _textureDeserializer.LoadTextureAsync(data1, texDesc.Sampler.EnableMipMap, ColorSpace.Linear); + occlusionTexture = await TextureDeserializer.LoadTextureAsync(data1, texDesc.Sampler.EnableMipMap, ColorSpace.Linear); } var combinedTexture = OcclusionMetallicRoughnessConverter.Import(metallicRoughnessTexture, @@ -115,7 +116,7 @@ namespace VRMShaders case TextureImportTypes.sRGB: { var data0 = await texDesc.Index0(); - var rawTexture = await _textureDeserializer.LoadTextureAsync(data0, texDesc.Sampler.EnableMipMap, ColorSpace.sRGB); + var rawTexture = await TextureDeserializer.LoadTextureAsync(data0, texDesc.Sampler.EnableMipMap, ColorSpace.sRGB); rawTexture.name = subAssetKey.Name; rawTexture.SetSampler(texDesc.Sampler); _textureCache.Add(subAssetKey, rawTexture); @@ -124,7 +125,7 @@ namespace VRMShaders case TextureImportTypes.Linear: { var data0 = await texDesc.Index0(); - var rawTexture = await _textureDeserializer.LoadTextureAsync(data0, texDesc.Sampler.EnableMipMap, ColorSpace.Linear); + var rawTexture = await TextureDeserializer.LoadTextureAsync(data0, texDesc.Sampler.EnableMipMap, ColorSpace.Linear); rawTexture.name = subAssetKey.Name; rawTexture.SetSampler(texDesc.Sampler); _textureCache.Add(subAssetKey, rawTexture); From 95dd4fd2fc53247b7cfeb7d3b4832886e911d516 Mon Sep 17 00:00:00 2001 From: Masataka SUMI Date: Tue, 22 Jun 2021 19:49:27 +0900 Subject: [PATCH 2/2] Remove unused --- Assets/VRMShaders/GLTF/IO/Runtime/TextureFactory.cs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Assets/VRMShaders/GLTF/IO/Runtime/TextureFactory.cs b/Assets/VRMShaders/GLTF/IO/Runtime/TextureFactory.cs index 8922bffe2..34c58f6ae 100644 --- a/Assets/VRMShaders/GLTF/IO/Runtime/TextureFactory.cs +++ b/Assets/VRMShaders/GLTF/IO/Runtime/TextureFactory.cs @@ -9,7 +9,6 @@ namespace VRMShaders public class TextureFactory : IResponsibilityForDestroyObjects { private readonly IReadOnlyDictionary _externalMap; - private readonly Dictionary _temporaryTextures = new Dictionary(); private readonly Dictionary _textureCache = new Dictionary(); public ITextureDeserializer TextureDeserializer { get; } @@ -32,11 +31,6 @@ namespace VRMShaders public void Dispose() { - foreach (var kv in _temporaryTextures) - { - UnityObjectDestoyer.DestroyRuntimeOrEditor(kv.Value); - } - _temporaryTextures.Clear(); _textureCache.Clear(); } @@ -134,8 +128,6 @@ namespace VRMShaders default: throw new ArgumentOutOfRangeException(); } - - throw new NotImplementedException(); } } }