namespace Msp {
namespace GL {
+bool Texturing::legacy_used = true;
+
Texturing::~Texturing()
{
if(current()==this)
attachments[attch] = tex;
if(current()==this)
- bind_attachment(attch);
+ bind_attachment(attch, legacy_used);
+}
+
+const Texture *Texturing::get_attached_texture(unsigned i) const
+{
+ return i<attachments.size() ? attachments[i] : 0;
}
-void Texturing::bind_attachment(unsigned i) const
+void Texturing::bind_attachment(unsigned i, bool legacy) const
{
if(const Texture *tex = attachments[i])
- tex->bind_to(i);
+ tex->bind_to(i, legacy);
else
Texture::unbind_from(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; i<attachments.size(); ++i)
- bind_attachment(i);
+ bind_attachment(i, legacy);
if(old)
{
for(unsigned i=attachments.size(); i<old->attachments.size(); ++i)