aboutsummaryrefslogtreecommitdiff
path: root/scene/2d/particles_2d.cpp
diff options
context:
space:
mode:
authorBiliogadafr2015-05-26 22:17:54 +0300
committerBiliogadafr2015-05-26 22:17:54 +0300
commit3f975965e98544e4c22eba2838ecaf00a24eb836 (patch)
tree0f8ccfb6df6aada15a2da087982967e345d23897 /scene/2d/particles_2d.cpp
parentdf9d48d9b552c30b9b42940a964ccc4271e6905b (diff)
downloadgodot-3f975965e98544e4c22eba2838ecaf00a24eb836.tar.gz
godot-3f975965e98544e4c22eba2838ecaf00a24eb836.tar.zst
godot-3f975965e98544e4c22eba2838ecaf00a24eb836.zip
Add get_color_at_offset(). Ensure correct points order.
Diffstat (limited to 'scene/2d/particles_2d.cpp')
-rw-r--r--scene/2d/particles_2d.cpp30
1 files changed, 1 insertions, 29 deletions
diff --git a/scene/2d/particles_2d.cpp b/scene/2d/particles_2d.cpp
index 6effd4f31..f0b7c2be6 100644
--- a/scene/2d/particles_2d.cpp
+++ b/scene/2d/particles_2d.cpp
@@ -528,35 +528,7 @@ void Particles2D::_notification(int p_what) {
if(color_ramp.is_valid())
{
- Vector<ColorRamp::Point>& color_points = color_ramp->get_points();
-
- int cpos=0;
-
- while(cpos<color_points.size()) {
-
- if (color_points[cpos].offset > ptime)
- break;
- cpos++;
- }
-
- cpos--;
- //could be faster..
- if (cpos==-1)
- if(color_points.size())
- color=color_points[0].color;//Extend color to the beginning
- else
- color=Color(1,1,1,1);//If no points just use white.
- else {
- if (cpos==color_points.size()-1)
- color=color_points[cpos].color;
- else {
- float diff = (color_points[cpos+1].offset-color_points[cpos].offset);
- if (diff>0)
- color=color_points[cpos].color.linear_interpolate(color_points[cpos+1].color, (ptime - color_points[cpos].offset) / diff );
- else
- color=color_points[cpos+1].color;
- }
- }
+ color = color_ramp->get_color_at_offset(ptime);
} else
{
color = default_color;