3ds Max USD API Reference
Loading...
Searching...
No Matches
ShadingModeExporterContext.h
1#pragma once
2//**************************************************************************/
3// Copyright (c) 2022 Autodesk, Inc.
4// All rights reserved.
5//
6// Use of this software is subject to the terms of the Autodesk license
7// agreement provided at the time of installation or download, or which
8// otherwise accompanies this software in either electronic or hard copy form.
9//**************************************************************************/
10
11#include <MaxUsd/MaxUSDAPI.h>
12#include <MaxUsd/Translators/WriteJobContext.h>
13
14#include <pxr/base/tf/token.h>
15#include <pxr/base/vt/types.h>
16#include <pxr/pxr.h>
17#include <pxr/usd/sdf/path.h>
18#include <pxr/usd/usd/prim.h>
19#include <pxr/usd/usd/stage.h>
20
21#include <string>
22#include <utility>
23#include <vector>
24
25class Mtl;
26
27PXR_NAMESPACE_OPEN_SCOPE
28
29#define MAT_ROOT_TOKENS ((materials, "Materials"))
30TF_DECLARE_PUBLIC_TOKENS(MaterialsRootMaxTokens, MaxUSDAPI, MAT_ROOT_TOKENS);
31
33{
34public:
36 MaxUsdWriteJobContext& writeJobContext);
37
38 void SetMaterialAndBindings(Mtl* material, const std::list<SdfPath>* bindings)
39 {
40 this->material = material;
41 this->bindings = bindings;
42 }
43 Mtl* GetMaterial() const { return material; }
44 const std::list<SdfPath>& GetBindings() const { return *bindings; }
45
46 const UsdStageRefPtr& GetUsdStage() const { return stage; }
47
48 MaxUsdWriteJobContext& GetWriteJobContext() const { return writeJobContext; }
49
50 const USDSceneBuilderOptions& GetExportArgs() const { return writeJobContext.GetArgs(); }
51
54 MaxUSDAPI UsdPrim MakeStandardMaterialPrim() const;
55
57 MaxUSDAPI void BindStandardMaterialPrim(const UsdPrim& materialPrim) const;
58
59private:
61 Mtl* material;
63 const std::list<SdfPath>* bindings;
64
66 const UsdStageRefPtr& stage;
68 MaxUsdWriteJobContext& writeJobContext;
69};
70
71PXR_NAMESPACE_CLOSE_SCOPE
Definition: ShadingModeExporterContext.h:33
MaxUSDAPI UsdPrim MakeStandardMaterialPrim() const
MaxUSDAPI void BindStandardMaterialPrim(const UsdPrim &materialPrim) const
Use this function to bind a UsdShadeMaterial prim to known bindings.
Provides basic functionality and access to shared data for prim and shader writers.
Definition: WriteJobContext.h:19
const USDSceneBuilderOptions & GetArgs() const
Returns the export arguments.
Definition: WriteJobContext.h:38
USD Scene Build configuration options.
Definition: USDSceneBuilderOptions.h:49