OpenPolygon  1.0.0
OpenPolygon is a Rendering Engine
Public Member Functions | Protected Attributes | List of all members
Engine::IShader Class Referenceabstract

The IShader - abstract / interface class. More...

#include <IShader.h>

Inheritance diagram for Engine::IShader:
Engine::Shader Engine::ShaderARB

Public Member Functions

virtual void UseProgram (void)=0
 
virtual void Unused (void)=0
 
virtual void LinkProgram (void)=0
 
virtual void AttachShader (uint shader)=0
 
virtual void BindUniform1i (const char *location, int number)=0
 
virtual void BindUniform1f (const char *location, float number)=0
 
virtual void BindMatrix (const char *location, glm::mat4 matrix)=0
 
virtual void BindVec3i (const char *location, const Vector3i &vector)=0
 
virtual void BindVec3f (const char *location, const Vector3f &vector)=0
 
virtual void BindVec4i (const char *location, const Vector4i &vector)=0
 
virtual void BindVec4f (const char *location, const Vector4f &vector)=0
 
virtual void BindTexture (Texture *texture, const char *location, int texture_unit)=0
 
virtual void BindFragData (const char *location, int frag_position)=0
 
virtual void BindAttributeLocation (const char *location, int attribute_id)=0
 
bool isUsing (void)
 
void setUsing (bool state)
 
void setLinked (bool state)
 
void setSource (bool state)
 
uint getProgram (void)
 
bool hasSource (void)
 
bool hasLinked (void)
 

Protected Attributes

bool mUsing
 
bool mSource
 
bool mLink
 
uint mProgram
 
std::vector< uint > mShaders
 

Detailed Description

The IShader - abstract / interface class.


The documentation for this class was generated from the following file: