Implement time scaling for the rasterizer
which affects 3D particles and the TIME uniform
This commit is contained in:
@ -1046,6 +1046,8 @@ public:
|
||||
|
||||
virtual bool is_canvas_light_occluder(const RID &p_rid) const = 0;
|
||||
|
||||
virtual void set_time_scale(float p_scale) = 0;
|
||||
|
||||
virtual void free(const RID &p_rid) = 0;
|
||||
|
||||
virtual void init() = 0;
|
||||
|
||||
@ -7016,6 +7016,11 @@ Color VisualServerRaster::get_default_clear_color() const {
|
||||
return clear_color;
|
||||
}
|
||||
|
||||
void VisualServerRaster::set_time_scale(float p_scale) {
|
||||
|
||||
rasterizer->set_time_scale(p_scale);
|
||||
}
|
||||
|
||||
void VisualServerRaster::set_boot_image(const Image &p_image, const Color &p_color, bool p_scale) {
|
||||
|
||||
if (p_image.empty())
|
||||
|
||||
@ -1257,6 +1257,8 @@ public:
|
||||
virtual void set_default_clear_color(const Color &p_color);
|
||||
virtual Color get_default_clear_color() const;
|
||||
|
||||
virtual void set_time_scale(float p_scale);
|
||||
|
||||
VisualServerRaster(Rasterizer *p_rasterizer);
|
||||
~VisualServerRaster();
|
||||
};
|
||||
|
||||
@ -688,6 +688,7 @@ public:
|
||||
FUNC3(set_boot_image, const Image &, const Color &, bool);
|
||||
FUNC1(set_default_clear_color, const Color &);
|
||||
FUNC0RC(Color, get_default_clear_color);
|
||||
FUNC1(set_time_scale, float);
|
||||
|
||||
FUNC0R(RID, get_test_cube);
|
||||
|
||||
|
||||
@ -534,6 +534,8 @@ void VisualServer::_bind_methods() {
|
||||
ObjectTypeDB::bind_method(_MD("set_default_clear_color"), &VisualServer::set_default_clear_color);
|
||||
ObjectTypeDB::bind_method(_MD("get_default_clear_color"), &VisualServer::get_default_clear_color);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("set_time_scale"), &VisualServer::set_time_scale);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("get_render_info"), &VisualServer::get_render_info);
|
||||
|
||||
BIND_CONSTANT(NO_INDEX_ARRAY);
|
||||
|
||||
@ -1137,6 +1137,8 @@ public:
|
||||
virtual void set_default_clear_color(const Color &p_color) = 0;
|
||||
virtual Color get_default_clear_color() const = 0;
|
||||
|
||||
virtual void set_time_scale(float p_scale) = 0;
|
||||
|
||||
enum Features {
|
||||
FEATURE_SHADERS,
|
||||
FEATURE_MULTITHREADED,
|
||||
|
||||
Reference in New Issue
Block a user