BlenderKit: add several autotags
megapixels checks number of total pixels in textures. procedural, node count and texture count will help in heuristics and advanced searches.
This commit is contained in:
parent
11491c5be0
commit
7c3d8127da
|
@ -87,7 +87,9 @@ def check_render_engine(props, obs):
|
|||
shaders = []
|
||||
textures = []
|
||||
props.uv = False
|
||||
|
||||
props.texture_count = 0
|
||||
props.total_megapixels = 0
|
||||
props.node_count = 0
|
||||
for ob in obs: # TODO , this is duplicated here for other engines, otherwise this should be more clever.
|
||||
for ms in ob.material_slots:
|
||||
if ms.material is not None:
|
||||
|
@ -109,6 +111,7 @@ def check_render_engine(props, obs):
|
|||
checknodes = m.node_tree.nodes[:]
|
||||
while len(checknodes) > 0:
|
||||
n = checknodes.pop()
|
||||
props.node_count +=1
|
||||
if n.type == 'GROUP': # dive deeper here.
|
||||
checknodes.extend(n.node_tree.nodes)
|
||||
if len(n.outputs) == 1 and n.outputs[0].type == 'SHADER' and n.type != 'GROUP':
|
||||
|
|
|
@ -232,6 +232,10 @@ def get_upload_data(self, context, asset_type):
|
|||
"manifold": props.manifold,
|
||||
"objectCount": props.object_count,
|
||||
|
||||
"procedural": props.is_procedural,
|
||||
"nodeCount": props.node_count,
|
||||
"textureCount": props.texture_count,
|
||||
"megapixels": round(props.total_megapixels/ 1000000),
|
||||
# "scene": props.is_scene,
|
||||
}
|
||||
if props.use_design_year:
|
||||
|
@ -359,6 +363,7 @@ def get_upload_data(self, context, asset_type):
|
|||
"procedural": props.is_procedural,
|
||||
"nodeCount": props.node_count,
|
||||
"textureCount": props.texture_count,
|
||||
"megapixels": round(props.total_megapixels/ 1000000),
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue