ソースを参照

Fixed Material Volume Extension default values. Closes #215

vpenades 1 年間 前
コミット
8a7e74d1ef

+ 3 - 3
src/SharpGLTF.Core/Schema2/gltf.MaterialsFactory.cs

@@ -593,7 +593,7 @@ namespace SharpGLTF.Schema2
         public float ThicknessFactor
         public float ThicknessFactor
         {
         {
             get => (float)_thicknessFactor.AsValue(_thicknessFactorDefault);
             get => (float)_thicknessFactor.AsValue(_thicknessFactorDefault);
-            set => _thicknessFactor = ((double)value).AsNullable(_thicknessFactorDefault);
+            set => _thicknessFactor = ((double)value).AsNullable(_thicknessFactorDefault, _thicknessFactorMinimum, double.PositiveInfinity);
         }
         }
 
 
         public Vector3 AttenuationColor
         public Vector3 AttenuationColor
@@ -604,8 +604,8 @@ namespace SharpGLTF.Schema2
 
 
         public float AttenuationDistance
         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<MaterialChannel> GetChannels(Material material)
         public IEnumerable<MaterialChannel> GetChannels(Material material)

+ 1 - 1
src/SharpGLTF.Toolkit/Materials/MaterialEnums.cs

@@ -189,7 +189,7 @@ namespace SharpGLTF.Materials
                 case KnownChannel.VolumeThickness: yield return new _Property(KnownProperty.ThicknessFactor, 0f); break;
                 case KnownChannel.VolumeThickness: yield return new _Property(KnownProperty.ThicknessFactor, 0f); break;
                 case KnownChannel.VolumeAttenuation:
                 case KnownChannel.VolumeAttenuation:
                     yield return new _Property(KnownProperty.RGB, Vector3.One);
                     yield return new _Property(KnownProperty.RGB, Vector3.One);
-                    yield return new _Property(KnownProperty.AttenuationDistance, 0f);
+                    yield return new _Property(KnownProperty.AttenuationDistance, float.PositiveInfinity);
                     break;
                     break;
 
 
                 default: throw new NotImplementedException();
                 default: throw new NotImplementedException();