mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
Apply anisotropic filtering to bed textures
This commit is contained in:
parent
fbf5460ac2
commit
d5b354c053
2 changed files with 23 additions and 0 deletions
|
@ -62,3 +62,5 @@
|
||||||
#define ENABLE_GENERIC_SUBPARTS_PLACEMENT (1 && ENABLE_1_42_0_ALPHA4)
|
#define ENABLE_GENERIC_SUBPARTS_PLACEMENT (1 && ENABLE_1_42_0_ALPHA4)
|
||||||
// Reworked management of bed shape changes
|
// Reworked management of bed shape changes
|
||||||
#define ENABLE_REWORKED_BED_SHAPE_CHANGE (1 && ENABLE_1_42_0_ALPHA4)
|
#define ENABLE_REWORKED_BED_SHAPE_CHANGE (1 && ENABLE_1_42_0_ALPHA4)
|
||||||
|
// Use anisotropic filtering on bed plate texture
|
||||||
|
#define ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES (1 && ENABLE_1_42_0_ALPHA4)
|
||||||
|
|
|
@ -545,6 +545,11 @@ void GLCanvas3D::Bed::_render_prusa(const std::string &key, float theta) const
|
||||||
std::string model_path = resources_dir() + "/models/" + key;
|
std::string model_path = resources_dir() + "/models/" + key;
|
||||||
#endif // ENABLE_PRINT_BED_MODELS
|
#endif // ENABLE_PRINT_BED_MODELS
|
||||||
|
|
||||||
|
#if ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES
|
||||||
|
GLfloat max_anisotropy = 0.0f;
|
||||||
|
::glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &max_anisotropy);
|
||||||
|
#endif // ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES
|
||||||
|
|
||||||
std::string filename = tex_path + "_top.png";
|
std::string filename = tex_path + "_top.png";
|
||||||
if ((m_top_texture.get_id() == 0) || (m_top_texture.get_source() != filename))
|
if ((m_top_texture.get_id() == 0) || (m_top_texture.get_source() != filename))
|
||||||
{
|
{
|
||||||
|
@ -553,6 +558,14 @@ void GLCanvas3D::Bed::_render_prusa(const std::string &key, float theta) const
|
||||||
_render_custom();
|
_render_custom();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#if ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES
|
||||||
|
if (max_anisotropy > 0.0f)
|
||||||
|
{
|
||||||
|
::glBindTexture(GL_TEXTURE_2D, m_top_texture.get_id());
|
||||||
|
::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, max_anisotropy);
|
||||||
|
::glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
|
}
|
||||||
|
#endif // ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES
|
||||||
}
|
}
|
||||||
|
|
||||||
filename = tex_path + "_bottom.png";
|
filename = tex_path + "_bottom.png";
|
||||||
|
@ -563,6 +576,14 @@ void GLCanvas3D::Bed::_render_prusa(const std::string &key, float theta) const
|
||||||
_render_custom();
|
_render_custom();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#if ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES
|
||||||
|
if (max_anisotropy > 0.0f)
|
||||||
|
{
|
||||||
|
::glBindTexture(GL_TEXTURE_2D, m_bottom_texture.get_id());
|
||||||
|
::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, max_anisotropy);
|
||||||
|
::glBindTexture(GL_TEXTURE_2D, 0);
|
||||||
|
}
|
||||||
|
#endif // ENABLE_ANISOTROPIC_FILTER_ON_BED_TEXTURES
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENABLE_PRINT_BED_MODELS
|
#if ENABLE_PRINT_BED_MODELS
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue