Skip to content
Snippets Groups Projects
Commit 7c3d8127 authored by Vilém Duha's avatar Vilém Duha
Browse files

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.
parent 11491c5b
No related branches found
No related tags found
No related merge requests found
......@@ -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),
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment