HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
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 Apache License, Version 2.0 (the "Apache License")
5
// with the following modification; you may not use this file except in
6
// compliance with the Apache License and the following modification to it:
7
// Section 6. Trademarks. is deleted and replaced with:
8
//
9
// 6. Trademarks. This License does not grant permission to use the trade
10
// names, trademarks, service marks, or product names of the Licensor
11
// and its affiliates, except as required to comply with Section 4(c) of
12
// the License and to reproduce the content of the NOTICE file.
13
//
14
// You may obtain a copy of the Apache License at
15
//
16
// http://www.apache.org/licenses/LICENSE-2.0
17
//
18
// Unless required by applicable law or agreed to in writing, software
19
// distributed under the Apache License with the above modification is
20
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
// KIND, either express or implied. See the Apache License for the specific
22
// language governing permissions and limitations under the Apache License.
23
//
24
#ifndef PXR_IMAGING_HD_ST_DYNAMIC_UV_TEXTURE_IMPLEMENTATION_H
25
#define PXR_IMAGING_HD_ST_DYNAMIC_UV_TEXTURE_IMPLEMENTATION_H
26
27
#include "
pxr/pxr.h
"
28
29
PXR_NAMESPACE_OPEN_SCOPE
30
31
class
HdStDynamicUvTextureObject
;
32
33
/// \class HdStDynamicUvTextureImplementation
34
///
35
/// Allows external clients to specify how a UV texture is loaded from, e.g.,
36
/// a file and how it is committed to the GPU.
37
///
38
class
HdStDynamicUvTextureImplementation
39
{
40
public
:
41
/// Called during the load phase of the Storm texture system
42
/// when a texture file is supposed to be loaded to the CPU.
43
///
44
/// This method has to be thread-safe.
45
///
46
virtual
void
Load
(
HdStDynamicUvTextureObject
*textureObject) = 0;
47
48
/// Called during the commit phase of the Storm texture system
49
/// when the CPU texture is committed to the GPU.
50
virtual
void
Commit
(
HdStDynamicUvTextureObject
*textureObject) = 0;
51
52
/// Queried by, e.g., the material system to determine whether
53
/// to use, e.g., the fallback value of a texture node.
54
virtual
bool
IsValid
(
const
HdStDynamicUvTextureObject
*textureObject) = 0;
55
};
56
57
PXR_NAMESPACE_CLOSE_SCOPE
58
59
#endif
HdStDynamicUvTextureImplementation::Load
virtual void Load(HdStDynamicUvTextureObject *textureObject)=0
HdStDynamicUvTextureObject
Definition:
dynamicUvTextureObject.h:53
HdStDynamicUvTextureImplementation::Commit
virtual void Commit(HdStDynamicUvTextureObject *textureObject)=0
HdStDynamicUvTextureImplementation
Definition:
dynamicUvTextureImplementation.h:38
pxr.h
PXR_NAMESPACE_OPEN_SCOPE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition:
path.h:1432
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:91
HdStDynamicUvTextureImplementation::IsValid
virtual bool IsValid(const HdStDynamicUvTextureObject *textureObject)=0
pxr
imaging
hdSt
dynamicUvTextureImplementation.h
Generated on Sun Nov 17 2024 03:02:53 for HDK by
1.8.6