|
HDST_API | HdSt_GeometricShader (std::string const &glslfxString, PrimitiveType primType, HdCullStyle cullStyle, bool useHardwareFaceCulling, bool hasMirroredTransform, bool doubleSided, 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, HdRenderPassState const &state) override |
|
HDST_API void | UnbindResources (int program, HdSt_ResourceBinder const &binder, HdRenderPassState const &state) 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 |
|
bool | IsPrimTypePoints () const |
| member query functions for PrimitiveType More...
|
|
bool | IsPrimTypeBasisCurves () const |
|
bool | IsPrimTypeMesh () const |
|
bool | IsPrimTypeTriangles () const |
|
bool | IsPrimTypeQuads () const |
|
bool | IsPrimTypePatches () const |
|
FvarPatchType | GetFvarPatchType () const |
|
HDST_API GLenum | GetPrimitiveMode () const |
| Return the GL primitive type of the draw item based on _primType. More...
|
|
HDST_API int | GetPrimitiveIndexSize () const |
|
HDST_API int | GetNumPatchEvalVerts () const |
|
HDST_API int | GetNumPrimitiveVertsForGeometryShader () const |
|
HDST_API | HdStShaderCode () |
|
virtual HDST_API | ~HdStShaderCode () |
|
virtual ID | ComputeTextureSourceHash () 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 59 of file geometricShader.h.