HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GLTF_PrincipledShaderMaterialCodec.h
Go to the documentation of this file.
1 #ifndef __GLTF_PrincipledShaderMaterialCodec_h__
2 #define __GLTF_PrincipledShaderMaterialCodec_h__
3 
4 #include "GLTFZ_API.h"
5 #include "GLTF_Codec.h"
6 #include "GLTF_ExportOptions.h"
7 #include "GLTF_ImportOptions.h"
8 #include "GLTF_Types.h"
9 
10 #include <UT/UT_Set.h>
11 #include <UT/UT_StringHolder.h>
12 
13 class GLTF_ErrorManager;
14 class GLTF_Reader;
15 class GU_Detail;
16 
18 {
19 public:
21  : GLTF_Codec(options)
22  {
23 
24  }
26  : GLTF_Codec(options)
27  {
28 
29  }
31 
32  static bool isExtensionSupported(const char* ext_name)
33  {
34  static const UT_Set<UT_StringHolder> mySupportedExtensions{
35  "KHR_materials_emissive_strength",
36  "KHR_texture_transform"
37  };
38  return mySupportedExtensions.contains(ext_name);
39  }
40 
42  GU_Detail& gdp,
43  const GLTF_Index mesh_idx,
44  const GLTF_Index prim_idx,
45  const GLTF_MeshInfo& mesh_info,
46  GLTF_Reader& reader,
47  GLTF_ErrorManager& errors) override
48  {
49  return false;
50  }
51 
52  bool importMaterial(
53  GU_Detail& gdp,
54  const GLTF_Index mat_idx,
55  GLTF_Reader& reader,
56  GLTF_ErrorManager& errors,
57  GA_AttributeOwner mat_attribs_owner=GA_ATTRIB_PRIMITIVE) override;
58 
59  bool exportMaterial(
60  const OP_Node* mat_node,
61  const GLTF_Index mat_id,
62  fpreal time,
63  const GLTF_MaterialInfo& mat_info,
64  GLTF_Writer& writer,
65  GLTF_ErrorManager& errors) override;
66 
67 };
68 
69 #endif // __GLTF_PrincipledShaderMaterialCodec_h__
GT_API const UT_StringHolder time
GLTF_PrincipledShaderMaterialCodec(const GLTF_ExportOptions &options)
virtual bool exportMaterial(const OP_Node *mat_node, const GLTF_Index mat_id, fpreal time, const GLTF_MaterialInfo &mat_info, GLTF_Writer &writer, GLTF_ErrorManager &errors)
Definition: GLTF_Codec.h:64
bool importMeshPrimitive(GU_Detail &gdp, const GLTF_Index mesh_idx, const GLTF_Index prim_idx, const GLTF_MeshInfo &mesh_info, GLTF_Reader &reader, GLTF_ErrorManager &errors) override
GLTF_PrincipledShaderMaterialCodec(const GLTF_ImportOptions &options)
std::size_t GLTF_Index
Definition: GLTF_Types.h:13
GA_AttributeOwner
Definition: GA_Types.h:35
fpreal64 fpreal
Definition: SYS_Types.h:283
static bool isExtensionSupported(const char *ext_name)
virtual bool importMaterial(GU_Detail &gdp, const GLTF_Index mat_idx, GLTF_Reader &reader, GLTF_ErrorManager &errors, GA_AttributeOwner mat_attribs_owner=GA_ATTRIB_PRIMITIVE)=0
#define GLTFZ_API
Definition: GLTFZ_API.h:37
bool contains(const K &key) const
Definition: UT_Set.h:108