#include <cmath>
#include "environmentmap.h"
#include "renderer.h"
+#include "resources.h"
#include "texunit.h"
using namespace std;
namespace Msp {
namespace GL {
-EnvironmentMap::EnvironmentMap(unsigned s, Renderable &r, Renderable &e):
+EnvironmentMap::EnvironmentMap(Resources &resources, unsigned s, Renderable &r, Renderable &e):
Effect(r),
size(s),
environment(e),
- sampler(get_linear_sampler()),
+ sampler(resources.get<Sampler>("_linear_clamp.samp")),
rendered(false),
update_interval(1),
update_delay(0)
}
}
-void EnvironmentMap::render(Renderer &renderer, const Tag &tag) const
+void EnvironmentMap::render(Renderer &renderer, Tag tag) const
{
if(!enabled_passes.count(tag))
return renderer.render(renderable, tag);
Renderer::Push _push_rend(renderer);
unsigned unit = renderer.allocate_effect_texunit();
- shdata.uniform("environment", static_cast<int>(unit));
- Bind _bind_sampler(*sampler, unit);
+ shdata.uniform("environment_map", static_cast<int>(unit));
+ Bind _bind_sampler(sampler, unit);
Bind _bind_env(env_tex, unit);
const Matrix &camera_matrix = renderer.get_camera()->get_object_matrix();