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

Ability to select Video RAM compression formats for every image #28621

Closed
DrMoriarty opened this issue May 2, 2019 · 4 comments · Fixed by #42262
Closed

Ability to select Video RAM compression formats for every image #28621

DrMoriarty opened this issue May 2, 2019 · 4 comments · Fixed by #42262

Comments

@DrMoriarty
Copy link
Contributor

Godot version:

Godot 3.1.2-devel

OS/device including version:

MacOSX 10.13.6

Issue description:

I make export to iOS and to Android from one project. For iOS I use GLES3 and pvrtc compression for many textures. For Android I use GLES2 and etc1 compression but only for textures without alpha channel (because etc1 has no support of alpha channel).
So I have to switch compression mode for many textures every time I export to one platform or to another. It takes a lot of time to generate new pvrtc textures every iOS export.

The ideal solution will be to make separate alpha channel compression for etc1 (or other alphaless formats), but I think that it may be very difficult to implement.
Another way - to detect if image has the alpha channel and use some flag in project settings to skip etc1 conversion.
Another way N2 - to be able to select which video ram compressions will be applicable for this texture.

Steps to reproduce:

Minimal reproduction project:

@DrMoriarty
Copy link
Contributor Author

related #26211

@Jimmio92
Copy link

@DrMoriarty Couldn't this problem easily be solved by keeping a copy of your project for Android and one for iOS?

So that way... you develop in folder 'project'... and when it comes time to build for Android and iOS, copy everything from 'project' except the project.godot so settings don't get overwritten to 'project_android' and 'project_ios', which are "separate projects"

@DrMoriarty
Copy link
Contributor Author

@Jimmio92 this way don't solve the issue. When I copy all files except the project.godot, I will have the same *.import files and the same textures will be vram compressed. Actually I need one texture compress by different ways during export to different platforms.

@mhilbrunner
Copy link
Member

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.

The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.

If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!

akien-mga pushed a commit to DrMoriarty/godot that referenced this issue Sep 23, 2020
Fixes: godotengine#28683, godotengine#28621, godotengine#28596 and maybe others

For iOS we enable pvrtc feature by default for both GLES2/GLES3
Etc1 for iOS doesn't have any sense, so it disabled.
Fixed checks in export editor.
Fixed pvrtc ability detection in GLES2 driver.
Fixed pvrtc encoding procedure.
akien-mga added a commit to akien-mga/godot that referenced this issue Sep 23, 2020
Fixes: godotengine#28683, godotengine#28621, godotengine#28596 and maybe others

For iOS we enable pvrtc feature by default for all backends
Etc1 for iOS doesn't have any sense, so it disabled.
Fixed checks in export editor.
Fixed pvrtc encoding procedure.

Edit by Akien: Forward-ported from godotengine#38076, this may not make sense as is for
Godot 4.0, but it's important that we have the latest code in sync with 3.2
for when more rendering backends and proper iOS support are added back.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
MarcusElg pushed a commit to MarcusElg/godot that referenced this issue Oct 19, 2020
Fixes: godotengine#28683, godotengine#28621, godotengine#28596 and maybe others

For iOS we enable pvrtc feature by default for all backends
Etc1 for iOS doesn't have any sense, so it disabled.
Fixed checks in export editor.
Fixed pvrtc encoding procedure.

Edit by Akien: Forward-ported from godotengine#38076, this may not make sense as is for
Godot 4.0, but it's important that we have the latest code in sync with 3.2
for when more rendering backends and proper iOS support are added back.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants