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

Missing GLES support #449

Open
podsvirov opened this issue Feb 20, 2021 · 13 comments
Open

Missing GLES support #449

podsvirov opened this issue Feb 20, 2021 · 13 comments
Labels
enhancement New feature or request help wanted Extra attention is needed major

Comments

@podsvirov
Copy link
Contributor

Strategically, this is a step towards supporting WebAssembly via Emscripten and creating 3D viewers in modern browsers.

PS: If I'm wrong about something, then correct me.

@VolkerEnderlein
Copy link
Collaborator

No, you are definitely right. Besides implementing the EGL support for Wayland this is another important issue that needs to be done to keep Coin alive and kicking :)

@luzpaz
Copy link
Contributor

luzpaz commented Dec 9, 2021

We have a showstopper here.

@podsvirov
Copy link
Contributor Author

I have experience to port OpenGL ES 3.0 Programming Guide Sample Code to Emscripten. It uses both EGL and GLES API. But I don't have enough free time and knowledge of Coin architecture to apply this experience.

@VolkerEnderlein
Copy link
Collaborator

Unfortunately my OpenGL knowledge is very basic. I've had a look into the Coin wgl stuff but could not derive a proper schedule what needs to be done to implement egl bindings. That's why I marked this as help wanted. Sorry.

@luzpaz
Copy link
Contributor

luzpaz commented Dec 22, 2021

Anyone know of someone that could tackle this? If not, how to we proceed?

@luzpaz
Copy link
Contributor

luzpaz commented Dec 30, 2021

@VolkerEnderlein
Copy link
Collaborator

@epuzanov has been kindly working on this and provided PR #470 for this. I have tested this and just merged with master.

@hfiguiere
Copy link

I built FreeCAD (as a flatpak) with coin3d from master (commit 28ac68d), passing -DCOIN_BUILD_EGL=YES. On x86_64, no problem.

But on aarch64 (it's built with a Qt5 that only has GLES, and it's running on a RaspberryPi 4 64-bits), when I open a model I get this errors:

Coin warning in cc_glglue_instance(): Error when setting up the GL context. This can happen if there is no current context, or if the context has been set up incorrectly.
Coin warning in SoGLPolygonOffsetElement::updategl(): OpenGL driver doesn't support z-buffer offsetting

And then the display looks like this:
freecad

@epuzanov
Copy link
Contributor

The GLES is not an EGL. The Coin3d library used an OpenGL API, some part of it must be rewritten to be compatible with OpenGL ES API. The EGL support is needed for compatibility with Wayland, because Wayland doesn't support GLX API.
Summary:
GLX (X11) -> EGL (Wayland)
OpenGL -> OpenGL ES (GLES)

@hfiguiere
Copy link

Which I is I thought I had understood, but #449 (comment) threw me off thinking it would work.

At least it no longer crashes, but that could be a different reason.

(yes the RaspberryPi still doesn't use Wayland/Weston)

@VolkerEnderlein
Copy link
Collaborator

VolkerEnderlein commented Jan 11, 2022

@hfiguiere So it seems to be my misunderstanding. I thought it to be somewhat related to the EGL work. Sorry for the noise.

@luzpaz
Copy link
Contributor

luzpaz commented Apr 16, 2022

Any progress on this?

@luzpaz
Copy link
Contributor

luzpaz commented Mar 9, 2024

bump

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed major
Projects
None yet
Development

No branches or pull requests

5 participants