Well, that's interesting. The state of desktop OpenGL on Windows is pretty awful at the moment. The antiquated WGL APIs make it difficult to control when your application enters exclusive fullscreen mode, and as far as I know, it's impossible to control latency or get any kind of presentation feedback with them. You also can't make UWP apps that use WGL. Google's ANGLE, which is used to implement WebGL in Chrome and Firefox, is a lot better, and it lets you do fancy things like render OpenGL ES content to a D3D11 texture or to a DirectComposition surface. If Microsoft open-source Edge's WebGL engine (currently it seems like only the GLSL->HLSL translator is open-sourced,) it could become another modern way of using GLES on Windows.<p>Source: We rely on OpenGL to render video in mpv, and we are currently switching from using a WGL context by default to using ANGLE. Maybe this could be a third option?
Wow, 45 upvotes and no comments...<p>While I'm not entirely sure what the strategy is with this, I'm fairly surprised by the move. This is something that would have been unheard of from Microsoft even a decade ago. They've made a bunch of really huge strides in FLOSS, but they've all been centered around developer mindshare. I totally get open-sourcing your developer tooling, especially in consideration of their Azure ambitions, which isn't bad.<p>I really like VS Code, which has become my daily editor of choice, I keep meaning to try the integrated debugging, but haven't. The .Net core releases have me looking at C# again, in a fairly new light. The Linux Subsystem for Windows is impressive.<p>All of that said, this move still surprises me. I'm not sure if/how much it will benefit the larger developer community, but it is really nice to see a much more open MS. All I can say is that the next half decade will be particularly interesting in terms of software improvements as hardware has started to level off.
The README says the code is published without any build scripts "for reference only", so I expected this to be another "shared source" thing.<p>It turns out that the code is offered under the (very permissive) MIT license. Cool.
This is great to have as a reference - the GLSL parser looks like a very thorough implementation. Thanks!<p>We've recently produced a WebGL implementation on top of V8 (passing calls through to OpenGL ES) - we needed it for a specific use case where a bundling a complete browser wouldn't do. We're interested in open sourcing if it's helpful to others - I'm curious to know if anyone else has a use case for an embeddable WebGL implementation? (Ours was to run three.js on the GearVR)
What's more frustrating is that edge had been shipping for a while now with a broken implementation of WebGL.<p>The conformance tests have been available for years and yet they haven't bothered to pass them<p><a href="https://www.khronos.org/registry/webgl/sdk/tests/webgl-conformance-tests.html" rel="nofollow">https://www.khronos.org/registry/webgl/sdk/tests/webgl-confo...</a><p>This makes devs have write nasty workarounds if they want WebGL apps to work on Edge
By the way, this is not the whole WebGL implementation, just the shader transpiler (GLSL to HLSL). Though it's good to see that their GLSL parser isn't totally insane. Somebody really ought to check it for compliance though; we really don't want to have yet another nonstandard shader compiler.
Microsoft seems like a different company now.<p>Off topic, but I am a happy customer of Office 365. I use the web versions of Word and Excel on my Linux laptops when people send me Office files. Works fine. The one terabyte of cloud storage for each family member is nice also.
Hmm this is very interesting... I was looking for exactly this so I could try to hook up WebGL calls from canvas into HoloLens' 3D environment. Three.js holograms :)
Microsoft is amazing. Top notch work across the board. Not all of their initiatives are aligned with hacker ideology but they are hands down developer friendly. Ballmer always made that important to know. I personally have the utmost faith in them. Their development tools are unequaled.
The title is misleading, as the first words on github are: "This repo contains a select number of files".
The title should say "Dump of some of the files".
Considering the state of popularity if the Edge, maybe even "reference on what not to do"
lol, look at those enterprise type comments -<p><pre><code> //+----------------------------------------------------------------------------
//
// Function: GetDefaultInitValue
//
// Synopsis: Returns a string that contains the default HLSL value for
// the component of this type. Should not be called on sampler
// or void types, as there are no values to init with.
//
//------------------------------------------------------------------------</code></pre>