34 size_t currentOffset = 0;
37 for (
const auto& [name, value] : mFloatParameters)
40 currentOffset = (currentOffset + alignment - 1) & ~(alignment - 1);
42 result.
buffer.resize(currentOffset + 4);
43 std::memcpy(result.
buffer.data() + currentOffset, &value, 4);
47 for (
const auto& [name, value] : mVec3Parameters)
50 currentOffset = (currentOffset + alignment - 1) & ~(alignment - 1);
52 result.
buffer.resize(currentOffset + 16);
53 std::memcpy(result.
buffer.data() + currentOffset, &value, 12);
55 std::memset(result.
buffer.data() + currentOffset + 12, 0, 4);
59 for (
const auto& [name, value] : mVec4Parameters)
62 currentOffset = (currentOffset + alignment - 1) & ~(alignment - 1);
64 result.
buffer.resize(currentOffset + 16);
65 std::memcpy(result.
buffer.data() + currentOffset, &value, 16);