Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can someone explain the significance of this? I do WebGL development and I believe there is already an intermediate layer called Angle that WebGL compiles to. The Angle layer decouples the hardware from the software and allows hardware vendors to develop drivers that run Angle and shader languages to target Angle without the two needing to know anything about each other. (Not sure if that's right?)

This seems like another intermediate decoupling layer?



Angle is ultimately a OpenGL|ES implementation on top of other APIs since webgl is pretty close to GLES, but desktops don't typically implement GLES.

This (IGL) is more a layer sitting on top between your app and the system provides API since pretty much every system has a different blessed API these days: Browser:WebGL/WebGPU, Windows:DirectX/Vulkan, Mac:Metal, Linux/Android:Vulkan, Consoles: Proprietary APIs like NVN/GNM/AGC/DX12 with a lot of extensions.

Just about every major cross platform 3D graphics app/engine has a layer like IGL, this just seems to be an attempt to make Meta's a standard.


So then the full stack for using IGL in browser (on Windows at least) would be App Code -> IGL -> WebGL -> ANGLE -> DirectX -> Hardware device?

Owie


Technically there's also a driver layer sitting between the DirectX 'client-side' API and the hardware, so it's even worse ;)

(the whole point of more modern 3D APIs, which move most of the expensive "abstraction-layer translation work" into the initialization phase is to "cut through" all those layers in the frame loop though)


ANGLE is a portability layer for Windows which provides the OpenGL API on top of DirectX, since Windows clients aren't guaranteed to have good OpenGL drivers installed. WebGL is itself closely related to OpenGL so it makes sense to build it on top of that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: