[vbox-dev] Chromium WebGL vs Angle WebGL

Michael Slavitch slavitch at gmail.com
Mon Apr 29 12:36:12 PDT 2013


The VirtualBox 3D driver is based on the Chromium OpenGL proxy tool.
As far as I know Chromium does not support Mac OS X as a platform.
There hasn't been an official release since 2006. From what I have
seen on MacOS hosts 3D rendering is done by the host using a mix of
software and hardware calls.  The performance of 3D on Windows guests
running on MacOS and Linux hosts is somewhat lacking.

Angle is not Windows only, it a cross-platform library that wraps
local implementations of OpenGL (MacOS, Linux) or DirectX (9 and 10)
(Windows) with WebGL to access hardware-accelerated libraries using a
single consistent API.  3D tasks such as shading are done in hardware,
not software, using common calls. It is used on Mac OS X, Linux, and
in mobile platforms, as well as in Windows. The major use has been in
browsers but that is only a circumstance of the energy going towards
web applications.

Now, I might be wrong but I would be very leery of depending on API's
from a project that hasn't seen a revision in seven years, and looks
to be orphaned, when there is a library that allows VirtualBox to
create host environments that can provide a consistent
hardware-accelerated graphics API to guest, especially one that is
still in active development.  There seems to be little thought put in
to 3D support.  This has the potential of changing that.

Regards

Michael


On Mon, Apr 29, 2013 at 2:49 PM, Michael Thayer
<michael.thayer at oracle.com> wrote:
> Hello Michael,
>
> Perhaps I am missing something here, but first I have trouble seeing what
> ANGLE should provide which we are currently lacking (in fact I am not quite
> sure what you feel is wrong with our current solution at all which cannot be
> fixed in place), and secondly it looks from its web page like a Windows-only
> library to run OpenGL ES on top of DirectX rather than a cross-platform one
> to translate DirectX into WebGL.  I am not even quite clear either why you
> think we need such a library - are you considering Windows guests being
> displayed in a host web browser?  And if so, do you think that ANGLE would
> be suitable for being embedded into a guest display driver?
>
> Regards,
>
> Michael
>
>
> On 29/04/13 19:09, Michael Slavitch wrote:
>>
>> In other words, it's an open-source library that can do for VirtualBox
>> what Mesa/Gallium3D does for VMWare: Present a consistent OpenGL 3D
>> library no matter the underlying platform.  It has a BSD license.
>>
>>
>> On Mon, Apr 29, 2013 at 12:49 PM, Michael Slavitch <slavitch at gmail.com>
>> wrote:
>>>
>>> The latter is what's used in Oracle VirtualBox to provide WebGL
>>> services to pass graphics commands to the host.
>>>
>>> That's what Angle provides, as a library, for applications that can
>>> use it, and for the same reason, as it allows the same library to
>>> offer near-native graphics support cross-platform, such that DirectX
>>> API commands can be translated into WebGL calls supported on myriad
>>> platforms.  They support translation of DirectX 9 and DirectX 10.
>>>
>>>
>>>
>>> On Mon, Apr 29, 2013 at 12:42 PM, Michael Slavitch <slavitch at gmail.com>
>>> wrote:
>>>>
>>>> The latter is what's used in Oracle VirtualBox to provide WebGL
>>>> services, correct?  That's what Angle provides, as a library, for
>>>> applications that can use it.
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, Apr 29, 2013 at 12:13 PM, Michael Thayer
>>>> <michael.thayer at oracle.com> wrote:
>>>>>
>>>>> Hello Michael,
>>>>>
>>>>> I think you have the wrong Chromium there[1][2].
>>>>>
>>>>> Regards,
>>>>>
>>>>> Michael
>>>>>
>>>>> [1] http://www.chromium.org/
>>>>> [2] http://chromium.sourceforge.net/
>>>>>
>>>>>
>>>>> On 29/04/13 17:59, Michael Slavitch wrote:
>>>>>>
>>>>>>
>>>>>> Has anyone investigated replacing the Chromium WebGL used in
>>>>>> Virtualbox with the capabilities offered by Angle?  The result would
>>>>>> give Windows guests on Linux/MacOS hosts access to
>>>>>> hardware-accelerated WebGL libraries on the underlying hosts,  and
>>>>>> achieve parity with host implementations when using Direct3D 10 or
>>>>>> above.
>>>>>>
>>>>>> Deets here:
>>>>>>
>>>>>> https://code.google.com/p/angleproject/
>>>>>>
>>>>>> ANGLE is a conformant implementation of the OpenGL ES 2.0
>>>>>> specification that is hardware‐accelerated via Direct3D. ANGLE
>>>>>> v1.0.772 was certified compliant by passing the ES 2.0.3 conformance
>>>>>> tests in October 2011. ANGLE also provides an implementation of the
>>>>>> EGL 1.4 specification.
>>>>>>
>>>>>> ANGLE is used as the default WebGL backend for both Google Chrome and
>>>>>> Mozilla Firefox on Windows platforms. Chrome uses ANGLE for all
>>>>>> graphics rendering on Windows, including the accelerated Canvas2D
>>>>>> implementation and the Native Client sandbox environment.
>>>>>>
>>>>>>>>
>>>>>> Portions of the ANGLE shader compiler are used as a shader validator
>>>>>> and translator by WebGL implementations across multiple platforms. It
>>>>>> is used on Mac OS X, Linux, and in mobile variants of the browsers.
>>>>>> Having one shader validator helps to ensure that a consistent set of
>>>>>> GLSL ES shaders are accepted across browsers and platforms.
>>>>>>
>>>>>> The shader translator can be used to translate shaders to other
>>>>>> shading languages, and to optionally apply shader modifications to
>>>>>> work around bugs or quirks in the native graphics drivers. The
>>>>>> translator targets Desktop GLSL, Direct3D HLSL, and even ESSL for
>>>>>> native GLES2 platforms.
>>>>>> <<<
>>>>>>
>>>>>> _______________________________________________
>>>>>> vbox-dev mailing list
>>>>>> vbox-dev at virtualbox.org
>>>>>> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> ORACLE Deutschland B.V. & Co. KG   Michael Thayer
>>>>> Werkstrasse 24                     VirtualBox engineering
>>>>> 71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com
>>>>>
>>>>> Hauptverwaltung: Riesstr. 25, D-80992 München
>>>>> Registergericht: Amtsgericht München, HRA 95603
>>>>> Geschäftsführer: Jürgen Kunz
>>>>>
>>>>> Komplementärin: ORACLE Deutschland Verwaltung B.V.
>>>>> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
>>>>> Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
>>>>> Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher
>>
>>
>> _______________________________________________
>> vbox-dev mailing list
>> vbox-dev at virtualbox.org
>> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>>
>
>
> --
> ORACLE Deutschland B.V. & Co. KG   Michael Thayer
> Werkstrasse 24                     VirtualBox engineering
> 71384 Weinstadt, Germany           mailto:michael.thayer at oracle.com
>
> Hauptverwaltung: Riesstr. 25, D-80992 München
> Registergericht: Amtsgericht München, HRA 95603
> Geschäftsführer: Jürgen Kunz
>
> Komplementärin: ORACLE Deutschland Verwaltung B.V.
> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
> Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
> Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher



More information about the vbox-dev mailing list