たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

webGLとは

wise9 › WebGLとはなんなのか、ゲーム好きの大学生に説明してみる

webGL 1.0
WebGL is designed as a rendering context for the HTML Canvas element.
The HTML Canvas provides a destination for programmatic rendering in web pages, and allows for performing that rendering using different rendering APIs. The only such interface described as part of the Canvas specification is the 2D canvas rendering context, CanvasRenderingContext2D. This document describes another such interface, WebGLRenderingContext, which presents the WebGL API.

HTML Canvasが描写(rendering)領域であり、renderingするAPIは複数あり得る(設計になっている.)
しかしCanvasのspecificationではCanvasRenderingContext2Dのみが記述.
このspecificationは第2のAPIWebGLRenderingContextを定義する.

OpenGLとの関係

It is derived from OpenGL® ES 2.0, and provides similar rendering functionality, but in an HTML context.

OpenGL環境での利用を可能にするANGLE

OpenGLは低レベルな3DグラフィックスAPI.
関連する(直接の競合ではない)ものとしてDirectXがある.
Q. OpenGLではなくてDirectXに対応したマシン(一部のwindowsとか)ではOpenGLないけどwebGL動くのー?
A. 動きます. ANGLEと呼ばれる中間層を用意して、最終的にはDirectXが使われる.
プログラマサイドとしてはwebGLで書いて何の問題もないってこと.

コラムのところ.
html5experts.jp

www.infoq.com

ANGLEが無い時、DirectXドライバのインストールを要する点がwebGLの普及を妨げると考えたgoogleO3Dというplug-inを代替技術として提唱したりしてたみたい.
グーグルがO3Dの方針変換。WebGLに標準を統一し、O3DはJavaScriptライブラリへ - Publickey Smart Editionβ3
Chromium Blog: The future of O3D

shaderとは

説明しよう!シェーダーとはッ! - Master of None

openGLの扱う3Dモデル

サーフェイスモデルを扱う.
OpenGL勉強会用 資料のページ

openGL, openGL ESとの関係

2015/12/6現在の最新版:

OpenGL ESは組み込みシステム向けの軽量版.
WebGLOpenGL ES準拠のweb向けAPI.

計算機の対応状況

iPhone5: OpenGL ES 2まで link
Surface Pro 1: