1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Microsoft Edge(2018年2月)における WebGL 対応状況

1
Last updated at Posted at 2018-02-11

Microsoft Edge(2016年7月)における WebGL 対応状況
https://qiita.com/cx20/items/0fa5f4cbf2af3bde9a41

前回の調査から随分間が空いてしまいましたが、2018年2月時点における Microosft Edge の WebGL 対応状況を調べてみました。
調査した環境は Windows 10 Insider Preview Build 17093 になります。

今回の大きな変更点としては WebGL のレンダラに ANGLE が採用されている点かと思います。ただし、評価版である為、リリース版と異なる可能性がありますのでご注意下さい。

MicrosoftEdge_WebGLReport_20180211.png

主な変更点

  • Context Name の「experimental~」のプレフィックスが取れて「webgl」に変更
  • Unmasked Renderer に「ANGLE」の文字が追加
  • 使える WebGL 拡張が大幅に増加
  • 複雑な GLSL も OK
  • GPGPU サンプルも件数が多くても正常動作
  • 動画テクスチャとして WebM が利用可能

ちなみに、WebGL2 は未サポートのようです。ただ ANGLE を採用することで WebGL2 も現実味を帯びてきた感じがします。もう少し待ちましょう。

WebGL の対応状況については、以下のサイトにて確認を行いました。

■ WebGL Report
http://webglreport.com/

OS とブラウザ バージョン GPU
Windows 10 IP Build 17093 + Chrome 64 64.0.3282.140 GeForce GTX 660
Windows 10 IP Build 17093 + Firefox 58 58.0.2 GeForce GTX 660
Windows 10 IP Build 17093 + IE 11 11.1000.17093.0 GeForce GTX 660
Windows 10 IP Build 17093 + Edge 17 42.17093.1000.0 GeForce GTX 660
iOS 11.2.5 + Safari 604.1 Apple A8
項目 Chrome 64 Firefox 58 IE 11 Edge 17 iOS 11.2.5
Vendor WebKit Mozilla Microsoft Microsoft WebKit
Renderer WebKit WebGL Mozilla Internet Explorer Microsoft Edge WebKit WebGL
GL Version WebGL 1.0 WebGL 1.0 WebGL 0.94 WebGL 1.0 WebGL 1.0
Shading Language Version WebGL GLSL ES 1.0 WebGL GLSL ES 1.0 WebGL GLSL ES 0.94 WebGL GLSL ES 1.0 WebGL GLSL ES 1.0
WebGL Extensions 27個 23個 8個 17個 16個
WebGL Extensions 項目 Chrome 64 Firefox 58 IE 11 Edge 17 iOS 11.2.5
ANGLE_instanced_arrays ○ ○ ○ ○ ○
EXT_blend_minmax ○ ○ ○(New) ○
EXT_color_buffer_half_float ○(New) ○ ○(New)
EXT_disjoint_timer_query ○ ○(New)
EXT_frag_depth ○ ○ ○
EXT_shader_texture_lod ○ ○ ○(New) ○
EXT_sRGB ○ ○ ○
EXT_texture_filter_anisotropic ○ ○ ○ ○ ○
OES_element_index_uint ○ ○ ○ ○ ○
OES_standard_derivatives ○ ○ ○ ○ ○
OES_texture_float ○ ○ ○ ○ ○
OES_texture_float_linear ○ ○ ○ ○ ○
OES_texture_half_float ○ ○ ○ ○
OES_texture_half_float_linear ○ ○ ○ ○
OES_vertex_array_object ○ ○ ○(New) ○
WEBGL_color_buffer_float ○(New) ○ ○(New)
WEBGL_compressed_texture_pvrtc △
WEBGL_compressed_texture_etc1 [○] [○]
WEBGL_compressed_texture_s3tc ○ ○ ○ ○
WEBGL_compressed_texture_s3tc_srgb ○(New) ○(New)
WEBGL_debug_renderer_info ○ ○(New) ○ ○ ○(New)
WEBGL_debug_shaders ○ ○(New)
WEBGL_depth_texture ○ ○ ○ ○
WEBGL_draw_buffers ○(New) ○
WEBGL_lose_context ○ ○ ○

※ 「○」はベンダー接頭辞「なし」、「△」はベンダー接頭辞「あり」を表しています。また、内蔵 GPU で動作しなかったものは「[○]」としています。
※ 「New」は前回調査時のバージョンから追加された箇所(Chrome 51→64, Firefox 47→58, Edge 14→17, iOS 9.3.2→11.2.5)になります。

