Loading...
Searching...
No Matches
mesh.h
1//
2// Copyright 2019 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MESH_H
8#define EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MESH_H
9
10#include "pxr/pxr.h"
11#include "hdPrman/gprim.h"
12#include "pxr/imaging/hd/mesh.h"
13
14#include "Riley.h"
15
16PXR_NAMESPACE_OPEN_SCOPE
17
18class HdPrman_Mesh final : public HdPrman_Gprim<HdMesh>
19{
20public:
21 using BASE = HdPrman_Gprim<HdMesh>;
22
23 HF_MALLOC_TAG_NEW("new HdPrman_Mesh");
24
25 HdPrman_Mesh(SdfPath const& id, const bool isMeshLight);
26
27 HdDirtyBits GetInitialDirtyBitsMask() const override;
28
29protected:
30 bool _ConvertGeometry(
31 HdPrman_RenderParam *renderParam,
32 HdSceneDelegate *sceneDelegate,
33 const SdfPath &id,
34 RtUString *primType,
35 RtPrimVarList *primvars,
36 std::vector<HdGeomSubset> *geomSubsets,
37 std::vector<RtPrimVarList> *geomSubsetPrimvars) override;
38
39 bool _PrototypeOnly() override;
40
41
42private:
43 bool _isMeshLight;
44};
45
46PXR_NAMESPACE_CLOSE_SCOPE
47
48#endif // EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_MESH_H
A mix-in template that adds shared gprim behavior to support various HdRprim types.
Definition: gprim.h:30
Adapter class providing data exchange with the client scene graph.
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274