sandbox
Loading...
Searching...
No Matches
sbx::models::basic_material_draw_list< Traits > Class Template Referencefinal
Inheritance diagram for sbx::models::basic_material_draw_list< Traits >:
sbx::graphics::draw_list

Classes

struct  bucket_entry
 
struct  range_reference
 

Public Types

using mesh_type = typename traits_type::mesh_type
 
using instance_payload = typename traits_type::instance_payload
 
using bucket = models::bucket
 
using bucket_map = std::unordered_map< material_key, bucket_entry, material_key_hash >
 
- Public Types inherited from sbx::graphics::draw_list
using storage_buffer_container = std::unordered_map< std::size_t, storage_buffer_handle >
 
using draw_command_range_container = std::unordered_map< math::uuid, draw_command_range >
 

Public Member Functions

auto update () -> void override
 
auto ranges (const bucket bucket) const -> const bucket_map &
 
- Public Member Functions inherited from sbx::graphics::draw_list
virtual auto update () -> void=0
 
auto buffers () const noexcept -> const storage_buffer_container &
 
auto buffer (const utility::hashed_string &name) const -> const storage_buffer &
 
auto images () const noexcept -> const separate_image2d_array &
 
auto samplers () const noexcept -> const separate_sampler_array &
 
auto draw_ranges (const utility::hashed_string &name) const noexcept -> const draw_command_range_container &
 
auto draw_ranges (const std::size_t hash) const noexcept -> const draw_command_range_container &
 
auto clear () -> void
 
auto create_buffer (const utility::hashed_string &name, VkDeviceSize size, VkBufferUsageFlags additional_usage=0) -> void
 
auto destroy_buffer (const utility::hashed_string &name) -> void
 
template<typename Type >
auto update_buffer (const std::vector< Type > &buffer, const utility::hashed_string &name) -> void
 

Static Public Attributes

static const auto transform_data_buffer_name = utility::hashed_string{"transform_data"}
 
static const auto material_data_buffer_name = utility::hashed_string{"material_data"}
 

Additional Inherited Members

- Protected Member Functions inherited from sbx::graphics::draw_list
auto get_buffer (const utility::hashed_string &name) -> storage_buffer &
 
auto get_buffer (const utility::hashed_string &name) const -> const storage_buffer &
 
auto add_image (const image2d_handle &handle) -> std::uint32_t
 
auto add_sampler_state (const sampler_state_handle &handle) -> std::uint32_t
 
auto push_draw_command_range (const utility::hashed_string &name, const math::uuid &id, const draw_command_range &range) -> void
 
auto push_draw_command_range (const std::size_t hash, const math::uuid &id, const draw_command_range &range) -> void
 

Member Function Documentation

◆ update()

template<typename Traits >
auto sbx::models::basic_material_draw_list< Traits >::update ( ) -> void
inlineoverridevirtual

The documentation for this class was generated from the following file: