7#ifndef PXR_IMAGING_HD_IMPLICITSURFACE_H
8#define PXR_IMAGING_HD_IMPLICITSURFACE_H
11#include "pxr/imaging/hd/api.h"
12#include "pxr/imaging/hd/version.h"
13#include "pxr/imaging/hd/rprim.h"
15PXR_NAMESPACE_OPEN_SCOPE
17#define HD_IMPLICITSURFACE_REPR_DESC_TOKENS \
19 (surfaceShaderUnlit) \
20 (surfaceShaderSheer) \
21 (surfaceShaderOutline) \
27 HD_IMPLICITSURFACE_REPR_DESC_TOKENS);
36 HdImplicitSurfaceGeomStyle
geomStyle = HdImplicitSurfaceGeomStyleInvalid,
37 HdCullStyle
cullStyle = HdCullStyleDontCare,
50 bool IsEmpty()
const {
51 return geomStyle == HdImplicitSurfaceGeomStyleInvalid;
108 using _ImplicitSurfaceReprConfig = _ReprDescConfigs<HdImplicitSurfaceReprDesc>;
111 static _ImplicitSurfaceReprConfig::DescArray
112 _GetReprDesc(
TfToken const &reprName);
123 static _ImplicitSurfaceReprConfig _reprDescConfig;
126PXR_NAMESPACE_CLOSE_SCOPE
Hydra Schema for a natively supported implicit surface (e.g., spheres).
HD_API TfTokenVector const & GetBuiltinPrimvarNames() const override
Returns the names of built-in primvars, i.e.
static HD_API void ConfigureRepr(TfToken const &reprName, HdImplicitSurfaceReprDesc desc)
Configure geometric style of drawItems for reprName.
bool IsDoubleSided(HdSceneDelegate *delegate) const
Render State.
The render engine state for a given rprim from the scene graph.
SdfPath const & GetId() const
Returns the identifier of this Rprim.
Adapter class providing data exchange with the client scene graph.
virtual HD_API HdDisplayStyle GetDisplayStyle(SdfPath const &id)
Returns the display style for the given prim.
virtual HD_API bool GetDoubleSided(SdfPath const &id)
Returns the doubleSided state for the given prim.
virtual HD_API HdCullStyle GetCullStyle(SdfPath const &id)
Returns the cullstyle for the given prim.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Describes how the geometry of a prim should be displayed.
Descriptor to configure the drawItem for a repr.
HdCullStyle cullStyle
The culling style: draw front faces, back faces, etc.
HdImplicitSurfaceGeomStyle geomStyle
The rendering style: surface, wireframe-only, wireframe-on-surface etc.
bool forceOpaqueRings
If the geom style includes wireframe lines, should those lines be forced to be fully opaque,...
bool doubleSided
Should this surface be treated as double-sided? The resolved value is (prim.doubleSided || repr....
TfToken shadingTerminal
Specifies how the fragment color should be computed from surfaceShader; this can be used to render th...
bool blendWireframeColor
Should the wireframe color be blended into the color primvar?
std::vector< TfToken > TfTokenVector
Convenience types.