Texture linear filtering doens't use mipmaps + add mipmapped filtering
This commit is contained in:
parent
53c4e0b449
commit
356aabf3ab
2 changed files with 15 additions and 5 deletions
|
|
@ -67,7 +67,7 @@ deferred_app::deferred_app()
|
|||
camera.azimuthal_angle = 0.f;
|
||||
camera.elevation_angle = geom::rad(30.f);
|
||||
|
||||
pre_gamma_texture.nearest_filter();
|
||||
pre_gamma_texture.linear_filter();
|
||||
|
||||
// 0 - vec3 position
|
||||
// 1 - vec4 color (used if color & texture are not set)
|
||||
|
|
@ -373,17 +373,17 @@ void deferred_app::render()
|
|||
options.directional_lights[0].direction = {1.f, 2.f, 3.f};
|
||||
|
||||
options.point_lights.emplace_back();
|
||||
options.point_lights[0].color = {15.f, 10.f, 10.f};
|
||||
options.point_lights[0].color = {20.f, 0.f, 0.f};
|
||||
options.point_lights[0].position = {2.f * std::cos(time / 2.f), 2.f * std::sin(time / 2.f), 2.f};
|
||||
options.point_lights[0].attenuation = {1.f, 0.1f, 0.05f};
|
||||
|
||||
options.point_lights.emplace_back();
|
||||
options.point_lights[1].color = {10.f, 10.f, 15.f};
|
||||
options.point_lights[1].color = {0.f, 0.f, 20.f};
|
||||
options.point_lights[1].position = {-6.f * std::cos(time / 2.f), -6.f * std::sin(time / 2.f), 2.f};
|
||||
options.point_lights[1].attenuation = {1.f, 0.1f, 0.05f};
|
||||
|
||||
options.point_lights.emplace_back();
|
||||
options.point_lights[2].color = {10.f, 15.f, 10.f};
|
||||
options.point_lights[2].color = {0.f, 20.f, 0.f};
|
||||
options.point_lights[2].position = {0.f, 0.f, 4.f};
|
||||
options.point_lights[2].attenuation = {1.f, 0.1f, 0.05f};
|
||||
|
||||
|
|
@ -412,7 +412,7 @@ void deferred_app::render()
|
|||
|
||||
float const gamma = 2.2f;
|
||||
|
||||
options.max_intensity = 15.f;
|
||||
options.max_intensity = 20.f;
|
||||
|
||||
gfx::framebuffer::null().bind();
|
||||
gl::DrawBuffer(gl::BACK);
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ namespace psemek::gfx
|
|||
void generate_mipmap();
|
||||
void nearest_filter();
|
||||
void linear_filter();
|
||||
void linear_mipmap_filter();
|
||||
void anisotropy();
|
||||
|
||||
void repeat();
|
||||
|
|
@ -263,12 +264,21 @@ namespace psemek::gfx
|
|||
|
||||
template <std::size_t D, GLenum Target>
|
||||
void basic_texture<D, Target>::linear_filter()
|
||||
{
|
||||
bind();
|
||||
gl::TexParameteri(Target, gl::TEXTURE_MIN_FILTER, gl::LINEAR);
|
||||
gl::TexParameteri(Target, gl::TEXTURE_MAG_FILTER, gl::LINEAR);
|
||||
}
|
||||
|
||||
template <std::size_t D, GLenum Target>
|
||||
void basic_texture<D, Target>::linear_mipmap_filter()
|
||||
{
|
||||
bind();
|
||||
gl::TexParameteri(Target, gl::TEXTURE_MIN_FILTER, gl::LINEAR_MIPMAP_LINEAR);
|
||||
gl::TexParameteri(Target, gl::TEXTURE_MAG_FILTER, gl::LINEAR);
|
||||
}
|
||||
|
||||
|
||||
template <std::size_t D, GLenum Target>
|
||||
void basic_texture<D, Target>::anisotropy()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue