X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flight.cpp;h=067cc3d1fee1416cce0451e37a90c6482f7cc2e9;hb=2157e9320c60d561208dfdf6034e9a06781c9f30;hp=26cc896358d46f4a7de30cd0bd40e4d811f27ad8;hpb=b617c5d7b5283ad260a77f01e42e6170cabbc03d;p=libs%2Fgl.git diff --git a/source/light.cpp b/source/light.cpp index 26cc8963..067cc3d1 100644 --- a/source/light.cpp +++ b/source/light.cpp @@ -1,11 +1,4 @@ -/* $Id$ - -This file is part of libmspgl -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - -#include "except.h" +#include #include "light.h" #include "misc.h" @@ -101,7 +94,7 @@ void Light::activate(unsigned i) static unsigned max_lights = get_i(GL_MAX_LIGHTS); if(i>=max_lights) - throw InvalidParameterValue("Light unit index out of range"); + throw out_of_range("Light::activate"); if(i>=current_lights.size()) current_lights.resize(i+1); @@ -118,6 +111,12 @@ void Light::unbind() } } +void Light::unbind_from(unsigned i) +{ + activate(i); + unbind(); +} + unsigned Light::current_unit = 0; vector Light::current_lights(1);