diff --git a/manim/mobject/opengl/opengl_surface.py b/manim/mobject/opengl/opengl_surface.py index dec54c98ee..6a1672b59b 100644 --- a/manim/mobject/opengl/opengl_surface.py +++ b/manim/mobject/opengl/opengl_surface.py @@ -261,7 +261,9 @@ def get_shader_data(self): shader_data["du_point"] = du_points shader_data["dv_point"] = dv_points if self.colorscale: - shader_data["color"] = self._get_color_by_value(s_points) + if not hasattr(self, "color_by_val"): + self.color_by_val = self._get_color_by_value(s_points) + shader_data["color"] = self.color_by_val else: self.fill_in_shader_color_info(shader_data) return shader_data