Summary: | Provide fallback OpenGL ES 2 & 3 implementation using lib ANGLE on Windows | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Xerxes Rånby <xerxes> |
Component: | windows | Assignee: | Sven Gothel <sgothel> |
Status: | UNCONFIRMED --- | ||
Severity: | enhancement | CC: | gouessej |
Priority: | --- | ||
Version: | tbd | ||
Hardware: | All | ||
OS: | all | ||
Type: | FEATURE | SCM Refs: | |
Workaround: | --- |
Description
Xerxes Rånby
2015-07-21 17:11:27 CEST
Problem w/ ANGLE implementation as provided by many web browsers (for example) is that it crashes w/ JOGL. Hence it seems the provided ANGLE stuff is somewhat hacked for browser purposes only. A standalone test w/ ANGLE I once performed in 2013/2014? was successful though. However, b/c of above browser crash, we currently explicitly avoid using ANGLE for ES profiles per default, see GLProfile.enableANGLE 'jogl.enable.ANGLE'. Providing a fallback ANGLE might solve the browser issue, however - it also complicates initialization: - usually we prefer system-wide GLES libs - when to chose fallback ANGLE GLES? The Microsoft fork of ANGLE uses VisualStudio, we would have to adapt the build scripts to our needs. The existence of ANGLE mustn't discourage the GPU manufacturers to provide better OpenGL and OpenGL ES drivers, i.e a true OpenGL driver is still preferable. In my humble opinion, as Sven reminded, the ANGLE native libraries provided by some web browsers can cause some crashes, I wouldn't use them. ANGLE causes a crash in TUER, I had to skip it to make it work on some old laptops under Windows XP 32-bit. ANGLE should be loaded when there is only the Microsoft GDI renderer available or when there is no other solution to access to OpenGL under Windows. Keep in mind that we should still find a solution to provide a feedback to the end user when there is no way to initialize JOGL as I suggested: http://jogamp.org/log/irc/jogamp_20150806050528.html#l73 http://jogamp.org/log/irc/jogamp_20150806050528.html#l74 I should write another bug report for this enhancement. Just as a reminder for Java3D users, I'm particularly reluctant to spend a lot of time in modifying Java3D to make it work with OpenGL ES 2.0 which would be necessary to benefit of ANGLE. The JOGL renderer of Java3D was written with the fixed pipeline in mind. JOGL is able to emulate the fixed pipeline in OpenGL ES 2 but such a big change goes beyond our plan, Java3D is actively maintained. It's already difficult to make something similar work in JogAmp's Ardor3D Continuation which has a "better" design, I don't imagine the headaches to do the same in Java3D. |