Create texture buffer with dimensions.
19 Usage::VERTEX,
24{
27 default_config.fragment_shader = "texture.frag.spv";
28 if (
format == Portal::Graphics::ImageFormat::R8) {
29 default_config.fragment_shader = "texture_gray.frag.spv";
30 }
else if (
format == Portal::Graphics::ImageFormat::RG8) {
31 default_config.fragment_shader = "texture_gray_alpha.frag.spv";
32 }
33 default_config.default_texture_binding = "texSampler";
36
37 if (initial_pixel_data) {
40 std::memcpy(
m_pixel_data.data(), initial_pixel_data, pixel_bytes);
41 }
42
44
46 "Created TextureBuffer: {}x{} ({} pixel bytes, {} vertex bytes)",
48}
#define MF_INFO(comp, ctx,...)
std::vector< uint8_t > m_pixel_data
static size_t calculate_quad_vertex_size()
Portal::Graphics::ImageFormat m_format
std::vector< uint8_t > m_vertex_bytes
void generate_default_quad()
VKBuffer(size_t size_bytes, Usage usage, Kakshya::DataModality modality=Kakshya::DataModality::VERTICES_3D)
Construct an unregistered VKBuffer.
Portal::Graphics::RenderConfig RenderConfig
void set_default_render_config(const RenderConfig &config)
Called by derived classes to set their context-specific defaults.
static size_t get_bytes_per_pixel(ImageFormat format)
Get bytes per pixel for a format.
@ Init
Engine/subsystem initialization.
@ Buffers
Buffers, Managers, processors and processing chains.
@ IMAGE_COLOR
2D RGB/RGBA image
std::string vertex_shader