3D Webグラフィックス

Webテクノロジーは私たちの日常生活にしっかりと組み込まれています。 私たちはWorld Wide Webにかなりの時間を費やしています。ニュースを見て、購入し、通信し、仕事をしています。 インターネット上のサービスとエンターテイメントの業界は急速に成長しており、主要なソフトウェア開発者は製品の3次元グラフィックスのサポートを改善しています。 従来、そのサポートは高性能コンピューターまたは専用ゲームコンソールに限定され、プログラミングには複雑なアルゴリズムの使用が必要でした。 ただし、パーソナルコンピューターの生産性の向上とブラウザー機能の拡張により、Webテクノロジーを使用して3次元グラフィックスを作成および表示することが可能になりました。



3次元グラフィックス(OpenGLやDirect3Dなど)を操作する他の技術とは異なり、WebGLはWebページで使用するように設計されており、特別な拡張機能やライブラリをインストールする必要はありません。 WebGLの利点の1つは、アプリケーションがWebページとして設計されていることです。つまり、同じプログラムがさまざまなデバイス(スマートフォン、タブレット、ゲームコンソールなど)で正常に実行されます。 これは、WebGLが開発者コミュニティにますます影響を与え、主要なグラフィックプログラミングツールの1つになることを意味します。



画像






WebGLの利点



HTMLの開発により、開発者にはますます複雑なWebアプリケーションを作成する機会が与えられています。 開発の夜明けに、HTML言語は静的コンテンツを表示する機能のみを提供しましたが、JavaScriptサポートの追加により、要素のより複雑な相互作用を実装し、動的コンテンツを表示することが可能になりました。 HTML5標準の実装により、canvasタグ形式の2次元グラフィックスのサポートなど、新しい機能を使用できるようになりました。 WebGLテクノロジーの作成により、JavaScriptを使用してWebページに3次元グラフィックスを表示および操作できるようになりました。 開発者はWebGLを使用して、まったく新しいユーザーインターフェイス、3次元ゲームを作成し、3次元グラフィックスを使用してさまざまな情報を視覚化できます。 その優れた機能にもかかわらず、WebGLはアクセシビリティと使いやすさの点で他のテクノロジーとは異なり、迅速な普及に貢献しています。



ブラウザのサポート



WebGLは現在、次のブラウザーでサポートされています。



デスクトップブラウザ





モバイルブラウザとプラットフォーム





WebGLを使用する利点:





創造の歴史



パーソナルコンピューターでコンピューターグラフィックスを表示するための最も一般的なテクノロジは、Direct3DとOpenGLです。



Direct3Dは、Microsoft DirectXテクノロジースイートの一部です。



代替のOpenGLテクノロジーは、そのオープン性により、はるかに広く普及しています。 OpenGLの実装は、さまざまなオペレーティングシステムとハードウェアプラットフォームで利用できます。 OpenGL仕様は、Silicon Graphics Incによって開発されました。 1992年にオープンスタンダードとして公開されました。 テクノロジーは、3次元グラフィックスの開発に大きな影響を与えました。



WebGLはOpenGLに根ざしていますが、直接の子孫と呼ぶことはできません。 WebGLの直接プロトタイプは、OpenGL ES(Embedded Systems for Embedded Systems)と見なされ、2003-2004年に作成され、2007(ES 2.0)および2012(ES 3.0)に更新されました。 OpenGL 2.0への移行は、新しい重要な機能-ソフトウェアシェーダーのサポート-の登場によって特徴付けられました。 このサポートはOpenGL ES 2.0に移植され、WebGL 1.0仕様の中核要素の1つになりました。



2009年初頭、クロノスグループコンソーシアム(さまざまなオープンスタンダードの開発、公開、および促進のために設立された非営利の産業コンソーシアム)は、WebGLワーキンググループを設立し、OpenGL ES 2.0に基づくWebGL標準化プロセスを開始しました。 2011年、彼の支援の下、WebGLの最初のバージョンがリリースされました。 ただし、その年の6月に、MicrosoftはWebGLテクノロジのセキュリティについて懸念を表明し、機器への過剰なアクセス権と信頼性の低い保護メカニズムを挙げました。 Mozillaの副社長Mark Schaverは、Microsoftへの批判を拒否し、恐れを誇張していると呼びました。 当時、MicrosoftはWebGLと同じ原則に基づいた独自の3D Silverlight 5 Webテクノロジーを備えていましたが、WebGLは非常に信頼性が高いと考えていました。 マイクロソフトは後にInternet Explorer 11ブラウザーでWebGLのサポートを実装することにより、WebGLテクノロジーに対する態度を変え、Appleは2014 WWDCカンファレンスでSafariでWebGLをサポートすることにしました。



WebGL開発フレームワークの概要



WebGLテクノロジーは低レベルAPIを使用します。この側面により、ブラウザー開発者による製品へのテクノロジーの導入が容易になりますが、インターフェースの作成にかなりの困難が生じます。 ウェブサイト開発者の作業を簡素化するライブラリ、フレームワーク、サードパーティソフトウェアツールの開発に多くの時間と労力が費やされました。



WebGLUライブラリ



最初のパブリックライブラリは、WebGLアプリケーションを開発するための低レベルおよび高レベルのユーティリティセットであるWebGLUでした。 WebGLUは、開発者が最小限の手間とコードで最終結果に集中できるように設計されていますが、ライブラリは、より多くの制御を必要とする開発者を制限しません。 これは、低レベル関数を使用してWebGL APIを操作できる可能性があるために実現されています。



機能の不完全なリスト:





GLGEライブラリ



WebGLを使用してアプリケーションを開発するための有名なライブラリ。 ライブラリは、シーンの動的な変化により重点を置いています。 ただし、リポジトリの最新の変更は2014年のものであるため、今日のライブラリの関連性を疑う理由があります。



機能の不完全なリスト:





3つのJSライブラリ



これまでで最も人気があり、活発に開発されているライブラリ。 詳細でアクセス可能なドキュメントと膨大な数の実例により、このライブラリは同様のシステムのリーダーの1つとなっています。



機能の不完全なリスト:





バビロンJSライブラリ



サードパーティのプラグインと拡張機能を使用せずに、Webブラウザで実行される本格的な3Dアプリケーションとゲームを作成するためのオープンソースライブラリ。 Babylon JSの機能はThreeJSに近いですが、Three JSではすぐに使用できないビルトイン機能がいくつかあります。 このような優れた機能には、組み込みの物理エンジンoimo.jsが含まれています。これは、高さマップを使用して現実的な風景を作成するかなり簡単な方法です。 もちろん、3つのjsにもこのような機能がありますが、さまざまな追加アプリケーションを使用して実装されます。 ただし、ライブラリの機能については、800 kbの控えめな重みを支払う必要があります。



機能リスト:





ユーザーの日々の活動にコンピューターグラフィックスがますます積極的に導入されるため、開発者は新しい視野を身につける必要があります。 もちろん、さまざまなタスクには、アプリケーションの実装に対する個別のアプローチが必要です。 この記事で紹介するライブラリは、氷山の一角にすぎません。



各開発者は、特定のニーズに合わせてライブラリを選択できます-誰かが骨格アニメーションを必要とし、誰かが現実的な光や物理学を必要とし、誰かが最も純粋なWebGL API以外は何も認識せず、メモ帳にシェーダーを書き込む真正統派の専門家です。 ただし、3次元グラフィックスの機能を積極的に使用する、高品質で軽量で生産性の高いWebアプリケーションを作成したいという願望により、誰もが団結しています。



All Articles