Process for one batch cycle.
60{
62 return;
63
66 }
67
74
75 for (
size_t i = 0; i <
m_count; ++i) {
77
78 if (has_position) {
79 glm::vec3 displacement(0.0F);
81 displacement += field(pos);
82 }
83 pos += displacement;
84 }
85
86 if (has_color) {
87 glm::vec3
color(0.0F);
90 }
92 }
93
94 if (has_normal) {
95 glm::vec3 normal(0.0F);
97 normal += field(pos);
98 }
99 float len = glm::length(normal);
101 }
102
103 if (has_tangent) {
104 glm::vec3 tangent(0.0F);
106 tangent += field(pos);
107 }
108 float len = glm::length(tangent);
110 }
111
112 if (has_scalar) {
113 float value = 0.0F;
115 value += field(pos);
116 }
118 }
119
120 if (has_uv) {
122 glm::vec2 uv(0.0F);
124 uv += field(ref);
125 *reinterpret_cast<glm::vec2*>(
127 }
128 }
129
131}
std::optional< glm::vec3 > color
static constexpr size_t k_position_offset
std::vector< uint8_t > m_reference_data
std::vector< Kinesis::VectorField > m_position_fields
std::vector< uint8_t > m_vertex_data
static constexpr size_t k_tangent_offset
static constexpr size_t k_normal_offset
std::vector< Kinesis::VectorField > m_tangent_fields
std::vector< Kinesis::SpatialField > m_scalar_fields
glm::vec3 & vec3_at(size_t i, size_t offset)
std::vector< Kinesis::VectorField > m_color_fields
static constexpr size_t k_scalar_offset
std::vector< Kinesis::VectorField > m_normal_fields
float & float_at(size_t i, size_t offset)
static constexpr size_t k_stride
std::vector< Kinesis::UVField > m_uv_fields
static constexpr size_t k_color_offset
static constexpr size_t k_uv_offset
glm::vec3 ref_position_at(size_t i) const