Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable incompatible rendering methods in the project manager #72460

Conversation

Calinou
Copy link
Member

@Calinou Calinou commented Jan 31, 2023

The project manager can now only create projects that use a rendering method compatible with the current platform. Rendering methods that are disabled at build-time are also grayed out.

While it is possible in theory to create a project using Forward+ on Android or HTML5 (thanks to the automatic fallback), it will look different once edited on a desktop platform.

Preview

Desktop Mobile Web
Screenshot_20230131_172311 Screenshot_20230131_172241 Screenshot_20230131_172331

@Riteo
Copy link
Contributor

Riteo commented Feb 1, 2023

Could this also handle rendering methods disabled at build-time? I recall there being some feature flag somewhere, but I guess that this could also work with just #ifdefs.

@Calinou
Copy link
Member Author

Calinou commented Feb 1, 2023

Could this also handle rendering methods disabled at build-time? I recall there being some feature flag somewhere, but I guess that this could also work with just #ifdefs.

This could be done too using VULKAN_ENABLED and GLES3_ENABLED. (Can Forward+ and Mobile be toggled separately at build-time?)

@Riteo
Copy link
Contributor

Riteo commented Feb 1, 2023

@Calinou

This could be done too using VULKAN_ENABLED and GLES3_ENABLED.

That's what I meant with "using #ifdefs".

Can Forward+ and Mobile be toggled separately at build-time?

From what I can tell, no. This seems to be solely a Vulkan vs GLES3 thing.

@Calinou Calinou force-pushed the project-manager-disable-incompatible-rendering-methods branch from baf0d30 to 70a21ae Compare February 1, 2023 14:13
@Calinou
Copy link
Member Author

Calinou commented Feb 1, 2023

That's what I meant with "using #ifdefs".

That's what I understood 🙂

I pushed an update that grays out rendering methods that were disabled at build-time. Example on desktop with opengl3=no SCons option (the Vulkan counterpart is vulkan=no):

image

@Calinou Calinou force-pushed the project-manager-disable-incompatible-rendering-methods branch from 70a21ae to 2e1b2ff Compare February 1, 2023 23:09
@Calinou
Copy link
Member Author

Calinou commented Feb 1, 2023

I've allowed selecting the Forward+ rendering method on mobile. Note that the descriptive text still says "Supports desktop platforms only" though.

@Calinou Calinou force-pushed the project-manager-disable-incompatible-rendering-methods branch 3 times, most recently from fdf27dc to 6076b07 Compare February 1, 2023 23:16
@YuriSizov YuriSizov modified the milestones: 4.0, 4.1 Feb 10, 2023
@Calinou Calinou force-pushed the project-manager-disable-incompatible-rendering-methods branch from 6076b07 to 617ce0f Compare February 22, 2023 18:49
@akien-mga akien-mga modified the milestones: 4.1, 4.0 Feb 22, 2023
The project manager can now only create projects that use a rendering
method compatible with the current platform. Rendering methods that
are disabled at build-time are also grayed out (only for OpenGL).

While it is possible in theory to create a project using Forward+
on web (thanks to the automatic fallback),
it will look different once edited on a desktop platform.
@Calinou Calinou force-pushed the project-manager-disable-incompatible-rendering-methods branch from 617ce0f to 8ebc5b2 Compare February 22, 2023 18:57
Copy link
Member

@clayjohn clayjohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems good to me

@akien-mga akien-mga merged commit 02583dd into godotengine:master Feb 22, 2023
@akien-mga
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants