};
PbrMaterial::PbrMaterial():
- fresnel_lookup(get_or_create_fresnel_lookup())
+ fresnel_lookup(get_or_create_fresnel_lookup()),
+ fresnel_sampler(Resources::get_global().get<Sampler>("_linear_clamp.samp"))
{
set_base_color(0.8f);
set_metalness(0.0f);
const Mesh &mesh = resources.get<Mesh>("_fullscreen_quad.mesh");
Framebuffer fresnel_lookup_fbo;
fresnel_lookup_fbo.attach(COLOR_ATTACHMENT0, *fresnel_lookup);
- Bind bind_fbo(fresnel_lookup_fbo);
Renderer renderer;
+ renderer.set_framebuffer(&fresnel_lookup_fbo);
renderer.set_shader_program(&shprog, &shdata);
mesh.draw(renderer);
return 0;
}
+const Sampler *PbrMaterial::get_sampler(Tag tag) const
+{
+ if(tag==texture_tags[6])
+ return &fresnel_sampler;
+ else
+ return sampler;
+}
+
void PbrMaterial::set_base_color(const Color &color)
{
base_color.value = color;