28 #ifndef PXR_IMAGING_HD_EXT_COMPUTATION_SCHEMA_H 29 #define PXR_IMAGING_HD_EXT_COMPUTATION_SCHEMA_H 31 #include "pxr/imaging/hd/api.h" 33 #include "pxr/imaging/hd/schema.h" 35 PXR_NAMESPACE_OPEN_SCOPE
39 #define HDEXTCOMPUTATION_SCHEMA_TOKENS \ 50 HDEXTCOMPUTATION_SCHEMA_TOKENS);
54 class HdExtComputationSchema :
public HdSchema 57 HdExtComputationSchema(HdContainerDataSourceHandle container)
63 HdContainerDataSourceHandle GetInputValues();
65 HdVectorDataSourceHandle GetInputComputations();
67 HdVectorDataSourceHandle GetOutputs();
69 HdStringDataSourceHandle GetGlslKernel();
71 HdDataSourceBaseHandle GetCpuCallback();
73 HdSizetDataSourceHandle GetDispatchCount();
75 HdSizetDataSourceHandle GetElementCount();
85 static HdContainerDataSourceHandle
87 const HdContainerDataSourceHandle &inputValues,
88 const HdVectorDataSourceHandle &inputComputations,
89 const HdVectorDataSourceHandle &outputs,
90 const HdStringDataSourceHandle &glslKernel,
91 const HdDataSourceBaseHandle &cpuCallback,
92 const HdSizetDataSourceHandle &dispatchCount,
93 const HdSizetDataSourceHandle &elementCount
107 const HdContainerDataSourceHandle &inputValues);
110 const HdVectorDataSourceHandle &inputComputations);
113 const HdVectorDataSourceHandle &outputs);
116 const HdStringDataSourceHandle &glslKernel);
119 const HdDataSourceBaseHandle &cpuCallback);
122 const HdSizetDataSourceHandle &dispatchCount);
125 const HdSizetDataSourceHandle &elementCount);
129 HdContainerDataSourceHandle
Build();
132 HdContainerDataSourceHandle _inputValues;
133 HdVectorDataSourceHandle _inputComputations;
134 HdVectorDataSourceHandle _outputs;
135 HdStringDataSourceHandle _glslKernel;
136 HdDataSourceBaseHandle _cpuCallback;
137 HdSizetDataSourceHandle _dispatchCount;
138 HdSizetDataSourceHandle _elementCount;
147 static HdExtComputationSchema GetFromParent(
148 const HdContainerDataSourceHandle &fromParentContainer);
200 PXR_NAMESPACE_CLOSE_SCOPE
HD_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
Represents an object that can identify the location of a data source.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
Schema classes represent a structured view of the inherently unstructured container data source passe...