3#include <litefx/graphics_api.hpp>
4#include <litefx/rendering_api.hpp>
6#ifdef LITEFX_BUILD_VULKAN_BACKEND
7#include <litefx/backends/vulkan.hpp>
10#ifdef LITEFX_BUILD_DIRECTX_12_BACKEND
11#include <litefx/backends/dx12.hpp>
30 template <render_backend TBackend>
32 LITEFX_IMPLEMENTATION(BlitImpl);
40 explicit Blitter(
const TBackend::device_type& device);
64 static inline auto create(const TBackend::device_type& device) {
65 return SharedObject::create<Blitter<TBackend>>(device);
70 void generateMipMaps(TBackend::image_type& image, TBackend::command_buffer_type& commandBuffer) ;
73#ifdef LITEFX_LINK_SHARED
74#ifdef LITEFX_BUILD_VULKAN_BACKEND
75#ifndef LiteFX_Graphics_EXPORTS
80#ifdef LITEFX_BUILD_DIRECTX_12_BACKEND
81#ifndef LiteFX_Graphics_EXPORTS
Utility class that can be used to issue blit commands and generate mip maps.
Definition blitter.hpp:31
void generateMipMaps(TBackend::image_type &image, TBackend::command_buffer_type &commandBuffer)
Base class for an object that can be shared.
Definition containers.hpp:1075
Definition blitter.hpp:14
An allocator used to allocate the shared object.
Definition containers.hpp:1098