HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
graphicsPipeline.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_HGIGL_PIPELINE_H
8 #define PXR_IMAGING_HGIGL_PIPELINE_H
9 
10 #include "pxr/pxr.h"
12 #include "pxr/imaging/hgiGL/api.h"
13 
14 
16 
17 class HgiGL;
18 
19 /// \class HgiGLPipeline
20 ///
21 /// OpenGL implementation of HgiGraphicsPipeline.
22 ///
24 {
25 public:
26  HGIGL_API
27  ~HgiGLGraphicsPipeline() override;
28 
29  /// Apply pipeline state
30  HGIGL_API
31  void BindPipeline();
32 
33 protected:
34  friend class HgiGL;
35 
36  HGIGL_API
37  HgiGLGraphicsPipeline(HgiGL const* hgi,
38  HgiGraphicsPipelineDesc const& desc);
39 
40 private:
41  HgiGLGraphicsPipeline() = delete;
42  HgiGLGraphicsPipeline & operator=(const HgiGLGraphicsPipeline&) = delete;
44 
45  HgiGL const *_hgi;
46  uint32_t _vao;
47 };
48 
49 
51 
52 #endif
HGIGL_API ~HgiGLGraphicsPipeline() override
Definition: hgi.h:54
#define HGIGL_API
Definition: api.h:23
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
HGIGL_API void BindPipeline()
Apply pipeline state.
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74