[mesh] Texturing: set parameters for multi-band blending

Use only 3 parameters : useScore, multiBandDownscale, multiBandNbContrib
This commit is contained in:
Clara 2019-05-07 10:48:01 +02:00
parent 00188c9aef
commit 9f928e1ea0
2 changed files with 32 additions and 15 deletions

View file

@ -414,7 +414,9 @@ class GroupAttribute(Attribute):
return {name: attr.getPrimitiveValue(exportDefault=exportDefault) for name, attr in self._value.items() if not attr.isDefault} return {name: attr.getPrimitiveValue(exportDefault=exportDefault) for name, attr in self._value.items() if not attr.isDefault}
def getValueStr(self): def getValueStr(self):
return self.attributeDesc.joinChar.join([v.getValueStr() for v in self._value.objects.values()]) # sort values based on child attributes group description order
sortedSubValues = [self._value.get(attr.name).getValueStr() for attr in self.attributeDesc.groupDesc]
return self.attributeDesc.joinChar.join(sortedSubValues)
# Override value property # Override value property
value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged) value = Property(Variant, Attribute._get_value, _set_value, notify=Attribute.valueChanged)

View file

@ -86,24 +86,39 @@ class Texturing(desc.CommandLineNode):
name='padding', name='padding',
label='Padding', label='Padding',
description='''Texture edge padding size in pixel''', description='''Texture edge padding size in pixel''',
value=15, value=5,
range=(0, 100, 1), range=(0, 100, 1),
uid=[0], uid=[0],
advanced=True,
), ),
#desc.ListAttribute( desc.BoolParam(
# name='multiBandNbContrib', name='useScore',
# elementDesc=desc.IntParam(name='levelContrib', label='', description='', value=1, uid=[0], range=(0, 50, 1)), label='Use Score',
# label='Nb Contribution per Band', description='Use triangles scores for multiband blending.',
# value=[1, 5, 10], # TODO: need support for default values on ListAttribute value=True,
# description='Number of images to combine per band of frequencies to create the final texture.',
#),
desc.FloatParam(
name='multiBandKernelSize',
label='MultiBand Blending Kernel Size',
description='''Kernel size for the lowest band of frequencies''',
value=40.0,
range=(0.0, 100.0, 1.0),
uid=[0], uid=[0],
advanced=True,
),
desc.IntParam(
name='multiBandDownscale',
label='Multi Band Downscale',
description='''Width of frequency bands for multiband blending''',
value=2,
range=(1, 10, 1),
uid=[0],
advanced=True,
),
desc.GroupAttribute(
name="multiBandNbContrib",
label="MultiBand contributions",
groupDesc=[
desc.IntParam(name="high", label="High Freq", description="High Frequency Band", value=1, uid=[0], range=None),
desc.IntParam(name="midHigh", label="Mid-High Freq", description="Mid-High Frequency Band", value=5, uid=[0], range=None),
desc.IntParam(name="midLow", label="Mid-Low Freq", description="Mid-Low Frequency Band", value=10, uid=[0], range=None),
desc.IntParam(name="low", label="Low Freq", description="Low Frequency Band", value=0, uid=[0], range=None),
],
description='''Number of contributions per frequency band for multiband blending''',
advanced=True,
), ),
desc.FloatParam( desc.FloatParam(
name='bestScoreThreshold', name='bestScoreThreshold',