7#ifndef PXR_IMAGING_HD_ST_SAMPLER_OBJECT_H
8#define PXR_IMAGING_HD_ST_SAMPLER_OBJECT_H
11#include "pxr/imaging/hdSt/api.h"
12#include "pxr/imaging/hdSt/enums.h"
14#include "pxr/imaging/hgi/handle.h"
15#include "pxr/imaging/hd/types.h"
19PXR_NAMESPACE_OPEN_SCOPE
27class HdSt_SamplerObjectRegistry;
30using HdStSamplerObjectSharedPtr =
31 std::shared_ptr<class HdStSamplerObject>;
56 HdSt_SamplerObjectRegistry * samplerObjectRegistry);
59 HdSt_SamplerObjectRegistry *
const _samplerObjectRegistry;
72 HdSt_SamplerObjectRegistry * samplerObjectRegistry);
96 HdSt_SamplerObjectRegistry * samplerObjectRegistry);
121 HdSt_SamplerObjectRegistry * samplerObjectRegistry);
128 return _texelsSampler;
134 return _layoutSampler;
153 HdSt_SamplerObjectRegistry * samplerObjectRegistry);
160 return _texelsSampler;
166 return _layoutSampler;
187 HdSt_SamplerObjectRegistry * samplerObjectRegistry);
202template<HdStTextureType textureType>
203struct HdSt_TypedSamplerObjectHelper;
210template<HdStTextureType textureType>
212 typename HdSt_TypedSamplerObjectHelper<textureType>::type;
215struct HdSt_TypedSamplerObjectHelper<HdStTextureType::Uv> {
220struct HdSt_TypedSamplerObjectHelper<HdStTextureType::Field> {
225struct HdSt_TypedSamplerObjectHelper<HdStTextureType::Ptex> {
230struct HdSt_TypedSamplerObjectHelper<HdStTextureType::Udim> {
235struct HdSt_TypedSamplerObjectHelper<HdStTextureType::Cubemap> {
239PXR_NAMESPACE_CLOSE_SCOPE
Collection of standard parameters such as wrap modes to sample a texture.
A sampler suitable for HdStCubemapTextureObject.
const HgiSamplerHandle & GetSampler() const
The sampler.
A base class for cubemap textures.
A sampler suitable for HdStFieldTextureObject.
const HgiSamplerHandle & GetSampler() const
The sampler.
A uvw texture with a bounding box describing how to transform it.
Ptex doesn't bind samplers, so this class is just holding a sampler to resolve handles for bindless t...
const HgiSamplerHandle & GetTexelsSampler() const
The GPU sampler object for the texels texture.
const HgiSamplerHandle & GetLayoutSampler() const
The GPU sampler object for the layout texture.
A base class encapsulating a GPU sampler object.
A template alias such that, e.g., HdStUvSamplerObject can be accessed as HdStTypedSamplerObject<HdStT...
A sampler suitable for Udim textures (wraps one GPU sampler for the texels texture).
const HgiSamplerHandle & GetTexelsSampler() const
The GPU sampler object for the texels texture.
const HgiSamplerHandle & GetLayoutSampler() const
The GPU sampler object for the layout texture.
A sampler suitable for HdStUvTextureObject.
const HgiSamplerHandle & GetSampler() const
The sampler.
A base class for uv textures.
Hydra Graphics Interface.