|
HDST_API | HdSt_GeometricShader (std::string const &glslfxString, PrimitiveType primType, HdCullStyle cullStyle, bool useHardwareFaceCulling, bool hasMirroredTransform, bool doubleSided, bool useMetalTessellation, HdPolygonMode polygonMode, bool cullingPass, FvarPatchType fvarPatchType, SdfPath const &debugId=SdfPath(), float lineWidth=0) |
|
HDST_API | ~HdSt_GeometricShader () override |
|
HDST_API ID | ComputeHash () const override |
|
HDST_API std::string | GetSource (TfToken const &shaderStageKey) const override |
|
HDST_API void | BindResources (int program, HdSt_ResourceBinder const &binder) override |
|
HDST_API void | UnbindResources (int program, HdSt_ResourceBinder const &binder) override |
| Unbinds shader-specific resources. More...
|
|
HDST_API void | AddBindings (HdBindingRequestVector *customBindings) override |
| Add custom bindings (used by codegen) More...
|
|
bool | IsFrustumCullingPass () const |
| Returns true if this geometric shader is used for GPU frustum culling. More...
|
|
PrimitiveType | GetPrimitiveType () const |
|
HdCullStyle | GetCullStyle () const |
|
bool | GetUseHardwareFaceCulling () const |
|
bool | GetHasMirroredTransform () const |
|
bool | GetDoubleSided () const |
|
bool | GetUseMetalTessellation () const |
|
float | GetLineWidth () const |
|
HdPolygonMode | GetPolygonMode () const |
|
bool | IsPrimTypePoints () const |
| member query functions for PrimitiveType More...
|
|
bool | IsPrimTypeBasisCurves () const |
|
bool | IsPrimTypeMesh () const |
|
bool | IsPrimTypeTriangles () const |
|
bool | IsPrimTypeQuads () const |
|
bool | IsPrimTypeTriQuads () const |
|
bool | IsPrimTypePatches () const |
|
FvarPatchType | GetFvarPatchType () const |
|
HDST_API int | GetPrimitiveIndexSize () const |
|
HDST_API int | GetNumPatchEvalVerts () const |
|
HDST_API int | GetNumPrimitiveVertsForGeometryShader () const |
|
HDST_API HgiPrimitiveType | GetHgiPrimitiveType () const |
|
HDST_API | HdStShaderCode () |
|
virtual HDST_API | ~HdStShaderCode () |
|
virtual ID | ComputeTextureSourceHash () const |
|
HDST_API VtDictionary | GetLayout (TfTokenVector const &shaderStageKeys) const |
|
virtual HDST_API
HdSt_MaterialParamVector const & | GetParams () const |
| Returns the shader parameters for this shader. More...
|
|
virtual HDST_API bool | IsEnabledPrimvarFiltering () const |
| Returns whether primvar filtering is enabled for this shader. More...
|
|
virtual HDST_API TfTokenVector
const & | GetPrimvarNames () const |
| Returns the names of primvar that are used by this shader. More...
|
|
virtual HDST_API
HdBufferArrayRangeSharedPtr
const & | GetShaderData () const |
|
virtual HDST_API TfToken | GetMaterialTag () const |
|
virtual HDST_API void | AddResourcesFromTextures (ResourceContext &ctx) const |
|
virtual HDST_API
NamedTextureHandleVector const & | GetNamedTextureHandles () const |
|
Storm breaks down the concept of a shader program into distinct conceptual pieces that are then stitched together during code generation. The pieces are: (i) geometric shader (ii) material shader (iii) lighting shader (iv) render pass shader
The geometric shader contains the entry points for the relevant shader stages and uses geometry opinions (such as cullstyle, double sided, etc) to generate shader code variants via mixins.
Definition at line 60 of file geometricShader.h.