以下は、three.js (r89) のサンプル(http://threejs.org/examples/ )による動作確認結果です。

WebGL Example Chrome 64 Firefox 58 IE 11 Edge 17 iOS11.2.5
animation / cloth 〇 〇 〇 〇 〇
animation / keyframes / json 〇 〇 〇 〇 〇
animation / scene 〇 〇 〇 〇 〇
animation / skinning / blending 〇 〇 〇 〇 〇
animation / skinning / morph 〇 〇 〇 〇 〇
camera 〇 〇 〇 〇 〇
camera / array 〇 〇 〇 〇 〇
camera / cinematic 〇 〇 〇 〇 〇
camera / logarithmicdepthbuffer 〇 〇 〇 〇 〇
clipping 〇 〇 〇 〇 〇
clipping / advanced 〇 〇 〇 〇 〇
clipping / intersection 〇 〇 〇 〇 〇
decals 〇 〇 〇 〇 〇
depth / texture 〇 〇 × 〇 〇
effects / anaglyph 〇 〇 〇 〇 〇
effects / parallaxbarrier 〇 〇 〇 〇 〇
effects / peppersghost 〇 〇 〇 〇 〇
effects / stereo 〇 〇 〇 〇 〇
geometries 〇 〇 〇 〇 〇
geometries / parametric 〇 〇 〇 〇 〇
geometry / colors 〇 〇 〇 〇 〇
geometry / colors / blender 〇 〇 〇 〇 〇
geometry / colors / lookuptable 〇 〇 〇 〇 〇
geometry / convex 〇 〇 〇 〇 〇
geometry / cube 〇 〇 〇 〇 〇
geometry / dynamic 〇 〇 〇 〇 〇
geometry / extrude / shapes 〇 〇 〇 〇 〇
geometry / extrude / shapes2 〇 〇 〇 〇 〇
geometry / extrude / splines 〇 〇 〇 〇 〇
geometry / hierarchy 〇 〇 〇 〇 〇
geometry / hierarchy2 〇 〇 〇 〇 〇
geometry / minecraft 〇 〇 〇 〇 〇
geometry / minecraft / ao 〇 〇 〇 〇 〇
geometry / normals 〇 〇 〇 〇 〇
geometry / nurbs 〇 〇 〇 〇 〇
geometry / shapes 〇 〇 〇 〇 〇
geometry / spline / editor 〇 〇 〇 〇 〇
geometry / teapot 〇 〇 〇 〇 〇
geometry / terrain 〇 〇 〇 〇 〇
geometry / terrain / fog 〇 〇 〇 〇 〇
geometry / terrain / raycast 〇 〇 〇 〇 〇
geometry / text 〇 〇 〇 〇 〇
geometry / text / shapes 〇 〇 〇 〇 〇
gpgpu / birds 〇 〇 △ 〇 〇
gpgpu / water 〇 〇 〇 〇 〇
gpgpu / protoplanet 〇 〇 △ 〇 〇
gpu / particle / system 〇 〇 〇 〇 〇
hdr 〇 〇 〇 〇 〇
helpers 〇 〇 〇 〇 〇
interactive / buffergeometry 〇 〇 〇 〇 〇
interactive / cubes 〇 〇 〇 〇 〇
interactive / cubes / gpu 〇 〇 〇 〇 〇
interactive / instances / gpu 〇 〇 〇 〇 〇
interactive / cubes / ortho 〇 〇 〇 〇 〇
interactive / draggablecubes 〇 〇 〇 〇 〇
interactive / lines 〇 〇 〇 〇 〇
interactive / points 〇 〇 〇 〇 〇
interactive / raycasting / points 〇 〇 〇 〇 〇
interactive / voxelpainter 〇 〇 〇 〇 〇
kinect 〇 〇 × 〇 ×
lensflares 〇 〇 〇 〇 〇
lights / hemisphere 〇 〇 〇 〇 〇
lights / physical 〇 〇 〇 〇 〇
lights / pointlights 〇 〇 〇 〇 〇
lights / pointlights2 〇 〇 〇 〇 〇
lights / spotlight 〇 〇 〇 〇 〇
lights / spotlights 〇 〇 〇 〇 〇
lights / rectarealight 〇 〇 〇 〇 〇
lines / colors 〇 〇 〇 〇 〇
lines / cubes 〇 〇 〇 〇 〇
lines / dashed 〇 〇 〇 〇 〇
lines / sphere 〇 〇 〇 〇 〇
lines / splines 〇 〇 〇 〇 〇
loader / 3ds 〇 〇 〇 〇 〇
loader / 3mf 〇 〇 〇 〇 〇
loader / amf 〇 〇 × × 〇
loader / assimp 〇 〇 〇 〇 〇
loader / assimp2json 〇 〇 〇 〇 〇
loader / awd 〇 〇 〇 〇 〇
loader / babylon 〇 〇 〇 〇 〇
loader / bvh 〇 〇 〇 〇 〇
loader / collada 〇 〇 〇 〇 〇
loader / collada / kinematics 〇 〇 × 〇 〇
loader / collada / skinning 〇 〇 〇 〇 〇
loader / ctm 〇 〇 〇 〇 〇
loader / ctm / materials 〇 〇 〇 〇 〇
loader / draco 〇 〇 〇 〇 〇
loader / fbx 〇 〇 〇 〇 〇
loader / gcode 〇 〇 〇 〇 〇
loader / gltf 〇 〇 〇 〇 △
loader / imagebitmap 〇 〇 〇 〇 〇
loader / json / blender 〇 〇 〇 〇 〇
loader / json / claraio 〇 〇 〇 〇 〇
loader / json / objconverter 〇 〇 〇 〇 〇
loader / kmz 〇 〇 〇 〇 〇
loader / md2 〇 〇 〇 〇 〇
loader / md2 / control 〇 〇 〇 〇 〇
loader / mmd 〇 〇 〇 〇 〇
loader / mmd / pose 〇 〇 〇 〇 〇
loader / mmd / audio 〇 〇 × 〇 〇
loader / msgpack 〇 〇 〇 〇 〇
loader / obj 〇 〇 〇 〇 〇
loader / obj / mtl 〇 〇 〇 〇 〇
loader / obj2 〇 〇 〇 〇 〇
loader / obj2 / meshspray 〇 〇 〇 〇 〇
loader / obj2 / options 〇 〇 〇 〇 〇
loader / obj2 / run / director 〇 〇 〇 〇 〇
loader / nrrd 〇 〇 〇 〇 〇
loader / pcd 〇 〇 〇 〇 〇
loader / pdb 〇 〇 〇 〇 〇
loader / playcanvas 〇 〇 〇 〇 〇
loader / ply 〇 〇 〇 〇 〇
loader / prwm 〇 〇 〇 〇 〇
loader / sea3d 〇 〇 〇 〇 〇
loader / sea3d / hierarchy 〇 〇 〇 〇 〇
loader / sea3d / keyframe 〇 〇 〇 〇 〇
loader / sea3d / morph 〇 〇 〇 〇 〇
loader / sea3d / physics 〇 〇 〇 〇 〇
loader / sea3d / skinning 〇 〇 〇 〇 〇
loader / sea3d / sound 〇 〇 × 〇 ×
loader / stl 〇 〇 〇 〇 〇
loader / texture / exr 〇 〇 〇 〇 〇
loader / texture / hdr 〇 〇 〇 〇 〇
loader / texture / pvrtc × × × × 〇
loader / texture / tga 〇 〇 〇 〇 〇
loader / ttf 〇 〇 〇 〇 〇
loader / utf8 〇 〇 〇 〇 〇
loader / vrml 〇 〇 〇 〇 〇
loader / vtk 〇 〇 × 〇 〇
loader / x 〇 〇 〇 〇 〇
lod 〇 〇 〇 〇 〇
marchingcubes 〇 〇 〇 〇 〇
materials 〇 〇 〇 〇 〇
materials / blending 〇 〇 〇 〇 〇
materials / blending / custom 〇 〇 〇 〇 〇
materials / bumpmap 〇 〇 〇 〇 〇
materials / bumpmap / skin 〇 〇 〇 〇 〇
materials / cars 〇 〇 〇 〇 〇
materials / channels 〇 〇 〇 〇 〇
materials / compile 〇 〇 〇 〇 〇
materials / cubemap 〇 〇 〇 〇 〇
materials / cubemap / balls / reflection 〇 〇 〇 〇 〇
materials / cubemap / balls / refraction 〇 〇 〇 〇 〇
materials / cubemap / dynamic 〇 〇 〇 〇 〇
materials / cubemap / dynamic2 〇 〇 〇 〇 〇
materials / cubemap / refraction 〇 〇 〇 〇 〇
materials / displacementmap 〇 〇 〇 〇 〇
materials / envmaps 〇 〇 〇 〇 〇
materials / envmaps / hdr 〇 〇 〇 〇 〇
materials / grass 〇 〇 〇 〇 〇
materials / lightmap 〇 〇 〇 〇 〇
materials / nodes 〇 〇 〇 〇 〇
materials / normalmap 〇 〇 〇 〇 〇
materials / parallaxmap 〇 〇 〇 〇 〇
materials / reflectivity 〇 〇 〇 〇 〇
materials / shaders / fresnel 〇 〇 〇 〇 〇
materials / skin 〇 〇 〇 〇 〇
materials / standard 〇 〇 〇 〇 〇
materials / texture / anisotropy 〇 〇 〇 〇 〇
materials / texture / canvas 〇 〇 〇 〇 〇
materials / texture / compressed 〇 〇 〇 〇 〇
materials / texture / filters 〇 〇 〇 〇 〇
materials / texture / manualmipmap 〇 〇 〇 〇 〇
materials / texture / rotation 〇 〇 〇 〇 〇
materials / transparency 〇 〇 〇 〇 〇
materials / variations / basic 〇 〇 〇 〇 〇
materials / variations / lambert 〇 〇 〇 〇 〇
materials / variations / phong 〇 〇 〇 〇 〇
materials / variations / standard 〇 〇 〇 〇 〇
materials / variations / physical 〇 〇 〇 〇 〇
materials / variations / toon 〇 〇 〇 〇 〇
materials / video 〇 〇 × 〇 ×
materials / wireframe 〇 〇 〇 〇 〇
mirror 〇 〇 〇 〇 〇
mirror / nodes 〇 〇 〇 〇 〇
modifier / simplifier 〇 〇 〇 〇 〇
modifier / subdivision 〇 〇 〇 〇 〇
modifier / tessellation 〇 〇 〇 〇 〇
morphnormals 〇 〇 〇 〇 〇
morphtargets 〇 〇 〇 〇 〇
morphtargets / horse 〇 〇 〇 〇 〇
morphtargets / human 〇 〇 〇 〇 〇
morphtargets / sphere 〇 〇 〇 〇 〇
multiple / canvases / circle 〇 〇 〇 〇 〇
multiple / canvases / complex 〇 〇 〇 〇 〇
multiple / canvases / grid 〇 〇 〇 〇 〇
multiple / elements 〇 〇 〇 〇 〇
multiple / elements / text 〇 〇 〇 〇 〇
multiple / renderers 〇 〇 〇 〇 〇
multiple / views 〇 〇 〇 〇 〇
nearestneighbour 〇 〇 〇 〇 〇
objects / update 〇 〇 〇 〇 〇
octree 〇 〇 〇 〇 〇
octree / raycasting 〇 〇 〇 〇 〇
panorama / cube 〇 〇 〇 〇 〇
panorama / dualfisheye 〇 〇 〇 〇 〇
panorama / equirectangular 〇 〇 〇 〇 〇
performance 〇 〇 〇 〇 〇
performance / doublesided 〇 〇 〇 〇 〇
performance / static 〇 〇 〇 〇 〇
physics / cloth 〇 〇 〇 〇 〇
physics / convex / break 〇 〇 〇 〇 〇
physics / rope 〇 〇 〇 〇 〇
physics / terrain 〇 〇 〇 〇 〇
physics / volume 〇 〇 〇 〇 〇
points / billboards 〇 〇 〇 〇 〇
points / billboards / colors 〇 〇 〇 〇 〇
points / dynamic 〇 〇 〇 〇 〇
points / random 〇 〇 〇 〇 〇
points / sprites 〇 〇 〇 〇 〇
postprocessing 〇 〇 〇 〇 〇
postprocessing / advanced 〇 〇 〇 〇 〇
postprocessing / backgrounds 〇 〇 〇 〇 〇
postprocessing / crossfade 〇 〇 〇 〇 〇
postprocessing / dof 〇 〇 〇 〇 〇
postprocessing / dof2 〇 〇 〇 〇 〇
postprocessing / fxaa 〇 〇 〇 〇 〇
postprocessing / glitch 〇 〇 〇 〇 〇
postprocessing / godrays 〇 〇 〇 〇 〇
postprocessing / masking 〇 〇 〇 〇 〇
postprocessing / ssaa 〇 〇 〇 〇 〇
postprocessing / ssaa / unbiased 〇 〇 〇 〇 〇
postprocessing / nodes 〇 〇 〇 〇 〇
postprocessing / outline 〇 〇 〇 〇 〇
postprocessing / procedural 〇 〇 〇 〇 〇
postprocessing / sao 〇 〇 〇 〇 〇
postprocessing / smaa 〇 〇 〇 〇 〇
postprocessing / sobel 〇 〇 〇 〇 〇
postprocessing / ssao 〇 〇 〇 〇 〇
postprocessing / taa 〇 〇 〇 〇 〇
postprocessing / unreal / bloom 〇 〇 〇 〇 〇
raycast / texture 〇 〇 〇 〇 〇
read / float / buffer 〇 〇 〇 〇 ×
refraction 〇 〇 〇 〇 〇
rtt 〇 〇 〇 〇 〇
sandbox 〇 〇 〇 〇 〇
shader 〇 〇 〇 〇 〇
shader / lava 〇 〇 〇 〇 〇
shader2 〇 〇 〇 〇 〇
shaders / ocean 〇 〇 〇 〇 〇
shaders / ocean2 〇 〇 〇 〇 〇
shaders / sky 〇 〇 〇 〇 〇
shaders / tonemapping 〇 〇 〇 〇 〇
shaders / vector 〇 〇 〇 〇 〇
shading / physical 〇 〇 〇 〇 〇
shadowmap 〇 〇 〇 〇 〇
shadowmap / performance 〇 〇 〇 〇 〇
shadowmap / pointlight 〇 〇 〇 〇 〇
shadowmap / viewer 〇 〇 〇 〇 〇
shadowmesh 〇 〇 〇 〇 〇
skinning / simple 〇 〇 〇 〇 〇
sprites 〇 〇 〇 〇 〇
sprites / nodes 〇 〇 〇 〇 〇
terrain / dynamic 〇 〇 〇 〇 〇
test / memory 〇 〇 〇 〇 〇
test / memory2 〇 〇 〇 〇 〇
tonemapping 〇 〇 〇 〇 〇
trails 〇 〇 〇 〇 〇
video / panorama / equirectangular 〇 〇 × 〇 ×
water 〇 〇 〇 〇 〇
water / flowmap 〇 〇 〇 〇 〇
buffergeometry 〇 〇 〇 〇 〇
buffergeometry / constructed / from / geometry 〇 〇 〇 〇 〇
buffergeometry / custom / attributes / particles 〇 〇 〇 〇 〇
buffergeometry / drawcalls 〇 〇 〇 〇 〇
buffergeometry / instancing 〇 〇 〇 〇 〇
buffergeometry / instancing2 〇 〇 〇 〇 〇
buffergeometry / instancing / billboards 〇 〇 〇 〇 〇
buffergeometry / instancing / dynamic 〇 〇 〇 〇 〇
buffergeometry / instancing / interleaved / dynamic 〇 〇 〇 〇 〇
buffergeometry / lines 〇 〇 〇 〇 〇
buffergeometry / lines / indexed 〇 〇 〇 〇 〇
buffergeometry / points 〇 〇 〇 〇 〇
buffergeometry / points / interleaved 〇 〇 〇 〇 〇
buffergeometry / rawshader 〇 〇 〇 〇 〇
buffergeometry / selective / draw 〇 〇 〇 〇 〇
buffergeometry / uint 〇 〇 〇 〇 〇
custom / attributes 〇 〇 〇 〇 〇
custom / attributes / lines 〇 〇 〇 〇 〇
custom / attributes / points 〇 〇 〇 〇 〇
custom / attributes / points2 〇 〇 〇 〇 〇
custom / attributes / points3 〇 〇 〇 〇 〇
materials / modified 〇 〇 〇 〇 〇
raymarching / reflect 〇 〇 〇 〇 〇
shadowmap / pcss 〇 〇 〇 〇 〇
simple / gi 〇 〇 〇 〇 〇

※ 「○」は正常動作。「△」一部表示乱れあり。「×」表示されない又はエラー等が発生する。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?