HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dynamicUvTextureImplementation.h
Go to the documentation of this file.
1 //
2 // Copyright 2020 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_IMAGING_HD_ST_DYNAMIC_UV_TEXTURE_IMPLEMENTATION_H
8 #define PXR_IMAGING_HD_ST_DYNAMIC_UV_TEXTURE_IMPLEMENTATION_H
9 
10 #include "pxr/pxr.h"
11 
13 
15 
16 /// \class HdStDynamicUvTextureImplementation
17 ///
18 /// Allows external clients to specify how a UV texture is loaded from, e.g.,
19 /// a file and how it is committed to the GPU.
20 ///
22 {
23 public:
24  /// Called during the load phase of the Storm texture system
25  /// when a texture file is supposed to be loaded to the CPU.
26  ///
27  /// This method has to be thread-safe.
28  ///
29  virtual void Load(HdStDynamicUvTextureObject *textureObject) = 0;
30 
31  /// Called during the commit phase of the Storm texture system
32  /// when the CPU texture is committed to the GPU.
33  virtual void Commit(HdStDynamicUvTextureObject *textureObject) = 0;
34 
35  /// Queried by, e.g., the material system to determine whether
36  /// to use, e.g., the fallback value of a texture node.
37  virtual bool IsValid(const HdStDynamicUvTextureObject *textureObject) = 0;
38 };
39 
41 
42 #endif
virtual void Load(HdStDynamicUvTextureObject *textureObject)=0
virtual void Commit(HdStDynamicUvTextureObject *textureObject)=0
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
virtual bool IsValid(const HdStDynamicUvTextureObject *textureObject)=0