YAGE
1.0
Yet Another Game Engine
|
A Game Object. All objects that are to be rendered will inherit this class. More...
#include <IGameObject.h>
Public Member Functions | |
virtual | ~IGameObject () |
Destructor that deletes the unique shader program and shadow program belonging to the object. More... | |
virtual void | Draw (GLuint shader)=0 |
Draws via the given shader. More... | |
virtual void | DrawShadow (GLuint shader)=0 |
Draw shadows via the given shader. More... | |
virtual void | Update ()=0 |
Updates this object. More... | |
virtual void | Destroy ()=0 |
Destroys this object. More... | |
virtual void | SetProgram (GLuint shaderName) |
Sets the main shader program corresponding to this object. More... | |
virtual void | SetShadowProgram (GLuint shaderName) |
Sets the shadow pass shader program corresponding to this object. More... | |
virtual GLuint | GetProgram () |
Gets the object's main shader program. More... | |
virtual GLuint | GetShadowProgram () |
Gets the object's shadow program. More... | |
virtual void | SetTexture (const std::string &textureName, const TextureType &textureType, const GLuint &texture)=0 |
Adds a texture to an object. More... | |
virtual const GLuint | GetTexture (const std::string &textureName) const =0 |
Gets a texture. More... | |
Protected Attributes | |
GLuint | program = 0 |
GLuint | shadowProgram = 0 |
A Game Object. All objects that are to be rendered will inherit this class.
|
inlinevirtual |
Destructor that deletes the unique shader program and shadow program belonging to the object.
|
pure virtual |
Destroys this object.
Implemented in Light, Scene_Container, Model, and Particle_Container.
|
pure virtual |
Draws via the given shader.
shader | The shader. |
Implemented in SpotLight, PointLight, AmbientLight, DirectionalLight, Light, Scene_Container, Mesh, and Particle_Container.
|
pure virtual |
Draw shadows via the given shader.
Implemented in DirectionalLight, Light, Scene_Container, Mesh, and Particle_Container.
|
inlinevirtual |
Gets the object's main shader program.
|
inlinevirtual |
Gets the object's shadow program.
|
pure virtual |
Gets a texture.
textureName | The name of the texture. |
Implemented in Light, Scene_Container, Model, and Particle_Container.
|
inlinevirtual |
Sets the main shader program corresponding to this object.
shaderName | Name of the shader. |
Reimplemented in Scene_Container, and Model.
|
inlinevirtual |
Sets the shadow pass shader program corresponding to this object.
shaderName | Name of the shader. |
Reimplemented in Scene_Container, and Model.
|
pure virtual |
Adds a texture to an object.
textureName | Name of the texture. |
textureType | Type of the texture. |
texture | The texture id. |
Implemented in Light, Scene_Container, Model, and Particle_Container.
|
pure virtual |
Updates this object.
Implemented in Light, Scene_Container, Mesh, and Particle_Container.
|
protected |
|
protected |