Move sampler parameter mapping to renderer gl

This commit is contained in:
2026-06-01 18:13:55 +02:00
parent f1e2743d58
commit 8130a922d0
6 changed files with 78 additions and 12 deletions

View File

@@ -43,6 +43,7 @@ constexpr std::uint32_t gl_texture_mag_filter = 0x2800U;
constexpr std::uint32_t gl_texture_min_filter = 0x2801U;
constexpr std::uint32_t gl_texture_wrap_s = 0x2802U;
constexpr std::uint32_t gl_texture_wrap_t = 0x2803U;
constexpr std::uint32_t gl_texture_wrap_r = 0x8072U;
constexpr std::uint32_t gl_clamp_to_edge = 0x812FU;
[[nodiscard]] bool contains(std::string_view text, std::string_view needle) noexcept
@@ -213,4 +214,27 @@ std::span<const OpenGlTextureParameter> default_render_target_texture_parameters
return parameters;
}
std::array<OpenGlTextureParameter, 5> sampler_parameters_for_filter_wrap(
std::uint32_t filter,
std::uint32_t wrap) noexcept
{
return {
OpenGlTextureParameter { .name = gl_texture_wrap_s, .value = wrap },
OpenGlTextureParameter { .name = gl_texture_wrap_t, .value = wrap },
OpenGlTextureParameter { .name = gl_texture_wrap_r, .value = wrap },
OpenGlTextureParameter { .name = gl_texture_min_filter, .value = filter },
OpenGlTextureParameter { .name = gl_texture_mag_filter, .value = filter },
};
}
std::array<OpenGlTextureParameter, 2> sampler_filter_parameters(
std::uint32_t filter_min,
std::uint32_t filter_mag) noexcept
{
return {
OpenGlTextureParameter { .name = gl_texture_min_filter, .value = filter_min },
OpenGlTextureParameter { .name = gl_texture_mag_filter, .value = filter_mag },
};
}
}