52 std::function<
int()> get_current_coord;
55 get_current_coord = [&] {
return it.x; };
57 elem_stride = input->elem_stride;
60 get_current_coord = [&] {
return it.y; };
62 elem_stride = input->row_stride;
66 for (; !it.is_end(); ++it) {
67 const int coord = get_current_coord();
68 const int start_coord = std::max(0, coord -
size_ + 1);
69 const int end_coord = std::min(coord_max, coord +
size_);
70 const int count = end_coord - start_coord;
73 const float *start = it.in(0) + (start_coord - coord) * elem_stride;
74 const float *end = start +
count * elem_stride;
75 for (
const float *elem = start; elem < end; elem += elem_stride) {
static T sum(const btAlignedObjectArray< T > &items)
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int