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

◆ apply_radial_gradient()

void MayaFlux::Nodes::Network::PointCloudNetwork::apply_radial_gradient ( const glm::vec3 &  center_color,
const glm::vec3 &  edge_color,
const glm::vec3 &  center = glm::vec3(0.0F) 
)

Apply radial color gradient from center.

Parameters
center_colorColor at center
edge_colorColor at maximum distance
centerCenter point for gradient calculation

Definition at line 243 of file PointCloudNetwork.cpp.

247{
248 const size_t count = m_cached_vertices.size();
249
250 float max_distance = 0.0F;
251 for (const auto& v : m_cached_vertices) {
252 const float dist = glm::length(v.position - center);
253 max_distance = std::max(max_distance, dist);
254 }
255
256 for (size_t i = 0; i < count; ++i) {
257 const float dist = glm::length(m_cached_vertices[i].position - center);
258 const float t = max_distance > 0.0F ? dist / max_distance : 0.0F;
259 m_cached_vertices[i].color = glm::mix(center_color, edge_color, t);
260 }
261
263
265 "Applied radial color gradient to {} points", count);
266}
#define MF_DEBUG(comp, ctx,...)
Eigen::Index count
void set_vertices(const std::vector< LineVertex > &vertices)
Set all point vertices.
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.

References count, m_cached_vertices, MF_DEBUG, MayaFlux::Journal::NodeProcessing, MayaFlux::Journal::Nodes, and set_vertices().

+ Here is the call graph for this function: