Google、Chromeでも使われているCPUベースのOpenGL ES実装「SwiftShader」をオープンソース化

 Googleは6月29日、CPUベースのOpenGL ES実装「SwiftShader」をオープンソースで公開した。ハードウェアに依存しない高度な3Dグラフィックコンテンツの実現を目指す。

 SwiftShaderは2009年よりGoogle Chromeで採用されている技術で、GPUを使わず、CPUだけで利用できるOpenGL ES実装。ハードウェアアクセラレーションレンダリングを完全にサポートしていないシステム上で3Dレンダリングを可能にするもので、Chromeを初め、Android開発ツール、クラウドサービスなど複数の製品で利用しているという。

 WebGLなどの3Dコンテンツ技術はOpenGLをベースに作成されているため、ハードウェアが対応していないとコンテンツを実行できない。また、ドライバのバグによって3Dレンダリングが不安定となる場合もあるという。SwiftShaderはCPU上のグラフィックの計算を効率化する手法を用いており、動的なコード生成によりコードをランタイムの特定のタスク向けに調整できるという。これは、「Reactor」と呼ばれる動的なコード生成のためのC++向け組み込み言語が利用することで実現しているという。

 SwiftShaderではまた、CPUの利用可能なコアやベクターユニットを使用した並列処理もサポートしており、これによってリアルタイムレンダリングを可能にしているとのこと。

 GoogleはSwiftShaderをオープンソース化することで、ほかのブラウザが同技術を利用して3Dコンテンツをサポートするといったことにつながると期待を寄せている。SwiftShaderはプロジェクトのWebサイトより入手できる。

SwiftShader
https://swiftshader.googlesource.com/SwiftShader