IShaderProgram.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include <ionCore.h>
5 
6 
7 namespace ion
8 {
9  namespace Graphics
10  {
11 
14  {
15 
16  public:
17 
18  virtual ~IVertexShader() {}
19 
20  };
21 
24  {
25 
26  public:
27 
28  virtual ~IGeometryShader() {}
29 
30  };
31 
34  {
35 
36  public:
37 
38  virtual ~IPixelShader() {}
39 
40  };
41 
44  {
45 
46  public:
47 
48  virtual void SetVertexStage(SharedPointer<IVertexShader> VertexShader) = 0;
49  virtual void SetGeometryStage(SharedPointer<IGeometryShader> GeometryShader) = 0;
50  virtual void SetPixelStage(SharedPointer<IPixelShader> PixelShader) = 0;
51 
52  };
53 
54  }
55 }
virtual ~IVertexShader()
Definition: IShaderProgram.h:18
std::shared_ptr< T > SharedPointer
Definition: ionSmartPointer.h:22
Definition: IShaderProgram.h:43
Definition: IShaderProgram.h:13
virtual ~IPixelShader()
Definition: IShaderProgram.h:38
Definition: IShaderProgram.h:33
Definition: CCatmullRomAdvancedSplineInterpolator.h:7
virtual ~IGeometryShader()
Definition: IShaderProgram.h:28
Definition: IShaderProgram.h:23