From 8a7e74d1ef03e7e8dbd6f14fdc714f725d5a757f Mon Sep 17 00:00:00 2001 From: vpenades <5433822+vpenades@users.noreply.github.com> Date: Wed, 24 Jan 2024 15:24:01 +0100 Subject: [PATCH] Fixed Material Volume Extension default values. Closes #215 --- src/SharpGLTF.Core/Schema2/gltf.MaterialsFactory.cs | 6 +++--- src/SharpGLTF.Toolkit/Materials/MaterialEnums.cs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SharpGLTF.Core/Schema2/gltf.MaterialsFactory.cs b/src/SharpGLTF.Core/Schema2/gltf.MaterialsFactory.cs index 5316003b..803ed20f 100644 --- a/src/SharpGLTF.Core/Schema2/gltf.MaterialsFactory.cs +++ b/src/SharpGLTF.Core/Schema2/gltf.MaterialsFactory.cs @@ -593,7 +593,7 @@ private TextureInfo _GetThicknessTexture(bool create) public float ThicknessFactor { get => (float)_thicknessFactor.AsValue(_thicknessFactorDefault); - set => _thicknessFactor = ((double)value).AsNullable(_thicknessFactorDefault); + set => _thicknessFactor = ((double)value).AsNullable(_thicknessFactorDefault, _thicknessFactorMinimum, double.PositiveInfinity); } public Vector3 AttenuationColor @@ -604,8 +604,8 @@ public Vector3 AttenuationColor public float AttenuationDistance { - get => (float)_attenuationDistance.AsValue(0); - set => _attenuationDistance = value > _attenuationDistanceExclusiveMinimum ? value : throw new ArgumentOutOfRangeException(nameof(value)); + get => (float)_attenuationDistance.AsValue(float.PositiveInfinity); + set => _attenuationDistance = ((double)value).AsNullable(double.PositiveInfinity, _attenuationDistanceExclusiveMinimum, double.PositiveInfinity); } public IEnumerable GetChannels(Material material) diff --git a/src/SharpGLTF.Toolkit/Materials/MaterialEnums.cs b/src/SharpGLTF.Toolkit/Materials/MaterialEnums.cs index e5166e11..fb40c9a9 100644 --- a/src/SharpGLTF.Toolkit/Materials/MaterialEnums.cs +++ b/src/SharpGLTF.Toolkit/Materials/MaterialEnums.cs @@ -189,7 +189,7 @@ private static IEnumerable<_Property> _CreateDefaultProperties(KnownChannel key) case KnownChannel.VolumeThickness: yield return new _Property(KnownProperty.ThicknessFactor, 0f); break; case KnownChannel.VolumeAttenuation: yield return new _Property(KnownProperty.RGB, Vector3.One); - yield return new _Property(KnownProperty.AttenuationDistance, 0f); + yield return new _Property(KnownProperty.AttenuationDistance, float.PositiveInfinity); break; default: throw new NotImplementedException();