summaryrefslogtreecommitdiffstats
path: root/editor
diff options
context:
space:
mode:
authorClay John <claynjohn@gmail.com>2021-10-26 08:18:39 -0700
committerHugo Locurcio <hugo.locurcio@hugo.pro>2021-10-31 15:56:45 +0100
commit8a10bb7d0dd0cc03353bb751af25a0eca1357c9d (patch)
treeae63bd8b1d4bacd65673f7bc455994ed4d288a84 /editor
parentce97ddbcb125228cc88fbfdcae932e110ee7daee (diff)
downloadredot-engine-8a10bb7d0dd0cc03353bb751af25a0eca1357c9d.tar.gz
Use OpenGL 3.3 core profile instead of compatibility profile
- Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
Diffstat (limited to 'editor')
-rw-r--r--editor/editor_export.cpp4
-rw-r--r--editor/editor_node.cpp61
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp2
-rw-r--r--editor/project_manager.cpp2
4 files changed, 15 insertions, 54 deletions
diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp
index bc4d9fb156..372d01d89a 100644
--- a/editor/editor_export.cpp
+++ b/editor/editor_export.cpp
@@ -1498,7 +1498,7 @@ String EditorExportPlatform::test_etc2() const {
bool etc_supported = ProjectSettings::get_singleton()->get("rendering/textures/vram_compression/import_etc");
bool etc2_supported = ProjectSettings::get_singleton()->get("rendering/textures/vram_compression/import_etc2");
- if (driver == "OpenGL" && !etc_supported) {
+ if (driver == "OpenGL3" && !etc_supported) {
return TTR("Target platform requires 'ETC' texture compression for OpenGL. Enable 'Import Etc' in Project Settings.");
} else if (driver == "Vulkan" && !etc2_supported) {
// FIXME: Review if this is true for Vulkan.
@@ -1515,7 +1515,7 @@ String EditorExportPlatform::test_etc2_or_pvrtc() const {
// bool etc2_supported = ProjectSettings::get_singleton()->get("rendering/textures/vram_compression/import_etc2");
// bool pvrtc_supported = ProjectSettings::get_singleton()->get("rendering/textures/vram_compression/import_pvrtc");
- if (driver == "OpenGL" && !pvrtc_supported) {
+ if (driver == "OpenGL3" && !pvrtc_supported) {
return TTR("Target platform requires 'PVRTC' texture compression for OpenGL. Enable 'Import Pvrtc' in Project Settings.");
} else if (driver == "Vulkan" && !etc2_supported && !pvrtc_supported) {
// FIXME: Review if this is true for Vulkan.
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index d3d055a009..9edf0a24fc 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -5596,7 +5596,7 @@ void EditorNode::_bottom_panel_raise_toggled(bool p_pressed) {
}
void EditorNode::_update_rendering_driver_color() {
- if (rendering_driver->get_text() == "opengl") {
+ if (rendering_driver->get_text() == "opengl3") {
rendering_driver->add_theme_color_override("font_color", Color::hex(0x5586a4ff));
} else if (rendering_driver->get_text() == "vulkan") {
rendering_driver->add_theme_color_override("font_color", theme_base->get_theme_color("vulkan_color", "Editor"));
@@ -6619,28 +6619,12 @@ EditorNode::EditorNode() {
HBoxContainer *right_menu_hb = memnew(HBoxContainer);
menu_hb->add_child(right_menu_hb);
- // Toggle for video driver
- // video_driver = memnew(OptionButton);
- // video_driver->set_focus_mode(Control::FOCUS_NONE);
- // video_driver->connect("item_selected", callable_mp(this, &EditorNode::_video_driver_selected));
- // video_driver->add_theme_font_override("font", gui_base->get_theme_font(SNAME("bold"), SNAME("EditorFonts")));
- // video_driver->add_theme_font_size_override("font_size", gui_base->get_theme_font_size(SNAME("bold_size"), SNAME("EditorFonts")));
- // // TODO: Show again when OpenGL is ported.
- // video_driver->set_visible(false);
- // right_menu_hb->add_child(video_driver);
-
- //#ifndef _MSC_VER
- //#warning needs to be reimplemented
- //#endif
- //#if 0
- // String video_drivers = ProjectSettings::get_singleton()->get_custom_property_info()["rendering/driver/driver_name"].hint_string;
- // String current_video_driver = OS::get_singleton()->get_video_driver_name(OS::get_singleton()->get_current_video_driver());
- // video_driver_current = 0;
- // for (int i = 0; i < video_drivers.get_slice_count(","); i++) {
- // String driver = video_drivers.get_slice(",", i);
- // video_driver->add_item(driver);
- // video_driver->set_item_metadata(i, driver);
rendering_driver = memnew(OptionButton);
+
+ // Hide the renderer selection dropdown until OpenGL support is more mature.
+ // The renderer can still be changed in the project settings or using `--rendering-driver opengl3`.
+ rendering_driver->set_visible(false);
+
rendering_driver->set_flat(true);
rendering_driver->set_focus_mode(Control::FOCUS_NONE);
rendering_driver->connect("item_selected", callable_mp(this, &EditorNode::_rendering_driver_selected));
@@ -6649,53 +6633,30 @@ EditorNode::EditorNode() {
right_menu_hb->add_child(rendering_driver);
- // only display the render drivers that are available for this display driver
+ // Only display the render drivers that are available for this display driver.
int display_driver_idx = OS::get_singleton()->get_display_driver_id();
Vector<String> render_drivers = DisplayServer::get_create_function_rendering_drivers(display_driver_idx);
String current_rendering_driver = OS::get_singleton()->get_current_rendering_driver_name();
- // as we are doing string comparisons, keep in standard case to prevent problems with capitals
- // 'vulkan' in particular uses lower case v in the code, and upper case in the UI .
+ // As we are doing string comparisons, keep in standard case to prevent problems with capitals
+ // "vulkan" in particular uses lowercase "v" in the code, and uppercase in the UI.
current_rendering_driver = current_rendering_driver.to_lower();
for (int i = 0; i < render_drivers.size(); i++) {
String driver = render_drivers[i];
- // add the driver to the user interface
- rendering_driver->add_item(driver);
- rendering_driver->set_item_metadata(i, driver);
-
- // lower case for standard comparison
- driver = driver.to_lower();
-
- if (current_rendering_driver == driver) {
- rendering_driver->select(i);
- rendering_driver_current = i;
- }
- }
-#if 0
- // commented out old version, gets the driver list from the project settings
- // just in case we decide to revert to this method
- String rendering_drivers = ProjectSettings::get_singleton()->get_custom_property_info()["rendering/driver/driver_name"].hint_string;
- String current_rendering_driver = OS::get_singleton()->get_current_rendering_driver_name();
- current_rendering_driver = current_rendering_driver.to_lower();
- print_line("current_rendering_driver " + current_rendering_driver);
-
- rendering_driver_current = 0;
- for (int i = 0; i < rendering_drivers.get_slice_count(","); i++) {
- String driver = rendering_drivers.get_slice(",", i);
+ // Add the driver to the UI.
rendering_driver->add_item(driver);
rendering_driver->set_item_metadata(i, driver);
+ // Lowercase for standard comparison.
driver = driver.to_lower();
- print_line("\tdriver " + driver);
if (current_rendering_driver == driver) {
rendering_driver->select(i);
rendering_driver_current = i;
}
}
-#endif
_update_rendering_driver_color();
video_restart_dialog = memnew(ConfirmationDialog);
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index 2bd99debed..9189c75162 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -1246,7 +1246,7 @@ void VisualShaderEditor::_update_options_menu() {
Color unsupported_color = get_theme_color(SNAME("error_color"), SNAME("Editor"));
Color supported_color = get_theme_color(SNAME("warning_color"), SNAME("Editor"));
- static bool low_driver = ProjectSettings::get_singleton()->get("rendering/driver/driver_name") == "opengl";
+ static bool low_driver = ProjectSettings::get_singleton()->get("rendering/driver/driver_name") == "opengl3";
Map<String, TreeItem *> folders;
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp
index 8d14fa899e..dc35e01a56 100644
--- a/editor/project_manager.cpp
+++ b/editor/project_manager.cpp
@@ -478,7 +478,7 @@ private:
if (rasterizer_button_group->get_pressed_button()->get_meta("driver_name") == "Vulkan") {
initial_settings["rendering/driver/driver_name"] = "Vulkan";
} else {
- initial_settings["rendering/driver/driver_name"] = "OpenGL";
+ initial_settings["rendering/driver/driver_name"] = "OpenGL3";
initial_settings["rendering/textures/vram_compression/import_etc2"] = false;
initial_settings["rendering/textures/vram_compression/import_etc"] = true;
}