MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ on_descriptors_created()

void MayaFlux::Buffers::SDFMeshProcessor::on_descriptors_created ( )
overrideprotectedvirtual

Called after descriptor sets are created.

Override for custom descriptor updates.

Reimplemented from MayaFlux::Buffers::ShaderProcessor.

Definition at line 139 of file SDFMeshProcessor.cpp.

140{
141 std::vector<uint32_t> edge_flat(256);
142 for (size_t i = 0; i < 256; ++i)
143 edge_flat[i] = static_cast<uint32_t>(Kinesis::k_edge_table[i]);
144
145 std::vector<int32_t> tri_flat(static_cast<long>(256) * 16);
146 for (size_t i = 0; i < 256; ++i) {
147 for (size_t j = 0; j < 16; ++j)
148 tri_flat[i * 16 + j] = static_cast<int32_t>(Kinesis::k_tri_table[i][j]);
149 }
150
151 std::memcpy(m_edge_buf->get_mapped_ptr(), edge_flat.data(),
152 edge_flat.size() * sizeof(uint32_t));
153 std::memcpy(m_tri_buf->get_mapped_ptr(), tri_flat.data(),
154 tri_flat.size() * sizeof(int32_t));
155}
std::shared_ptr< VKBuffer > m_tri_buf
std::shared_ptr< VKBuffer > m_edge_buf
constexpr std::array< uint16_t, 256 > k_edge_table
constexpr std::array< std::array< int8_t, 16 >, 256 > k_tri_table

References MayaFlux::Kinesis::k_edge_table, MayaFlux::Kinesis::k_tri_table, m_edge_buf, and m_tri_buf.