25 #ifndef PXR_IMAGING_HGI_SHADERFUNCTIONDESC_H
26 #define PXR_IMAGING_HGI_SHADERFUNCTIONDESC_H
29 #include "pxr/imaging/hgi/api.h"
30 #include "pxr/imaging/hgi/enums.h"
31 #include "pxr/imaging/hgi/types.h"
36 PXR_NAMESPACE_OPEN_SCOPE
58 std::string nameInShader;
63 using HgiShaderFunctionTextureDescVector =
64 std::vector<HgiShaderFunctionTextureDesc>;
92 std::string nameInShader;
96 using HgiShaderFunctionBufferDescVector =
97 std::vector<HgiShaderFunctionBufferDesc>;
131 std::string nameInShader;
134 std::string attribute;
135 std::string attributeIndex;
138 using HgiShaderFunctionParamDescVector =
139 std::vector<HgiShaderFunctionParamDesc>;
178 std::string debugName;
179 HgiShaderStage shaderStage;
180 const char* shaderCode;
181 std::vector<HgiShaderFunctionTextureDesc> textures;
182 std::vector<HgiShaderFunctionBufferDesc> buffers;
183 std::vector<HgiShaderFunctionParamDesc> constantParams;
184 std::vector<HgiShaderFunctionParamDesc> stageInputs;
185 std::vector<HgiShaderFunctionParamDesc> stageOutputs;
188 using HgiShaderFunctionDescVector =
189 std::vector<HgiShaderFunctionDesc>;
204 HgiShaderFunctionAddTexture(
206 const std::string &nameInShader,
207 uint32_t dimensions = 2,
208 const HgiFormat &format = HgiFormatFloat32Vec4);
213 HgiShaderFunctionAddBuffer(
215 const std::string &nameInShader,
216 const std::string &type);
222 HgiShaderFunctionAddConstantParam(
224 const std::string &nameInShader,
225 const std::string &type,
226 const std::string &role = std::string(),
227 const std::string &attribute = std::string(),
228 const std::string &attributeIndex = std::string());
234 HgiShaderFunctionAddStageInput(
236 const std::string &nameInShader,
237 const std::string &type,
238 const std::string &role = std::string(),
239 const std::string &attribute = std::string(),
240 const std::string &attributeIndex = std::string());
246 HgiShaderFunctionAddStageOutput(
248 const std::string &nameInShader,
249 const std::string &type,
250 const std::string &role = std::string(),
251 const std::string &attribute = std::string(),
252 const std::string &attributeIndex = std::string());
254 PXR_NAMESPACE_CLOSE_SCOPE
Describes a buffer to be passed into a shader.
AR_API bool operator!=(const ArAssetInfo &lhs, const ArAssetInfo &rhs)
AR_API bool operator==(const ArAssetInfo &lhs, const ArAssetInfo &rhs)
Describes a constant param passed into a shader.
Describes a texture to be passed into a shader.
Describes the properties needed to create a GPU shader function.