http://redmine.emweb.be/http://redmine.emweb.be/favicon.ico?16934085252014-11-11T19:05:58ZRedmineWt - Feature #3660: WGLWidget's 'gl' interface sucks when it comes to potability. Please make it comatible with OpenGL ES interfacehttp://redmine.emweb.be/issues/3660?journal_id=104172014-11-11T19:05:58ZPrasad Dixitpjdixit@gmail.com
<ul></ul><p>From WIKI: ANGLE is currently used in a number of programs and software.</p>
<p>-Chromium (web browser) and Google Chrome.[6] Chrome uses ANGLE not only for WebGL, but also for its implementation of the 2D HTML5 canvas and for the graphics layer of the Google Native -Client (which is OpenGL ES 2.0 compatible).[5]</p>
<p>-Firefox uses ANGLE for as the default WebGL backend on Windows[6]</p>
<p>-Qt 5 uses ANGLE as the default renderer for its OpenGL ES 2.0 API wrapper and other Qt elements which use it on Windows[7]</p>
Wt - Feature #3660: WGLWidget's 'gl' interface sucks when it comes to potability. Please make it comatible with OpenGL ES interfacehttp://redmine.emweb.be/issues/3660?journal_id=104302014-11-13T11:57:32ZWim Dumonwim@emweb.be
<ul></ul><p>Hey,</p>
<p>I'm open for suggestions, but I'm not sure if this is technologically feasible. A WGLWidget is intended to record a kind of playlist that can be executed on the client without server-side interaction when e.g. a transformation matrix or some other uniform is modified, I'm not sure if we can simply support the entire API in an efficient way.</p>
<p>BR,<br><br>
Wim.</p>
Wt - Feature #3660: WGLWidget's 'gl' interface sucks when it comes to potability. Please make it comatible with OpenGL ES interfacehttp://redmine.emweb.be/issues/3660?journal_id=104312014-11-13T12:40:56ZPrasad Dixitpjdixit@gmail.com
<ul></ul><p>Hi Wim,</p>
<p>I am glad that you are open to suggestions. As I mentioned in other posts on this forum regarding this topic, I understand there are bound to be some differences and there might not be exact 1-1 mapping to OpenGL ES API because some part needs to be executed on client and some on server but what I don't understand is why it is not technically feasible to rename 'gl' function names and enums in WGLWidget class to be consistent with OpenGL ES API. That itself will be huge favor to Wt's users who are porting OpenGL ES code to Wt/WebGL.</p>
<p>Try to port any OpenGL ES based code to Wt and you will understand my pain point and it is absolutely avoidable.</p>
<p>Thank you!<br><br>
-Prasad</p>
Wt - Feature #3660: WGLWidget's 'gl' interface sucks when it comes to potability. Please make it comatible with OpenGL ES interfacehttp://redmine.emweb.be/issues/3660?journal_id=104322014-11-13T13:55:50ZPrasad Dixitpjdixit@gmail.com
<ul></ul><p>@ <em>but I'm not sure if this is technologically feasible</em>.</p>
<p>Hi Wim,</p>
<p>I think it should be feasible and it seems it has already been successfully attempted by ReWeb3D. May be you can look at ReWeb3D <a href="https://github.com/ReWeb3D/wtgles2" class="external">https://github.com/ReWeb3D/wtgles2</a></p>
<p>From ReWeb3D's Read Me:<br><br>
\"ReWeb3D is a C framework to bring 3D rendering of OpenGLES2 applications to web applications, using WebGL. It consists of an adapted version of Wt and the wtgles2 wrapper library. It has been tested successfully with OpenSceneGraph and osgEarth applications.</p>
<p>How does it work?<br><br>
OpenGLES2 is a subset of OpenGL developed especially for mobile and embedded devices. It does not provide "fixed functions" of OpenGL 2 and below, but is very close to WebGL, an OpenGL API for web browsers (Javascript). ReWeb3D provides an OpenGLES2 implementation that you can link your application to. If you start the application, OpenGLES2 calls are captured and serialized as WebGL calls in an HTML page which is served over HTTP. The browser loads this page and renders the content of your application.<br><br>
\"</p>
<p>From long term development using Wt as a primary framework, I prefer such solution to be part of Wt itself rather than relying on 3rd party or developing our own own wrappers Instead of using 3rd party</p>
<p>I hope it helps!<br><br>
-Prasad</p>