7#ifndef PXR_IMAGING_HD_ST_IMPLICIT_SURFACE_H
8#define PXR_IMAGING_HD_ST_IMPLICIT_SURFACE_H
11#include "pxr/imaging/hdSt/api.h"
12#include "pxr/imaging/hd/version.h"
13#include "pxr/imaging/hd/bufferSpec.h"
14#include "pxr/imaging/hd/drawingCoord.h"
15#include "pxr/imaging/hd/implicitSurface.h"
16#include "pxr/imaging/hd/perfLog.h"
18#include "pxr/usd/sdf/path.h"
21PXR_NAMESPACE_OPEN_SCOPE
42 HdDirtyBits *dirtyBits,
43 TfToken const &reprToken)
override;
55 HdBufferSpecVector customSpecs);
66 HdDirtyBits *dirtyBitsState);
70 HdStDrawItem *drawItem,
71 HdDirtyBits *dirtyBits);
75 HdStDrawItem *drawItem,
80 bool updateMaterialNetworkShader,
81 bool updateGeometricShader);
88 HdStDrawItem *drawItem);
91 virtual void _PopulateCustomConstantPrimvars(
94 HdStDrawItem *drawItem) = 0;
101 const HdBufferSpecVector _customSpecs;
104 HdCullStyle _cullStyle{HdCullStyleDontCare};
108 const uint32_t _vertexCount{4};
110 bool _doubleSided : 1;
111 bool _displayOpacityFromInstancer : 1;
112 bool _displayOpacityFromPrimvars : 1;
113 bool _displayInOverlay : 1;
114 bool _occludedSelectionShowsThrough : 1;
117 InstancePrimvar = HdDrawingCoord::CustomSlotsBegin
122PXR_NAMESPACE_CLOSE_SCOPE
Hydra Schema for a natively supported implicit surface (e.g., spheres).
The HdRenderParam is an opaque (to core Hydra) handle, to an object that is obtained from the render ...
Adapter class providing data exchange with the client scene graph.
Base class for natively supported implicit surfaces (e.g., spheres)
HDST_API void Sync(HdSceneDelegate *delegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits, TfToken const &reprToken) override
Pull invalidated scene data and prepare/update the renderable representation.
HDST_API HdDirtyBits _PropagateDirtyBits(HdDirtyBits bits) const override
This callback from Rprim gives the prim an opportunity to set additional dirty bits based on those al...
HDST_API void _InitRepr(TfToken const &reprToken, HdDirtyBits *dirtyBits) override
Initialize the given representation of this Rprim.
HDST_API HdDirtyBits GetInitialDirtyBitsMask() const override
Returns the set of dirty bits that should be added to the change tracker for this prim,...
HDST_API void Finalize(HdRenderParam *renderParam) override
Finalizes object resources.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
Descriptor to configure the drawItem for a repr.