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

iOS support #1

Open
dmitrykolesnikovich opened this issue Jun 26, 2020 · 6 comments
Open

iOS support #1

dmitrykolesnikovich opened this issue Jun 26, 2020 · 6 comments

Comments

@dmitrykolesnikovich
Copy link

Is there some technical nuance that makes iOS support undoable? Can I suggest my contribution if no?

@fabmax
Copy link
Collaborator

fabmax commented Jun 26, 2020

I myself have absoluetly no experience in iOS development, therefore I haven't looked into it so far. Obviously iOS doesn't run Java / kotlin directly, but it should be possible to to add a iOS target using kotlin-native.
Another thing is that OpenGL ES is deprecated on iOS and apps should use Metal as graphics API. As far as I know Metal is conceptually quite close to Vulkan (which I already implemented for desktop Java), so it should be possible to do this.

If you have experience with that stuff and / or wanna get into it, you are welcome do so!

EDIT: One thing I just realized, which might cause a problem: Currently shaders massively rely on generated GLSL code. I don't know Metal but I don't think it uses GLSL as shader language. So you need to either translate the generated GLSL code to Metal shader code or change the shader generation part to optionally produce Metal shader code directly. Both options are probably pretty difficult to achieve.

@dmitrykolesnikovich
Copy link
Author

dmitrykolesnikovich commented Jun 27, 2020

I will provide iOS and metal support by the end of the summer (hopefully). And based on that I really want to cooperate with you on gamedev platform that I created for myself as pet project (I have no solid understanding of 3d graphics but all the rest is pretty good). Do you consider such an option interesting?

@fabmax
Copy link
Collaborator

fabmax commented Jun 27, 2020

In general this sounds interesting. However I probably won't be able to contribute much to an additional rather sophisticated project (due to time-constraints...). First, lets see how your iOS implementation goes, and then figure out what to do next.

@Ali-RS
Copy link

Ali-RS commented Jul 28, 2020

In case this helps, there is this ANGLE library being developed by Google that translates OpenGL ES calls to other APIs. Supporting iOS through the Metal backend is also planned.

@fabmax
Copy link
Collaborator

fabmax commented Jul 29, 2020

ANGLE definitely looks interesting. Using it as a compatibility layer on iOS would solve a lot of problems. Lets hope they implement it soon.

@Ali-RS
Copy link

Ali-RS commented Jul 29, 2020

Yeah, that would be true for Mac OS as well if Apple decides to drop OpenGL completely in the future. Also with ANGLE Direct3D 11 backend, I guess it might be possible to target Xbox as well :)

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

No branches or pull requests

3 participants