-
-
Notifications
You must be signed in to change notification settings - Fork 21.3k
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
3D models not rendered on iOS with compatibility renderer #86830
Comments
Also similar issue with Android #86119 I forgot to mention that on MacOs model is rendered ok. |
See original forum post: https://forum.godotengine.org/t/compatibility-renderer-ios-3d-model-not-rendered/40877 |
Is possible to try opengl_angle for iOS as workaround? |
Not currently, but #87028 implements it. It's currently in draft state and not usable in production. |
For the reference, I can confirm this issue with a current master. #87028 in its current state (still need a lot of testing) is functional and seems to be fixing this issue: I'm getting the following warning from it, rendering seems to be OK:
|
i have same problem with godot 4.2.1 on ios, but in my case, 3D models with skeleton work fine on godot 4.0 (maybe work fine on 4.0.4 too, i tested a custom build base on branch 4.0 with last commit is c8e0bd5) |
@Calinou @Jakub-Doucek @Arthas92t Hi! Maybe this problem is related to shader cache issue (#82419). |
@brcontainer No, it isn't. i did few more test in the weekend and it work fine on 4.1.1 too, only have issue on 4.1.2, maybe few more test and i may find which commit cause this |
@brcontainer @Calinou @Jakub-Doucek After some test, issue come from commit 8d22e58 and 10eafe2, remove line glBindFramebuffer(GL_FRAMEBUFFER, 0); and mesh with animation work again |
Perhaps changing the
We've got some issues in the compatibility renderer with not setting up the necessary state completely, and not cleaning up state completely, before/after operations. The fix in PR #83756 was clearing out some left over state that shouldn't still be there. And it sounds like perhaps the next step isn't completly setting up the state it needs and just assuming it's already set to the system FBO? Anyway, I'd be curious to know if that change works! |
I tried version 4.1.1 and you are right. It works in this version. But during reimporting the model, I notice that there are a lot of errors. In each version, the error log is very different. Maybe it's somehow connected to the problem? 4.1.1.stable
4.2.1.stable
master (#88689)
|
@Jakub-Doucek Can you test again but with #88745? We have a few other places where we erroneously call |
I`ve tried to cherry-pick that commit into 4.2.1.stable but the result is the same. |
@Jakub-Doucek Could you pull from #88745 again and test with the most recent changes? David made a suggestion that might fix the particles issue |
@clayjohn Looks like that change made everything worse. Model is not drawn again and it crash in _particles_update_instance_buffer. |
@Jakub-Doucek are particles working in 4.2.1? |
Well, at least some of them. I've got particles that look okay, but others that instead of texture draw purple squares. Not sure what is a reason for that. (on ios device) |
Oh, sorry for the misinformation. I need to correct myself. That was in the Vulkan renderer. Looks like particles don't work in 4.2.1.stable with Opengl on iOS. It crashes in the same way. So maybe it is another problem... |
Yes, that makes sense. I know on macOS transform feedback (the tool we use for particles) just isn't supported very well. I wasn't sure if that was the case for iOS as well, but it appears it is. That being said, since skeletons are working with this change, we might be able to get particles working acceptably. |
Tested versions
System information
ios16, ios17, iPhone 13 Pro Max, iPad (6th generation) - Godot 4.2.1 / Godot 4.3 - GLES3
Issue description
Some imported models with animations are not rendered on iOS devices (I didn't test Android) with the compatibility renderer. With the mobile renderer, everything is ok. When the model is imported without a skeleton then it is rendered ok.
Godot 3.5:
Godot 4.2.1:
Log from device:
I found that DrawView error is from glGetError(), so it means: GL_INVALID_FRAMEBUFFER_OPERATION ( https://www.khronos.org/opengl/wiki/OpenGL_Error )
issues that could be related:
#80057
#74074
#76142
#85752
Steps to reproduce
Just create the project. Download KayKit - Character Pack : Adventurers from AssetLib. Create a 3D scene, add some model (I used Mage), add 3D camera and default light + environment. Then export for iOS. I added only team and bundle id.
And run on the device.
Minimal reproduction project (MRP)
bug_report.zip
The text was updated successfully, but these errors were encountered: