mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-07-08 05:04:06 -05:00
Merge branch 'master' of https://github.com/vrm-c/UniVRM into legacyMigration
This commit is contained in:
commit
2fa03bbcdd
|
|
@ -8,12 +8,12 @@ namespace VRMShaders
|
|||
{
|
||||
public class TextureFactory : IResponsibilityForDestroyObjects
|
||||
{
|
||||
private readonly ITextureDeserializer _textureDeserializer;
|
||||
private readonly IReadOnlyDictionary<SubAssetKey, Texture> _externalMap;
|
||||
private readonly bool _isLegacySquaredRoughness;
|
||||
private readonly Dictionary<SubAssetKey, Texture> _temporaryTextures = new Dictionary<SubAssetKey, Texture>();
|
||||
private readonly Dictionary<SubAssetKey, Texture> _textureCache = new Dictionary<SubAssetKey, Texture>();
|
||||
|
||||
public ITextureDeserializer TextureDeserializer { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Importer が動的に生成した Texture
|
||||
/// </summary>
|
||||
|
|
@ -29,18 +29,13 @@ namespace VRMShaders
|
|||
IReadOnlyDictionary<SubAssetKey, Texture> externalTextures,
|
||||
bool isLegacySquaredRoughness)
|
||||
{
|
||||
_textureDeserializer = textureDeserializer;
|
||||
TextureDeserializer = textureDeserializer;
|
||||
_externalMap = externalTextures;
|
||||
_isLegacySquaredRoughness = isLegacySquaredRoughness;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
foreach (var kv in _temporaryTextures)
|
||||
{
|
||||
UnityObjectDestoyer.DestroyRuntimeOrEditor(kv.Value);
|
||||
}
|
||||
_temporaryTextures.Clear();
|
||||
_textureCache.Clear();
|
||||
}
|
||||
|
||||
|
|
@ -84,7 +79,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);
|
||||
|
|
@ -99,12 +94,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,
|
||||
|
|
@ -120,7 +115,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);
|
||||
|
|
@ -129,7 +124,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);
|
||||
|
|
@ -138,8 +133,6 @@ namespace VRMShaders
|
|||
default:
|
||||
throw new ArgumentOutOfRangeException();
|
||||
}
|
||||
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user