Ejemplo n.º 1
0
Light::Light(LIGHT_TYPE type)
{
    lights.push_back(this);

    if(availableLights.size() > 0)
    {
        lightNum = availableLights[0];
        availableLights.erase(availableLights.begin());
        Visible(true);
        setLightType(type);
        setPosition(0, 0, 0);
        setCutoff(45);
        setExponent(12);
        setSpotDirection(0, -1, 0);
        setAmbient(0, 0, 0, 1);
        setDiffuse(1, 1, 1, 1);
        setSpecular(1, 1, 1, 1);

        updateLight();
    }

    else
    {
        lightNum = 0;
        Visible(false);
    }
}
Ejemplo n.º 2
0
  Light::Light(const int lightNum, const bool isCaster) :
    lightNum_(lightNum), ambient_(kDefaultAmbLight),
    diffuse_(kDefaultDiffLight), specular_(kBaseSpecularLight),
    constAtt_(1.f), linAtt_(0.001f),
    quadAtt_(0.f), enabled_(true) ,
    castsShadow_(isCaster),
    spotCutoff_(180.f)
{
  setPosition(BasePos);
  setSpotDirection(BaseDir);
  apply();
}
Ejemplo n.º 3
0
void Light::setSpotDirection(const GLfloat *params) {
  setSpotDirection(params[0], params[1], params[2]);
}