X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Ftexturing.cpp;h=77bb15435c7391a62a0298ea653f6699417eb55f;hp=dff3757fdb6d9b8985234e87241153d94b41a80b;hb=0f890ce60a560ba2ccc0719229be304bb597d919;hpb=7a2427020ec6ead73258aeb326dfb7e0121520f9 diff --git a/source/texturing.cpp b/source/texturing.cpp index dff3757f..77bb1543 100644 --- a/source/texturing.cpp +++ b/source/texturing.cpp @@ -7,6 +7,8 @@ using namespace std; namespace Msp { namespace GL { +bool Texturing::legacy_used = true; + Texturing::~Texturing() { if(current()==this) @@ -34,7 +36,7 @@ void Texturing::set_attachment(unsigned attch, const Texture *tex) attachments[attch] = tex; if(current()==this) - bind_attachment(attch); + bind_attachment(attch, legacy_used); } const Texture *Texturing::get_attached_texture(unsigned i) const @@ -42,10 +44,10 @@ const Texture *Texturing::get_attached_texture(unsigned i) const return ibind_to(i); + tex->bind_to(i, legacy); else Texture::unbind_from(i); } @@ -55,13 +57,14 @@ void Texturing::unbind_attachment(unsigned i) Texture::unbind_from(i); } -void Texturing::bind() const +void Texturing::bind(bool legacy) const { const Texturing *old = current(); - if(set_current(this)) + if(set_current(this) || legacy!=legacy_used) { + legacy_used = legacy; for(unsigned i=0; iattachments.size(); ++i)