MayaFlux 0.4.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 249 of file PointCloudNetwork.cpp.

253{
254 const size_t count = m_cached_vertices.size();
255
256 float max_distance = 0.0F;
257 for (const auto& v : m_cached_vertices) {
258 const float dist = glm::length(v.position - center);
259 max_distance = std::max(max_distance, dist);
260 }
261
262 for (size_t i = 0; i < count; ++i) {
263 const float dist = glm::length(m_cached_vertices[i].position - center);
264 const float t = max_distance > 0.0F ? dist / max_distance : 0.0F;
265 m_cached_vertices[i].color = glm::mix(center_color, edge_color, t);
266 }
267
269
271 "Applied radial color gradient to {} points", count);
272}
#define MF_DEBUG(comp, ctx,...)
Eigen::Index count
glm::vec3 position
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, position, and set_vertices().

+ Here is the call graph for this function: