IShaderData.h
Go to the documentation of this file.
1 #ifndef B_I_SHADER_DATA_H
2 #define B_I_SHADER_DATA_H
3 
4 #include <string>
5 #include "Renderer_GL.h"
6 
11 {
12 public:
13 
14  /* Functions */
15 
18  virtual ~IShaderData(){}
19 
22  virtual std::string getVertShaderSrc() const = 0;
23 
26  virtual std::string getFragShaderSrc() const = 0;
27 
30  virtual GLuint getMaxLights() const = 0;
31 
34  virtual bool supportsVariableNumberOfLights() const = 0;
35 
38  virtual bool supportsAmbientLighting() const = 0;
39 
42  virtual bool supportsDiffuseLighting() const = 0;
43 
46  virtual bool supportsSpecularLighting() const = 0;
47 
50  virtual bool supportsCubicReflectionMap() const = 0;
51 
54  virtual bool isValid() const = 0;
55 
56 };
57 
58 #endif /* defined(B_I_SHADER_DATA_H) */
virtual bool supportsVariableNumberOfLights() const =0
Returns true if the number of lights is variable in the shader.
virtual bool supportsAmbientLighting() const =0
Returns true if the shader supports ambient lighting.
virtual bool supportsDiffuseLighting() const =0
Returns true if the shader supports diffuse lighting.
virtual bool isValid() const =0
Returns true if the shader is valid.
virtual GLuint getMaxLights() const =0
Get the maximum number of lights.
virtual bool supportsCubicReflectionMap() const =0
Returns true if the shader supports a cubic reflection map.
An interface for the underlying data of a shader.
Definition: IShaderData.h:10
virtual std::string getFragShaderSrc() const =0
Gets the source code of the fragment shader as a string.
virtual bool supportsSpecularLighting() const =0
Returns true if the shader supports specular lighting.
virtual std::string getVertShaderSrc() const =0
Gets the source code of the vertex shader as a string.
virtual ~IShaderData()
Virtual destructor.
Definition: IShaderData.h:18