|
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 |