OpenSubdiv
Loading...
Searching...
No Matches
glLegacyGregoryPatchTable.h
Go to the documentation of this file.
1//
2// Copyright 2015 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://opensubdiv.org/license.
6//
7
8#ifndef OPENSUBDIV3_OSD_GL_LEGACY_GREGORY_PATCH_TABLE_H
9#define OPENSUBDIV3_OSD_GL_LEGACY_GREGORY_PATCH_TABLE_H
10
11#include "../version.h"
12
13#include "../far/patchTable.h"
14#include "../osd/nonCopyable.h"
15
16namespace OpenSubdiv {
17namespace OPENSUBDIV_VERSION {
18
19namespace Osd {
20
22 : private NonCopyable<GLLegacyGregoryPatchTable> {
23public:
24 using ID = unsigned int; // GLuint resource ID
25
27
29
31
33 return _vertexTextureBuffer;
34 }
35
37 return _vertexValenceTextureBuffer;
38 }
39
41 return _quadOffsetsTextureBuffer;
42 }
43
46 return _quadOffsetsBase[1];
47 }
48 return _quadOffsetsBase[0];
49 }
50
51protected:
53
54private:
55 ID _vertexTextureBuffer;
56 ID _vertexValenceTextureBuffer;
57 ID _quadOffsetsTextureBuffer;
58 ID _quadOffsetsBase[2]; // gregory, boundaryGregory
59};
60
61
62
63} // end namespace Osd
64
65} // end namespace OPENSUBDIV_VERSION
66using namespace OPENSUBDIV_VERSION;
67
68} // end namespace OpenSubdiv
69
70#endif // OPENSUBDIV3_OSD_GL_LEGACY_GREGORY_PATCH_TABLE_H
Container for arrays of parametric patches.
Definition patchTable.h:38
static GLLegacyGregoryPatchTable * Create(Far::PatchTable const *patchTable)