Skip to content

Commit

Permalink
Clear color was not correctly being set, fixes #4939
Browse files Browse the repository at this point in the history
  • Loading branch information
reduz committed Jul 29, 2018
1 parent c752c26 commit 7b63c63
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 3 deletions.
2 changes: 1 addition & 1 deletion drivers/gles3/rasterizer_gles3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ void RasterizerGLES3::set_current_render_target(RID p_render_target) {
if (!p_render_target.is_valid() && storage->frame.current_rt && storage->frame.clear_request) {
//handle pending clear request, if the framebuffer was not cleared
glBindFramebuffer(GL_FRAMEBUFFER, storage->frame.current_rt->fbo);
print_line("unbind clear of: " + storage->frame.clear_request_color);

glClearColor(
storage->frame.clear_request_color.r,
storage->frame.clear_request_color.g,
Expand Down
7 changes: 6 additions & 1 deletion editor/scene_tree_dock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -803,7 +803,12 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
switch (p_tool) {
case TOOL_CREATE_2D_SCENE: new_node = memnew(Node2D); break;
case TOOL_CREATE_3D_SCENE: new_node = memnew(Spatial); break;
case TOOL_CREATE_USER_INTERFACE: new_node = memnew(Control); break;
case TOOL_CREATE_USER_INTERFACE: {
Control *node = memnew(Control);
node->set_anchors_and_margins_preset(PRESET_WIDE); //more useful for resizable UIs.
new_node = node;

} break;
}

editor_data->get_undo_redo().create_action("New Scene Root");
Expand Down
1 change: 1 addition & 0 deletions servers/visual/visual_server_raster.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ void VisualServerRaster::set_boot_image(const Ref<Image> &p_image, const Color &
VSG::rasterizer->set_boot_image(p_image, p_color, p_scale);
}
void VisualServerRaster::set_default_clear_color(const Color &p_color) {
VSG::viewport->set_default_clear_color(p_color);
}

bool VisualServerRaster::has_feature(Features p_feature) const {
Expand Down
8 changes: 7 additions & 1 deletion servers/visual/visual_server_viewport.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,9 @@ void VisualServerViewport::draw_viewports() {
// process all our active interfaces
ARVRServer::get_singleton()->_process();

clear_color = GLOBAL_GET("rendering/environment/default_clear_color");
if (Engine::get_singleton()->is_editor_hint()) {
clear_color = GLOBAL_GET("rendering/environment/default_clear_color");
}

//sort viewports
active_viewports.sort_custom<ViewportSort>();
Expand Down Expand Up @@ -660,5 +662,9 @@ bool VisualServerViewport::free(RID p_rid) {
return false;
}

void VisualServerViewport::set_default_clear_color(const Color &p_color) {
clear_color = p_color;
}

VisualServerViewport::VisualServerViewport() {
}
1 change: 1 addition & 0 deletions servers/visual/visual_server_viewport.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ class VisualServerViewport {
virtual int viewport_get_render_info(RID p_viewport, VS::ViewportRenderInfo p_info);
virtual void viewport_set_debug_draw(RID p_viewport, VS::ViewportDebugDraw p_draw);

void set_default_clear_color(const Color &p_color);
void draw_viewports();

bool free(RID p_rid);
Expand Down

0 comments on commit 7b63c63

Please sign in to comment.