CShaderProgram.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include <ionCore.h>
5 #include <ionMath.h>
6 #include <ionGraphics.h>
7 
8 
9 namespace ion
10 {
11  namespace Graphics
12  {
13  namespace GL
14  {
15 
16  class CShader : public IShader
17  {
18  public:
19 
22  void SetPixelStage(SharedPointer<IPixelStage> PixelShader);
23 
24  void Link();
25 
26 
27  uint Handle = 0;
28  bool Linked = false;
29 
30  map<string, pair<uint, uint>> Attributes;
31  map<string, uint> Uniforms;
32 
33  };
34  }
35  }
36 }
void SetVertexStage(SharedPointer< IVertexStage > VertexShader)
Definition: CShaderProgram.cpp:36
Definition: IShaderProgram.h:43
void SetPixelStage(SharedPointer< IPixelStage > PixelShader)
Definition: CShaderProgram.cpp:52
map< string, uint > Uniforms
Definition: CShaderProgram.h:31
Definition: CCatmullRomAdvancedSplineInterpolator.h:7
unsigned int uint
Definition: ionTypes.h:42
void SetGeometryStage(SharedPointer< IGeometryStage > GeometryShader)
Definition: CShaderProgram.cpp:44
bool Linked
Definition: CShaderProgram.h:28
Definition: CShaderProgram.h:16
map< string, pair< uint, uint > > Attributes
Definition: CShaderProgram.h:30
void Link()
Definition: CShaderProgram.cpp:60
std::shared_ptr< T > SharedPointer
Definition: ionSmartPointer.h:25
uint Handle
Definition: CShaderProgram.h:27