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

[WIP] Etcpak integration. #26886

Closed
wants to merge 2 commits into from
Closed

[WIP] Etcpak integration. #26886

wants to merge 2 commits into from

Conversation

fire
Copy link
Member

@fire fire commented Mar 10, 2019

Key feature is performance.

Please try running with the https://godotengine.org/asset-library/asset/123 and try adding etc1 and etc2 export. Use -v on the editor for timing information.

I don't have a setup for phone so, I appreciate phone testing.

The module etc2comp is disabled in this branch.

@fire fire requested a review from akien-mga as a code owner March 10, 2019 22:15
@fire fire changed the title Initial draft of etcpak integration. Etcpak integration. Mar 10, 2019
@akien-mga akien-mga added this to the 3.2 milestone Mar 10, 2019
@fire fire changed the title Etcpak integration. [WIP] Etcpak integration. Mar 10, 2019
@fire fire force-pushed the etcpak branch 3 times, most recently from b501ff5 to 9ce8aab Compare March 10, 2019 22:56
@fire
Copy link
Member Author

fire commented Mar 10, 2019

I'll leave the errors with osx and mono for another day.

Have a good weekend.

@fire fire force-pushed the etcpak branch 3 times, most recently from 011a8c4 to f26a3f9 Compare March 11, 2019 16:15
@fire
Copy link
Member Author

fire commented Mar 11, 2019

There was a question regarding how is etcpak's quality vs etc2comp. I'll try to get a few samples using a lossless source at some point. Currently busy. If anyone wants to try making comparisons, that'll work too.

@RevoluPowered
Copy link
Contributor

@fire any ideas when you will be ready to merge this?

@fire
Copy link
Member Author

fire commented Mar 23, 2019

I am back from GDC SF.

Can you do some mobile testing and tell me how it goes?

@RevoluPowered
Copy link
Contributor

Unfortunately luck has stranded me with a windows phone / my one plus 3t died last week otherwise I would

@fire
Copy link
Member Author

fire commented Mar 26, 2019

Are you able to test anytime soon, I'd have to buy a phone or a hardware proxy.

@RevoluPowered
Copy link
Contributor

RevoluPowered commented Mar 26, 2019

I'm in the same boat right now, I'll see what I can do; can't promise to be able to find a modern phone though.

Any chance you could give me an .apk to test? Maybe even just pack a single scene with a few different images then I can send to various people to test it out.

@RevoluPowered
Copy link
Contributor

I've got a macbook / can test in the simulators to see what happens too, will also verify android studio simulator works, but will need to test on a real iPhone X & android 8.0, and 7.0.

@fire
Copy link
Member Author

fire commented Mar 26, 2019

Use the material tester.

@fire
Copy link
Member Author

fire commented Mar 26, 2019

@fire fire changed the title [WIP] Etcpak integration. Etcpak integration. Mar 27, 2019
@fire
Copy link
Member Author

fire commented Mar 27, 2019

@akien-mga How does Godot do third party licenses? Is there a guide to doing the documentation?

@RevoluPowered
Copy link
Contributor

@fire got a new android 8.0 phone will try and test it this week. Will let you know how it goes.

@reduz
Copy link
Member

reduz commented Apr 4, 2019

If this supports etc1/2 decompression, we should also add support for it.

@fire
Copy link
Member Author

fire commented Apr 4, 2019

It has a decode mode, so I should be able to get the raw data and convert it to a Godot Image instead of to a png.

@fire fire changed the title Etcpak integration. [WIP] Etcpak integration. Apr 4, 2019
@fire
Copy link
Member Author

fire commented Apr 25, 2019

I looked into KTX and PVR support.

@reduz Only the RGBA and RGB formats in ETCPAK are supported, which causes https://github.com/Ericsson/ETCPACK 's test images to crash the editor.

So I kept the existing PVR support by copying the code.

@fire
Copy link
Member Author

fire commented Apr 25, 2019

If a full KTX (maybe KTX2) / PVR importer is required, that's a separate endeavour. We'll have to start looking for a full format to bitmap / png converter.

@fire
Copy link
Member Author

fire commented Apr 25, 2019

With the existing PVR importer I could open none of the test vectors at https://github.com/Ericsson/ETCPACK/tree/master/testing/testvectors_correct/pkm.

@fire
Copy link
Member Author

fire commented Apr 25, 2019

@RevoluPowered I don't use Android devices, so I'm not sure of the workflow. It's probably best if you had the whole toolchain. I can wait.

I can test on the iPhone, but the exact formats is different.

@RevoluPowered
Copy link
Contributor

Will try and do this on Saturday then since you don't have the toolchain

@RevoluPowered
Copy link
Contributor

RevoluPowered commented Apr 29, 2019

Built engine with scons, but having an issue.

Where do I get the latest export templates from?

image

Everything else is configured. Need them to configure the android build

@fire
Copy link
Member Author

fire commented Apr 29, 2019

There's a tutorial on generating them.

@Calinou
Copy link
Member

Calinou commented Apr 29, 2019

@RevoluPowered @fire is referring to Compiling for Android :)

@RevoluPowered
Copy link
Contributor

RevoluPowered commented Apr 30, 2019

Appreciate the link thank you.

I did google but that article didn't show up in google, not sure why it's not indexed.

Will do this tonight if I am free.

@RevoluPowered
Copy link
Contributor

Letting you know I'm working on this tonight and tomorrow, but it's taking an age to finish compiling the export templates for android.

@RevoluPowered
Copy link
Contributor

Checked it on android and textures 3-10 are broken in the material demo on android. Will post screenshots when I get my phone to run again

@fire
Copy link
Member Author

fire commented May 4, 2019

I'll try on an Apple device.

@fire
Copy link
Member Author

fire commented May 4, 2019

I can reproduce the problem, but debugging on the Apple device is easy to use, but difficult to setup.

@RevoluPowered
Copy link
Contributor

Screenshot_20190505-003830
Screenshot_20190503-115032

@fire
Copy link
Member Author

fire commented May 5, 2019

This patch is not quite ready, there's some patches to the third party library because of defines and the inability to get the points of the etc2 buffer.

The debug templates take an exceptional amount of time to link on Windows..

Trying to check if this push fixes the problem.

@fire
Copy link
Member Author

fire commented May 5, 2019

Nope it's not working, but there's a workflow to test it via the Android Studio Emulator.

@fire
Copy link
Member Author

fire commented May 5, 2019

Going to leave this unfinished, since I ran out of time.

@RevoluPowered
Copy link
Contributor

RevoluPowered commented May 13, 2019

I'll be free this weekend to help you out with testing this if you are able to find a fix? @fire

@fire
Copy link
Member Author

fire commented Jul 12, 2019

Leaving this here as the pull request is salvageable, but I'm not working on it anymore.

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