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 gl3 and some improvements #1473

Merged
merged 23 commits into from
Mar 11, 2021
Merged

iOS gl3 and some improvements #1473

merged 23 commits into from
Mar 11, 2021

Conversation

joliver82
Copy link
Contributor

@joliver82 joliver82 commented Feb 24, 2021

This is the list of changes:

  • Forced compilation using java 8 (options.release parameter) to avoid random NoSuchMethodException for some methods of java.nio.*Buffer classes.
  • Modified GLRenderer to get default framebuffer on start. Most gl implementations use 0 but iOS use a random buffer depending on the execution (usually 1). This allows the usage of filters and postprocessors using an additional framebuffer on ios. Previously if you enabled any of those the screen went black.
  • Implemented missing methods of gles2.
  • Implemented gles3 methods.

Topic at hub: https://hub.jmonkeyengine.org/t/ios-improvements-including-gles3-0/44332

** This PR needs the related SDK PR: jMonkeyEngine/sdk#295

joliver82 and others added 22 commits May 17, 2018 23:07
… in the atlases instead of setting a predefined byte buffer

on disposal that made all atlases in the backend use the same buffer and generated rendering issues.
…d more images to the screens so it really uses more atlases
Created native methods in JmeIosGLES
…th v52 but when executing it failed to find methods of nio.*Buffer because of an implementation change after java 1.9
…ing any additional framebuffer (scene processors and filters)
@stephengold stephengold changed the title Ios gl3 and some improvements iOS gl3 and some improvements Feb 24, 2021
@Ali-RS Ali-RS added this to the v3.4.0 milestone Feb 25, 2021
JmeIosGLES.glFramebufferTextureLayer(target, attachment, texture, level, layer);
}

// New methods from GL2 interface which are supported in GLES30
Copy link
Member

Choose a reason for hiding this comment

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

Supported or unsupported? given that they are stubs atm

Copy link
Contributor Author

@joliver82 joliver82 Mar 1, 2021

Choose a reason for hiding this comment

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

The comment is not too clear... Methods below are those defined in GL2 which we need to implement because gles30 supports some of them like GL{Read|Write}Buffer and also 3D textures. The reason to create the stubs is that glAlphaFunc, glPointSize and glPolygonMode have no gles equivalent but are defined in GL2 interface.

@Ali-RS
Copy link
Member

Ali-RS commented Mar 10, 2021

Going to merge this in the next 24H if there is no objection.

@Ali-RS Ali-RS merged commit eb59aed into jMonkeyEngine:master Mar 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants