return result;
}
-int RenderTargetFormat::index(RenderOutput o)
+int RenderTargetFormat::index(RenderOutput o) const
{
unsigned type = get_output_type(o);
unsigned i = 0;
else
{
tgt.texture = new Texture2D;
- tgt.texture->storage(pf, width, height);
+ tgt.texture->storage(pf, width, height, 1);
tgt.texture->set_filter(NEAREST);
tgt.texture->set_wrap(CLAMP_TO_EDGE);
fbo.attach(att, *tgt.texture);
}
}
-const Texture2D &RenderTarget::get_target_texture(unsigned i)
+void RenderTarget::set_texture_filter(TextureFilter filt)
+{
+ if(!samples)
+ {
+ for(vector<TargetBuffer>::iterator i=buffers.begin(); i!=buffers.end(); ++i)
+ i->texture->set_filter(filt);
+ }
+}
+
+const Texture2D &RenderTarget::get_target_texture(unsigned i) const
{
if(i>=buffers.size())
throw out_of_range("RenderTarget::get_target_texture");
return *buffers[i].texture;
}
-const Texture2D &RenderTarget::get_target_texture(RenderOutput o)
+const Texture2D &RenderTarget::get_target_texture(RenderOutput o) const
{
int index = format.index(o);
if(index<0)