X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Flightunit.cpp;h=e7cf7419c1672961ad4eb85280b30e834ea8a0b7;hp=58d42e6d730f893d3370532e2b84e993dc89221e;hb=c5f011ef508d580f332e4bd6065a013b24de8840;hpb=48b1ab4fff00c49cc15d70a354eedb3d7a2f3e87 diff --git a/source/lightunit.cpp b/source/lightunit.cpp index 58d42e6d..e7cf7419 100644 --- a/source/lightunit.cpp +++ b/source/lightunit.cpp @@ -1,4 +1,5 @@ #include +#include #include "gl.h" #include "misc.h" #include "lightunit.h" @@ -9,7 +10,6 @@ namespace Msp { namespace GL { vector LightUnit::units; -LightUnit *LightUnit::cur_unit = 0; LightUnit::LightUnit(): light(0) @@ -24,7 +24,7 @@ bool LightUnit::set_light(const Light *l) unsigned LightUnit::get_n_units() { - static int count = get_i(GL_MAX_LIGHTS); + static int count = (MSP_legacy_features ? get_i(GL_MAX_LIGHTS) : 0); return count; } @@ -44,5 +44,13 @@ LightUnit &LightUnit::get_unit(unsigned n) return units[n]; } +LightUnit *LightUnit::find_unit(const Light *l) +{ + for(vector::iterator i=units.begin(); i!=units.end(); ++i) + if(i->light==l) + return &*i; + return 0; +} + } // namespace GL } // namespace Msp