Browse Source

expose local RenderingDevice creation to RenderingServer

clayjohn 5 years ago
parent
commit
40159244cd
2 changed files with 8 additions and 0 deletions
  1. 5 0
      servers/rendering_server.cpp
  2. 3 0
      servers/rendering_server.h

+ 5 - 0
servers/rendering_server.cpp

@@ -1505,9 +1505,14 @@ ShaderLanguage::DataType RenderingServer::global_variable_type_get_shader_dataty
 	}
 }
 
+RenderingDevice *RenderingServer::create_local_rendering_device() const {
+	return RenderingDevice::get_singleton()->create_local_device();
+}
+
 void RenderingServer::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("force_sync"), &RenderingServer::sync);
 	ClassDB::bind_method(D_METHOD("force_draw", "swap_buffers", "frame_step"), &RenderingServer::draw, DEFVAL(true), DEFVAL(0.0));
+	ClassDB::bind_method(D_METHOD("create_local_rendering_device"), &RenderingServer::create_local_rendering_device);
 
 #ifndef _MSC_VER
 #warning TODO all texture methods need re-binding

+ 3 - 0
servers/rendering_server.h

@@ -39,6 +39,7 @@
 #include "core/typed_array.h"
 #include "core/variant.h"
 #include "servers/display_server.h"
+#include "servers/rendering/rendering_device.h"
 #include "servers/rendering/shader_language.h"
 
 class RenderingServer : public Object {
@@ -1311,6 +1312,8 @@ public:
 
 	virtual bool is_low_end() const = 0;
 
+	RenderingDevice *create_local_rendering_device() const;
+
 	bool is_render_loop_enabled() const;
 	void set_render_loop_enabled(bool p_enabled);