3ds Max USD API Reference
Loading...
Searching...
No Matches
ShadingModeExporter.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
13#include <MaxUsd/Translators/ShadingModeExporterContext.h>
14#include <MaxUsd/Translators/WriteJobContext.h>
15
16#include <pxr/pxr.h>
17#include <pxr/usd/sdf/path.h>
18#include <pxr/usd/usdShade/material.h>
19
20#include <functional>
21#include <memory>
22
23PXR_NAMESPACE_OPEN_SCOPE
24
26{
27public:
28 MaxUSDAPI
30 MaxUSDAPI
32
33 MaxUSDAPI
34 void DoExport(
35 MaxUsdWriteJobContext& writeJobContexts,
36 const pxr::TfHashSet<pxr::SdfPath, pxr::SdfPath::Hash>& primsToMaterialBind);
37
39 MaxUSDAPI
40 virtual void PreExport(MaxUsdShadingModeExportContext* /* context */) {};
41
43 MaxUSDAPI
44 virtual void Export(
45 const MaxUsdShadingModeExportContext& context,
46 UsdShadeMaterial* const mat,
47 SdfPathSet* const boundPrimPaths)
48 = 0;
49
51 MaxUSDAPI
52 virtual void PostExport(const MaxUsdShadingModeExportContext& /* context */) {};
53};
54
55using MaxUsdShadingModeExporterPtr = std::shared_ptr<MaxUsdShadingModeExporter>;
56using MaxUsdShadingModeExporterCreator
57 = std::function<std::shared_ptr<MaxUsdShadingModeExporter>()>;
58
59PXR_NAMESPACE_CLOSE_SCOPE
Definition: ShadingModeExporterContext.h:33
Definition: ShadingModeExporter.h:26
virtual MaxUSDAPI void PostExport(const MaxUsdShadingModeExportContext &)
Called once, after Export is called for all shading engines.
Definition: ShadingModeExporter.h:52
virtual MaxUSDAPI void PreExport(MaxUsdShadingModeExportContext *)
Called once, before any exports are started.
Definition: ShadingModeExporter.h:40
virtual MaxUSDAPI void Export(const MaxUsdShadingModeExportContext &context, UsdShadeMaterial *const mat, SdfPathSet *const boundPrimPaths)=0
Called inside of a loop, per-material.
Provides basic functionality and access to shared data for prim and shader writers.
Definition: WriteJobContext.h:19