class api

Declaration

class api { /* full declaration omitted */ };

Declared at: include/ekg/gpu/api.hpp:89

Member Variables

protected std::string_view rendering_shader_fragment_source = {}
public static float[16] projection
public static float[4] viewport

Method Overview

  • public virtual uint64_t allocate_sampler(const ekg::gpu::sampler_allocate_info * p_sampler_allocate_info, ekg::gpu::sampler_t * p_sampler)
  • public virtual uint64_t bind_sampler(ekg::gpu::sampler_t * p_sampler)
  • public virtual void draw(ekg::gpu::data_t * p_gpu_data, uint64_t loaded_gpu_data_size)
  • public virtual uint64_t fill_sampler(const ekg::gpu::sampler_fill_info * p_sampler_fill_info, ekg::gpu::sampler_t * p_sampler)
  • public virtual uint64_t generate_font_atlas(ekg::gpu::sampler_t * p_sampler, ekg::draw::font_face_t * p_font_face_text, ekg::draw::font_face_t * p_font_face_emoji, int32_t w, int32_t h, std::vector<char32_t> & loaded_sampler_generate_list, std::unordered_map<char32_t, ekg::draw::glyph_char_t> & mapped_glyph_char_data, float & non_swizzlable_range)
  • public virtual void init()
  • public virtual void invoke_pipeline()
  • public virtual void log_vendor_details()
  • public virtual void pre_re_alloc()
  • public virtual void quit()
  • public virtual void re_alloc_geometry_resources(const float * p_data, uint64_t size)
  • public virtual void revoke_pipeline()
  • public void set_rendering_shader_fragment_source(std::string_view source)
  • public virtual void update_viewport(int32_t w, int32_t h)

Methods

virtual uint64_t allocate_sampler(
    const ekg::gpu::sampler_allocate_info*
        p_sampler_allocate_info,
    ekg::gpu::sampler_t* p_sampler)

Declared at: include/ekg/gpu/api.hpp:112

Parameters

const ekg::gpu::sampler_allocate_info* p_sampler_allocate_info
ekg::gpu::sampler_t* p_sampler

virtual uint64_t bind_sampler(
    ekg::gpu::sampler_t* p_sampler)

Declared at: include/ekg/gpu/api.hpp:133

Parameters

ekg::gpu::sampler_t* p_sampler

virtual void draw(ekg::gpu::data_t* p_gpu_data,
                  uint64_t loaded_gpu_data_size)

Declared at: include/ekg/gpu/api.hpp:107

Parameters

ekg::gpu::data_t* p_gpu_data
uint64_t loaded_gpu_data_size

virtual uint64_t fill_sampler(
    const ekg::gpu::sampler_fill_info*
        p_sampler_fill_info,
    ekg::gpu::sampler_t* p_sampler)

Declared at: include/ekg/gpu/api.hpp:117

Parameters

const ekg::gpu::sampler_fill_info* p_sampler_fill_info
ekg::gpu::sampler_t* p_sampler

virtual uint64_t generate_font_atlas(
    ekg::gpu::sampler_t* p_sampler,
    ekg::draw::font_face_t* p_font_face_text,
    ekg::draw::font_face_t* p_font_face_emoji,
    int32_t w,
    int32_t h,
    std::vector<char32_t>&
        loaded_sampler_generate_list,
    std::unordered_map<char32_t,
                       ekg::draw::glyph_char_t>&
        mapped_glyph_char_data,
    float& non_swizzlable_range)

Declared at: include/ekg/gpu/api.hpp:122

Parameters

ekg::gpu::sampler_t* p_sampler
ekg::draw::font_face_t* p_font_face_text
ekg::draw::font_face_t* p_font_face_emoji
int32_t w
int32_t h
std::vector<char32_t>& loaded_sampler_generate_list
std::unordered_map<char32_t, ekg::draw::glyph_char_t>& mapped_glyph_char_data
float& non_swizzlable_range

virtual void init()

Declared at: include/ekg/gpu/api.hpp:99

virtual void invoke_pipeline()

Declared at: include/ekg/gpu/api.hpp:101

virtual void log_vendor_details()

Declared at: include/ekg/gpu/api.hpp:98

virtual void pre_re_alloc()

Declared at: include/ekg/gpu/api.hpp:103

virtual void quit()

Declared at: include/ekg/gpu/api.hpp:100

virtual void re_alloc_geometry_resources(
    const float* p_data,
    uint64_t size)

Declared at: include/ekg/gpu/api.hpp:105

Parameters

const float* p_data
uint64_t size

virtual void revoke_pipeline()

Declared at: include/ekg/gpu/api.hpp:102

void set_rendering_shader_fragment_source(
    std::string_view source)

Declared at: include/ekg/gpu/api.hpp:96

Parameters

std::string_view source

virtual void update_viewport(int32_t w, int32_t h)

Declared at: include/ekg/gpu/api.hpp:104

Parameters

int32_t w
int32_t h