116 Light*
setSpot(
const glm::vec3& direction,
float cutoffDeg,
float exponent);
Light * setPosition(const glm::vec4 &position)
Base class for all composite nodes, i.e., nodes with children (composite pattern, abstract).
glm::mat4 modelTransform_
static const size_t AMBIENT_OFFSET
void setModelTransform(const glm::mat4 modelTransform)
static const size_t DIFFUSE_OFFSET
Local header file for GLM OpenGL Mathematics library.
Base class for all composite nodes, i.e., nodes with children (composite pattern, abstract).
Light * setSpot(const glm::vec3 &direction, float cutoffDeg, float exponent)
A light to be applied to all nodes of its sub-tree (composite node).
Light * setAmbient(const glm::vec4 &color)
static const size_t BUFFER_SIZE
Light * setDiffuse(const glm::vec4 &color)
static const size_t POSITION_OFFSET
static const size_t FLOAT_SIZE
Base class for all traversers (visitor pattern, abstract).
static const size_t SPOT_COS_CUTOFF_OFFSET
virtual void render(RenderState *renderState)
virtual void acceptPost(Traverser *traverser)
Light * setSpecular(const glm::vec4 &color)
static const size_t SPOT_DIRECTION_OFFSET
static const size_t VEC4_SIZE
The central render state that collects information about the current shader, transformations,...
static const size_t SPOT_EXPONENT_OFFSET
virtual void accept(Traverser *traverser)
Internal definitions required by most classes.
virtual void renderPost(RenderState *renderState)
static const size_t SPECULAR_OFFSET
static const size_t HALF_VECTOR_OFFSET
Light * setDiffuseAndSpecular(const glm::vec4 &color)