Map renderer sampler state to OpenGL

This commit is contained in:
2026-06-02 20:33:20 +02:00
parent 2f8f12a8fd
commit c18297f221
5 changed files with 145 additions and 5 deletions

View File

@@ -34,6 +34,15 @@ struct OpenGlTextureParameter {
std::uint32_t value = 0;
};
struct OpenGlSamplerState {
std::uint32_t min_filter = 0;
std::uint32_t mag_filter = 0;
std::uint32_t wrap_s = 0;
std::uint32_t wrap_t = 0;
std::uint32_t wrap_r = 0;
bool supported = false;
};
struct OpenGlViewportRect {
std::int32_t x = 0;
std::int32_t y = 0;
@@ -219,8 +228,13 @@ struct OpenGlWindowsWglContextConfig {
[[nodiscard]] std::uint32_t clamp_to_border_texture_wrap() noexcept;
[[nodiscard]] OpenGlEnumMapping sampler_filter_for_renderer_filter(
pp::renderer::SamplerFilter filter) noexcept;
[[nodiscard]] OpenGlEnumMapping sampler_min_filter_for_renderer_filters(
pp::renderer::SamplerFilter min_filter,
pp::renderer::SamplerFilter mip_filter) noexcept;
[[nodiscard]] OpenGlEnumMapping sampler_address_mode_for_renderer_mode(
pp::renderer::SamplerAddressMode mode) noexcept;
[[nodiscard]] OpenGlSamplerState sampler_state_for_renderer_sampler_desc(
pp::renderer::SamplerDesc desc) noexcept;
[[nodiscard]] std::uint32_t active_texture_unit(std::uint32_t unit_index) noexcept;
[[nodiscard]] std::uint32_t texture_cube_map_target() noexcept;
[[nodiscard]] std::uint32_t cube_map_allocation_face_texture_target(std::uint32_t face_index) noexcept;