diff options
author | Julien Duroure <julien.duroure@gmail.com> | 2020-01-19 19:56:03 +0300 |
---|---|---|
committer | Julien Duroure <julien.duroure@gmail.com> | 2020-01-19 19:56:03 +0300 |
commit | 1e165b809b66fbf19778dbb6f1a3f4e64efef031 (patch) | |
tree | ed9001826682e1e0ec456b915ec33a05b94a56d0 | |
parent | 9eddf664d68a2ed6be1bf17b0b26d6d66d81c0eb (diff) | |
parent | 4d2fbf4bb56f6a8af61dc06f116b8779f7efc19a (diff) |
Merge branch 'blender-v2.82-release'
-rwxr-xr-x | io_scene_gltf2/blender/exp/gltf2_blender_generate_extras.py | 78 | ||||
-rwxr-xr-x | io_scene_gltf2/blender/imp/gltf2_blender_texture.py | 49 |
2 files changed, 0 insertions, 127 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_generate_extras.py b/io_scene_gltf2/blender/exp/gltf2_blender_generate_extras.py deleted file mode 100755 index 71eae30a..00000000 --- a/io_scene_gltf2/blender/exp/gltf2_blender_generate_extras.py +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 2018-2019 The glTF-Blender-IO authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -import bpy -from io_scene_gltf2.blender.com import gltf2_blender_json - - -def generate_extras(blender_element): - """Filter and create a custom property, which is stored in the glTF extra field.""" - if not blender_element: - return None - - extras = {} - - # Custom properties, which are in most cases present and should not be exported. - black_list = ['cycles', 'cycles_visibility', 'cycles_curves', '_RNA_UI'] - - count = 0 - for custom_property in blender_element.keys(): - if custom_property in black_list: - continue - - value = __to_json_compatible(blender_element[custom_property]) - - if value is not None: - extras[custom_property] = value - count += 1 - - if count == 0: - return None - - return extras - - -def __to_json_compatible(value): - """Make a value (usually a custom property) compatible with json""" - - if isinstance(value, bpy.types.ID): - return value - - elif isinstance(value, str): - return value - - elif isinstance(value, (int, float)): - return value - - # for list classes - elif isinstance(value, list): - value = list(value) - # make sure contents are json-compatible too - for index in range(len(value)): - value[index] = __to_json_compatible(value[index]) - return value - - # for IDPropertyArray classes - elif hasattr(value, "to_list"): - value = value.to_list() - return value - - elif hasattr(value, "to_dict"): - value = value.to_dict() - if gltf2_blender_json.is_json_convertible(value): - return value - - return None - diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_texture.py b/io_scene_gltf2/blender/imp/gltf2_blender_texture.py deleted file mode 100755 index fb50a3d1..00000000 --- a/io_scene_gltf2/blender/imp/gltf2_blender_texture.py +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 2018-2019 The glTF-Blender-IO authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from .gltf2_blender_image import BlenderImage - - -class BlenderTextureInfo(): - """Blender Texture info.""" - def __new__(cls, *args, **kwargs): - raise RuntimeError("%s should not be instantiated" % cls) - - @staticmethod - def create(gltf, pytextureinfo, dict_=False): - """Create Texture info.""" - extension_text_transform_used = {} - - if dict_ is True: # coming from KHR_materials_pbrSpecularGlossiness - if 'extensions' in pytextureinfo.keys() \ - and 'KHR_texture_transform' in pytextureinfo['extensions'].keys(): - extension_text_transform_used = pytextureinfo['extensions']['KHR_texture_transform'] - BlenderTexture.create(gltf, pytextureinfo['index'], extension_text_transform_used) - else: - if pytextureinfo.extensions is not None \ - and 'KHR_texture_transform' in pytextureinfo.extensions.keys(): - extension_text_transform_used = pytextureinfo.extensions['KHR_texture_transform'] - BlenderTexture.create(gltf, pytextureinfo.index, extension_text_transform_used) - -class BlenderTexture(): - """Blender Texture.""" - def __new__(cls, *args, **kwargs): - raise RuntimeError("%s should not be instantiated" % cls) - - @staticmethod - def create(gltf, pytexture_idx, tex_transform): - """Create texture.""" - pytexture = gltf.data.textures[pytexture_idx] - BlenderImage.create(gltf, pytexture.source, pytexture_idx, tex_transform) - |