// NeL - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . #include "std3d.h" #include "nel/misc/debug.h" #include "nel/3d/u_point_light.h" #include "nel/3d/point_light_model.h" using namespace NLMISC; namespace NL3D { // *************************************************************************** void UPointLight::setAmbient (NLMISC::CRGBA ambient) { CPointLightModel *object = getObjectPtr(); object->PointLight.setAmbient(ambient); } // *************************************************************************** void UPointLight::setDiffuse (NLMISC::CRGBA diffuse) { CPointLightModel *object = getObjectPtr(); object->PointLight.setDiffuse (diffuse); } // *************************************************************************** void UPointLight::setSpecular (NLMISC::CRGBA specular) { CPointLightModel *object = getObjectPtr(); object->PointLight.setSpecular (specular); } // *************************************************************************** void UPointLight::setColor (NLMISC::CRGBA color) { CPointLightModel *object = getObjectPtr(); object->PointLight.setColor (color); } // *************************************************************************** NLMISC::CRGBA UPointLight::getAmbient () const { CPointLightModel *object = getObjectPtr(); return object->PointLight.getAmbient(); } // *************************************************************************** NLMISC::CRGBA UPointLight::getDiffuse () const { CPointLightModel *object = getObjectPtr(); return object->PointLight.getDiffuse (); } // *************************************************************************** NLMISC::CRGBA UPointLight::getSpecular () const { CPointLightModel *object = getObjectPtr(); return object->PointLight.getSpecular(); } // *************************************************************************** void UPointLight::setupAttenuation(float attenuationBegin, float attenuationEnd) { CPointLightModel *object = getObjectPtr(); object->PointLight.setupAttenuation(attenuationBegin, attenuationEnd); } // *************************************************************************** float UPointLight::getAttenuationBegin() const { CPointLightModel *object = getObjectPtr(); return object->PointLight.getAttenuationBegin(); } // *************************************************************************** float UPointLight::getAttenuationEnd() const { CPointLightModel *object = getObjectPtr(); return object->PointLight.getAttenuationEnd(); } // *************************************************************************** void UPointLight::enableSpotlight(bool enable) { CPointLightModel *object = getObjectPtr(); if(enable) object->PointLight.setType(CPointLight::SpotLight); else object->PointLight.setType(CPointLight::PointLight); } // *************************************************************************** bool UPointLight::isSpotlight() const { CPointLightModel *object = getObjectPtr(); return object->PointLight.getType() == CPointLight::SpotLight; } // *************************************************************************** void UPointLight::setupSpotAngle(float spotAngleBegin, float spotAngleEnd) { CPointLightModel *object = getObjectPtr(); object->PointLight.setupSpotAngle(spotAngleBegin, spotAngleEnd); } // *************************************************************************** float UPointLight::getSpotAngleBegin() const { CPointLightModel *object = getObjectPtr(); return object->PointLight.getSpotAngleBegin(); } // *************************************************************************** float UPointLight::getSpotAngleEnd() const { CPointLightModel *object = getObjectPtr(); return object->PointLight.getSpotAngleEnd(); } // *************************************************************************** void UPointLight::setDeltaPosToSkeletonWhenOutOfFrustum(const CVector &deltaPos) { CPointLightModel *object = getObjectPtr(); object->setDeltaPosToSkeletonWhenOutOfFrustum(deltaPos) ; } // *************************************************************************** const CVector &UPointLight::getDeltaPosToSkeletonWhenOutOfFrustum() const { CPointLightModel *object = getObjectPtr(); return object->getDeltaPosToSkeletonWhenOutOfFrustum() ; } // *************************************************************************** void UPointLight::setInfluenceLightMap(bool enable) { CPointLightModel *object = getObjectPtr(); object->setInfluenceLightMap(enable); } // *************************************************************************** bool UPointLight::getInfluenceLightMap() const { CPointLightModel *object = getObjectPtr(); return object->getInfluenceLightMap() ; } } // NL3D