3Dライブラリ

出典: フリー百科事典『ウィキペディア(Wikipedia)』

出典: フリー百科事典『ウィキペディア(Wikipedia)』

3Dライブラリは、3DCGソフトウェアや3D CAD、ゲームエンジンなどの3D関連プログラムに良く用いられているソフトウェアライブラリである。ここでは、テクスチャなどの3Dに付随する2Dライブラリについても解説する。

目次

3Dグラフィクスライブラリ[編集]

3Dグラフィクスライブラリは、3Dを表示するために必要なライブラリである。OS及びカーネルドライバを通してGPUレンダリングを行う時だけでなく、GPUを使わずにソフトウェアレンダリングする時にも使われる。

ラスタライズベース[編集]

  • Windows SDK - Direct3D APIに対応するWindows用の開発キット。昔はDirectX部分がDirectX SDKとして分離されていた。
  • macOS SDK - OpenGL、Metal APIに対応するmacOS用の開発キット。
  • Mesa 3D - OpenGL APIに対応するライブラリ集及びツール。Unix系OSで良く使われている。Intelの開発した高速なソフトウェアレンダラー (swr、旧OpenSWR) も含んでいる。

補助ライブラリ[編集]

グローバルイルミネーション(GI) ライブラリ[編集]

Enlighten (シリコンスタジオ[1]←ARM[2]Geomerics英語版)
リアルタイムGIミドルウェア。Unityに標準搭載されているほか、Unreal Engine用のものが提供されている。
NVIDIA VXGI (NVidia)
リアルタイムGIミドルウェア。ボクセルコーントレーシングを実装している。iClone 7以降に搭載されているほか、Unreal EngineのVXGI統合ブランチが公開されている。
Beast (Autodesk ← Illuminate Labs)
リアルタイムGIミドルウェア。Autodesk Stingrayに標準搭載されていた。販売終了[3]

環境遮蔽(AO) ライブラリ[編集]

なお、DirectX 10.1のSDKには、AMDの開発したHDAO (高解像度環境遮蔽) のサンプルが付属していた[4]

  • NVIDA ShadowWorks - 「HBAO+」(水平ベース環境遮蔽) を実装している[5]
  • NVIDIA VXAO - 「VXAO」(ボクセル構造を用いた環境遮蔽)を実装している。NVIDIA VXGIの一部[6]
  • Adaptive Screen Space Ambient Occlusion - Intelが開発している。DirectX 11対応。オープンソース。実装の詳細は書籍「GPU Zen」に記載されている[7]

遮蔽カリングライブラリ[編集]

Umbra (Umbra←Hybrid Graphics)
遮蔽カリングに特化したミドルウェア。旧dPVS。Unity及びUnreal Engineに対応している。

レイトレーシングベース[編集]

レイトレーシングコアライブラリ[編集]

レイトレーシングの交差判定に特化したライブラリ。標準APIには、Khronos GroupのOpenRL、DirectX 12以降のDirectX Raytracing (DXR)、Vulkan拡張のVK_NV_raytracing、Metal 2のMetal Performance Shaders (MPS)のray intersector[8]などがある。

  • Embree - Intelが開発を支援している。オープンソース。Apacheライセンス。
  • Radeon Rays (旧AMD FireRays) - AMDが開発を支援している。オープンソース。MITライセンス。
  • NVIDIA OptiX - NVIDIAのGPU用。OptiX APIとOptiX Prime APIがある。6.0でRTXに対応した。
  • PowerVR OpenRL SDK - PowerVR用のOpenRL実装。

レイトレーシングレンダリングライブラリ[編集]

レイトレーシングコアライブラリ等を使ってレイトレーシングレンダリングを行うためのライブラリ。

  • OSPRay - Intelが開発を支援している。オープンソース。Apacheライセンス。
  • Radeon ProRender SDK (旧FireRender SDK) - AMDが開発を支援している。オープンソース化予定。
  • NVIDIA Iray SDK
  • PowerVR Brazil SDK
  • REDsdk

ノイズ除去ライブラリ[編集]

モンテカルロ・レイトレーシング向け[編集]

  • Bayesian Collaborative Denoiser (BCD) - 非局所ベイジアンフィルタベース。BSDライセンス。appleseed 1.9以降[9]やLuxCoreRender 2.1以降[10]に使われている。
  • Altus SDK - InnoBright製。AltusはMaxwell Renderなどに搭載されている[11]
  • NVIDIA OptiX AI-accelerated denoiser - NVIDIA OptiX 5.0以降に含まれている。機械学習ベース。
  • Intel Open Image Denoise - 機械学習ベースであり、Intel MKL-DNNライブラリを使用している。オープンソース。Apache License 2.0。

ポストエフェクトライブラリ[編集]

  • NVIDIA PostWorks - 時間的アンチエイリアシングのNVIDIA TXAA及び被写界深度エフェクトが含まれている。DirectX 11向け。
  • YEBIS (シリコンスタジオ) - ポストエフェクトミドルウェア。Substance Designer/Painterなどで使われている。

フレームワークライブラリ[編集]

フレームワークには低レイヤーなものと、シーングラフベースのものがある。

低レイヤー[編集]

DirectX
Windows用のゲーム及びマルチメディア向けAPI集。グラフィクス用のDirect2D及びDirect3D、入力用のXInput (DirectInputの後継)、3Dサウンド用のX3DAudio (DirectSound3Dの後継)などのコンポーネントを含んでいる。
シーングラフには非対応。3Dモデル用の.x形式やエフェクト用のDirectX effect形式 (*.fx)などは存在したが、現在それらは非推奨となっている。

シーングラフベース[編集]

SceneKit英語版
AppleのmacOSやiOSに搭載されているシーングラフベースの3Dライブラリ。言語はObjective-C。
Qt 3D
Qtに含まれる3Dライブラリ。オープンソース。シーングラフはXMLベースのQML形式。
Open Inventor
OpenGL向けのシーングラフを中心としたライブラリ。オープンソース。
OpenSceneGraph
OpenGL向けのシーングラフを中心としたライブラリ。オープンソース。
シーングラフはOpenSceneGraph形式 (*.osg、*.osgb、.osgt、.osgx)。
Java 3D
Java環境向けのシーングラフを中心としたAPI。
Universal Scene Description
Pixarの開発するシーングラフを中心としたライブラリ。オープンソース。
シーングラフはUniversal Scene Description形式 (.usd、.usda、.usdc、.usdz)。

Web向けフレームワークライブラリ[編集]

現在では汎用ゲームエンジンもWebGLに対応してきている (Unity、Unreal Engine 4、OGREなど)。物理演算ライブラリについては、3Dライブラリ#WebGL用物理演算ライブラリを参照。

3Dモデル形式については、クロノス・グループで標準化されているglTF形式が一般的となっている。

Web用フレームワーク ライセンス シーングラフ形式 モデル形式 PBS テクスチャ形式 物理エンジン WebVR (HMD) 対応
glTF OBJ FBX その他 Basis KTX DDS その他
three.js MITライセンス JSON Object Scene format等 Yes Yes Yes PLY、Collada、STL、VRML、.babylon形式[12]、PlayCanvas形式、PMD/PMX等 Yes[13] Yes Yes[14] Yes[14] OpenEXR[14]PVRTC英語版[14]、RGBM[14]TGA[14]PNG[14]GIF[14]JPEG[14] ammo.js Yes
Babylon.js Apache License 2.0 .babylon形式(JSONベース[15]) Yes Yes Yes 2.3.0以降 Yes Yes[16] Yes[16] TGA[16] Cannon.js、Oimo.js、Energy.js、ammo.js[17] Yes
PlayCanvas Engine MITライセンス JSONベース Yes[w 1] Yes No PlayCanvas JSON Model Yes No Yes Yes ammo.js Yes
xeogl MITライセンス JSONベース Yes Yes No SceneJS、3DS Yes No No No ? Yes
OSG.JS MITライセンス osgjs形式 Yes[w 2] No No Yes[18] No No No No Yes
  1. ^ playcanvas-gltfリポジトリ
  2. ^ ReaderWriterGLTFプラグイン

PBRシェーダー対応[編集]

three.js
WebGLだけでなく、CanvasやSVG、CSS3によるレンダリングにも対応している3Dエンジン。ブラウザベースのエディタのThree.js Editorも存在する。
Babylon.js
マイクロソフトの開発者を中心として開発されているWebGL向け3Dエンジン。ブラウザベースのエディタのBabylon.js Editorも存在する。3ds Max、Blender、Cheetah3D、Unity用のエクスポータープラグインも提供している。座標系に左手系を採用している。
PlayCanvas Engine (PLAYCANVAS)
Mozilla Foundationと提携するPLAYCANVASによって開発されたWeb向けゲームエンジン。オープンソース。ブラウザベースのエディタとしてPlayCanvas Editorがある。
xeogl (Lindsay Kay)
旧xeoEngine。SceneJSの後継。階層構造のSceneJSと異なり、xeoglは構成要素のグラフ構造となっている[19]。3D可視化向けであり、BIMデータ可視化のBIM Surferで使われている。
OSG.JS
OpenSceneGraph類似のWebGL向けフレームワーク。 OpenSceneGraph形式を取り込むには、OpenSceneGraph osgjs pluginによる変換が必要。
luma.gl (Uber Technologies)
データ可視化向けWebGLフレームワークの一つ。PhiloGLの後継。ライセンスはMITライセンス。

PBRシェーダー未対応[編集]

Away3D TypeScript
WebGL向け3Dエンジン。Apache License 2.0。Away3Dは元々、Flash用3DライブラリであるPapervision3D (PV3D)の派生として開発されたため、Flash版も存在する。

ジオメトリ操作[編集]

これらライブラリは、ジオメトリの操作に使われている。

ジオメトリ形状モデリングカーネル[編集]

ジオメトリ形状モデリングカーネルは、NURBS等の複雑なプリミティブを表現するために使われるライブラリであり、特に3D CADで重要となる。

ジオメトリ処理ライブラリ[編集]

  • CGAL - ジオメトリ処理ライブラリ。3Dブーリアンにも対応している。オープンソース。GPLライセンス (一部LGPLライセンス)。
  • libigl - ジオメトリ処理ライブラリ。3Dブーリアンにも対応している。オープンソース。MPLライセンス (一部GPLライセンス)。
  • DirectXMesh (Microsoft) - ジオメトリ処理ライブラリ。オープンソース。MITライセンス。D3DXの後継ライブラリの一つ。

3Dブーリアンライブラリ[編集]

  • Carve - BlenderやMayaに使われている3Dブーリアンライブラリ[20][21]。オープンソース。MITライセンス[22]
  • Cork Boolean Library - 3Dブーリアンライブラリの一つ。オープンソース。LGPLライセンス。

再分割/テッセレーションライブラリ[編集]

  • OpenSubdiv - Pixarの支援する再分割ライブラリ。オープンソース。Apacheライセンス。

ファイル入出力ライブラリ[編集]

これらのライブラリは、異なる3Dソフトウェア間でファイルをやり取りする時などに使われている。

シーン形式[編集]

  • FBX SDK - Autodesk製品を始め、多くの3DCGソフトウェアで使われているFBX形式 (*.fbx) 用の公式ライブラリ。Autodesk製。
  • OpenCOLLADA - 多くの3DCGソフトウェアで使われているCOLLADA形式 (*.dae) 用の公式ライブラリ。オープンソース。MITライセンス。
  • COLLADA DOM - COLLADA形式 (*.dae) 用のライブラリ。Sony Computer Entertainment製。オープンソース。MITライセンス。
  • FCollada - COLLADA形式 (*.dae) 用のライブラリ。Feeling Software製。ディスコン。

3Dモデル形式[編集]

  • Crosswalk SDK - Softimageや一部のゲームエンジンで使われていたdotXSI形式 (*.xsi) 用の公式ライブラリ。Autodesk製。ディスコン。
  • lib3ds - 古い3ds Maxで使われていた3ds形式 (*.3ds)用のライブラリ。オープンソース。LGPLライセンス。
  • tinyobjloader - 多くの3DCGソフトウェアで使われているobj形式 (*.obj)及びmtl形式 (*.mtl) 用のライブラリ。オープンソース。MITライセンス。
  • assimp - 様々な3Dモデル形式に対応するライブラリ。オープンソース。BSDライセンス。
  • Houdini Engine - Houdiniで使われているHoudini Digital Asset形式 (*.otl、*.hda)用のインポートライブラリ。

3Dモデル圧縮[編集]

  • OpenCTM - zlibライセンス。LZMA圧縮を使用している。形式はOpenCTM形式 (*.ctm)。
  • Open3DGC - MITライセンス。MPEG-SC3DMCコーデックの実装の一つ。glTF形式で使えるようになる予定だった[23]が、Dracoに置き換えられた。
  • Draco (Google) - Apache License 2.0。glTF形式で使うことができる (KHR_draco_mesh_compression)。

マテリアル形式[編集]

  • Substance Engine - Substance Designerで使われているマテリアル形式 (*.sbs、*.sbsar)用のインポートライブラリ。

3D CAD形式[編集]

  • openNURBS SDK - Rhinocerosやその他の3D CADソフトウェアで使われているopenNURBS形式 (*.3dm)用の公式ライブラリ。Robert McNeel & Associates製。オープンソース。
  • IfcOpenShell - 3D CADソフトウェアで使われている Industry Foundation Classes形式 (*.ifc)用のライブラリ。オープンソース。LGPLライセンス。

パーティクル形式[編集]

  • Partio - 様々なパーティクル形式に対応するライブラリ。オープンソース。BSDライセンス。

キャッシュ形式[編集]

  • Alembic library - Alembic形式 (*.abc)用のライブラリ。オープンソース。BSDライセンス。Sony Pictures Imageworks及びILMが共同で開発した。

マルチパス画像[編集]

  • OpenEXR - 3DCG向けの画像形式であるOpenEXR形式 (*.exr)用のライブラリ。OpenEXR形式は、浮動小数点数で表された色だけでなく、後処理に必要な深度パス、オブジェクトIDなどの付随情報を含めることが出来る。

テクスチャ形式[編集]

  • Ptex - Ptex形式 (*.ptx) 用のライブラリ。Walt Disney Studiosが開発を支援している。オープンソース。BSDライセンス。

シェーダーおよびマテリアルライブラリ[編集]

  • liboslc/liboslquery/liboslexec - OSL (Open Shading Language) シェーダー用のライブラリ。オープンソース。ライセンスはBSDライセンス。
  • NVIDIA MDL SDK - MDL (Material Definition Language) マテリアル定義用のライブラリ。2018.1でオープンソース化された。BSDライセンス。MDLは一つの記述でリアルタイムとパストレーシングレンダリングの両方に対応する。
  • MaterialX - オープンソースのマテリアル交換用ライブラリ。当初ILMが開発した。2017年現在、Autodeskにより、MaterialX形式からGLSLシェーダーやOSLシェーダーを生成するためのShaderXが開発中となっている[24]

ボリュームライブラリ[編集]

  • OpenVDB - OpenVDB形式 (*.vdb)の入出力及び操作に対応するライブラリ。オープンソース。
  • Field3d - Field3d形式 (*.f3d)の入出力に対応するライブラリ。オープンソース。
  • NVIDIA GVDB Voxels - GPU向けの疎ボクセルライブラリ。オープンソース[25]
  • OpenVKL - Intel製のボクセルレンダリングライブラリ[26]。2019年公開予定。

物理演算ライブラリ[編集]

Open Dynamics Engine
略称ODE。オープンソース。LGPL及びBSDのデュアルライセンス。SoftimageやHoudiniなどが対応していた。現在HoudiniはODEを非推奨としている[27]
Bullet Physics
オープンソースの物理エンジン。安定版の2系と、開発版でGPUパイプラインに対応した3系がある。多くの3DCGソフトウェアやプラグインが採用している。
Havok Physics (Microsoft←Intel←Havok)
物理エンジン。3ds Max及びMaya用のプラグインがある。
MBDyn
オープンソースの多体動力学解析ソフトウェア。MBDynをバックエンドに用いたBlender用アドオンとして、BlenderAndMBDynが存在する。
MantaFlow
流体シミュレーションライブラリ。FLIP法に対応している。ライセンスはGPL。古い流体シミュレーションライブラリであるEl'beemの開発者Nils Thuerey[28]が、MantaFlowの開発に参加している[29] (なお、El'beemはBlenderが採用している[28])。
Wavelet Turbulence
気体流体用のハイレゾディテール化ライブラリ。GPLライセンス。Blenderが使用している。
PhysBAM
マルチフィジクスシミュレーションライブラリ。
GameWorks PhysX (Nvidia←AGEIA)
マルチ物理エンジン。GPUによる剛体演算に対応している (PhysX-GRB)。3ds Max、Maya、Softimageの物理演算のバックエンドに使われているほか、3ds Max及びMaya用のDCCプラグインが存在する。
PhysX SDKの他にAPEX SDKを含んでいたが、PhysX Destruction/Clothing/Particlesは非推奨となった[30]
NVIDIA FleX (NVIDIA)
PBD(位置ベース物理シミュレーション)によるパーティクルベースのマルチ物理ライブラリ。
NVIDIA Flow (NVIDIA)
グリッドベースの流体シミュレーションライブラリ。
NVIDIA Blast (NVIDIA)
破壊シミュレーションライブラリ。
NVIDIA Cloth (NVIDIA)
クロスシミュレーションライブラリ。

海洋シミュレーション[編集]

NVIDIA WaveWorks (NDIVIA)

WebGL用物理演算ライブラリ[編集]

Ammo.js
BulletをEmscriptenでJavascriptに変換したもの。zlibライセンス。PlayCanvas Engineやthree.jsやBabylon.jsがAmmo.jsとの連携に対応している。
Oimo.js
OimoPhysicsをJavascriptに移植したもの。MITライセンス。Babylon.jsがOimo.jsとの連携に対応している[31]
Cannon.js
Javascriptで書かれた物理エンジン。MITライセンス。three.jsとammo.jsの影響を受けている[32]。Babylon.jsがCannon.jsとの連携に対応している[31]
Energy.js
Babylon.jsがEnergy.jsとの連携に対応している[31]
uranium.js
BulletをEmscriptenでJavascriptに変換したもの[33]。Blender4Webで使われている[33]

ヘア及びファーミドルウェア[編集]

NVIDIA HairWorks (NVIDIA)
ゲーム向けミドルウェア。3ds Max及びMaya用のNVIDIA HairWorks Pluginsが用意されている。
AMD TressFX英語版 (AMD)
ゲーム向けミドルウェア。オープンソース。MITライセンス。Maya用のエクスポートプラグインが提供されている[34]

AIライブラリ[編集]

Havok AI
Havokに含まれるNavigation Meshライブラリ。
Recast & Detour
オープンソースのNavigation Meshライブラリ。ZLibライセンス。Blenderが使用している。これを使ったミドルウェアとして、Unity用のRecastUnityが存在する。
NavPower (BabelFlux)
Navigation Meshライブラリ。
PathEngine SDK (PathEngine英語版)
Navigation Meshライブラリ。
Autodesk Navigation (Autodesk ← Kynogon)
Autodesk Gamewareの一つ。Navigation Meshミドルウェア。旧Kynapse。Autodesk Stingrayに標準搭載されている。販売終了[3]

UIライブラリ[編集]

3D UI対応のUIライブラリ[編集]

3D UIはUI部品などに深度を持つことができる。3D UIは特にVRで重要となる。

uGUI (Unity Technologies)
Unityに使われているUIライブラリ。オープンソース。MITライセンス。

2D UIのみ対応のUIライブラリ[編集]

DirectXやOpenGLなどの3Dパイプラインに対応する2D UI向けライブラリ。一部ライブラリは、RTT (Render to Texture)により、2D UIを3D空間へ投影することも可能となっている。

CEGUI
DirectX、OpenGLの他、オープンソースゲームエンジンのOgre3D、Irrlicht Engineに対応している[35]。オープンソース。MITライセンス。GUIエディターとしてCEEDがある。
MyGUI
Ogre3Dに対応するUIライブラリ。オープンソース。MITライセンス。
ImGui
DirectX、OpenGL、Vulkan等に対応している。オープンソース。MITライセンス。
AntTweakBar
DirectX及びOpenGL用。オープンソース。zlib/libpngライセンス。マルチメディアライブラリのCinderがAntTweakBarを採用している[36]
dat.GUI
Javascript用。オープンソース。Apacheライセンス。three.jsにも付属されている。Googleの従業員により開発された[37]

Adobe FlashベースのUIライブラリ[編集]

これらのミドルウェアに向けてUIを作成するためには、Adobe Animate (旧Adobe Flash Professional)が必要となる。

Autodesk Scaleform (Autodesk ← Scaleform)
Autodesk Gamewareの一つ。旧Scaleform GFx英語版。FlashコンテンツをゲームUIとして使うことができるミドルウェア。CRYENGINEやAutodesk Stingrayで使われている。Unreal Engine 3やProject Anarchyにも含まれていたほか、Unity 4版もあった[38]
簡易UI構築ツールのScaleform CLIKが含まれている。また、メニュー画面向けのMenu Kit、HUD表示向けのHUD Kit、MMOゲーム向けのMMO Kitも含まれている。また、StingrayにはUI構築用のScaleform Studioが含まれている。
販売終了[3]
IGGY (Rad Game Tools)
FlashコンテンツをゲームUIとして使うことができるミドルウェア。
LWF (GREE)
FlashコンテンツをゲームUIとして使うことができるミドルウェア。オープンソース。zlibライセンス。Unity用アセットのLWF for Unityや、HTML5用のLWF Loaderなどもある。

3Dスキャン/トラッキングライブラリ[編集]

  • libmv - オープンソースのSfMライブラリであり、BlenderやNatronのトラッカーに利用されている[39]。OpenCV 3.1以降にも、libmvを基にしたopencv_sfmが搭載されている[40]
  • Kinect for Windows SDK
  • OpenCV - Structured Light APIを持っている。

モデル最適化ライブラリ[編集]

  • meshoptimizer
  • AMD Tootle (AMD)

ポリゴンリダクション[編集]

  • Polygon Cruncher SDK
  • Simplygon SDK
  • Vizup SDK

VR/AR/MRライブラリ[編集]

HMDデバイスのレイテンシ問題などを解決するためのミドルウェア[41]。なお、2017年現在、Khronos Groupで標準APIのOpenXRが検討されている。

GPUベンダー製[編集]

VRWorks SDK (NVIDIA)
NVIDIAのGPU用。旧GameWorks VR←VR Direct[41]。HMD向けミドルウェア。Unreal Engine 4[42]に搭載されている。今後、Unityにも搭載される予定[43]
音線法による立体音響にも対応している (VRWorks Audio)[44]。バックエンドにはOptiXを使用している[44]
AMD LiquidVR (AMD)
AMDのGPU用。今後、Unityに搭載される予定[45]
Mali VR SDK (ARM)
ARMのGPU用。
Snapdragon VR SDK (Qualcomm)
QualcommのSoC用。

プラットフォーム製[編集]

Windowsでは、Windows 10 SDKにMR向け機能が統合されている[46]。また、iOSでは、iOS 11 SDK以降にAR向け機能 (ARKit) が統合されている。

Google VR SDK (Google)
Androidスマートフォンはめ込み式のヘッドセット (Cardboard、Google Daydream) 向け。旧Google Cardboard SDK。Unity及びUnreal Engineが対応している。
Google ARCore SDK (Google)
AR向け。Unity及びUnreal Engineに対応している。
OpenVR/SteamVR英語版 (Valve Corporation)
Steam向け。HTC Vive及びOculus Riftに対応。OpenVRはHTC Vive SteamVR SDKとしても知られている[47]。OpenVRはオープンソースだが、バックエンドのSteamVRランタイムは非オープンソース。Unity版はSteamVR Plugin。Unreal Engine 4.8以降でも採用されている。
MixedRealityToolkit (Microsoft)
略称MRTK。旧HoloToolkit。Windows Mixed Reality (旧Windows Holographic)向けのライブラリ集。Unity向けのMixedRealityToolkit for Unityも存在する。実装サンプルとして、Mixed Reality Academy (旧HolographicAcademy)が存在する。

HMDメーカー製[編集]

Oculus SDK (Facebook←Oculus VR)
Oculus Rift向け。Unity用のOculus Utilities及びUnreal Engine 4用のUnreal Engine 4 Integrationがある。Gear VR用のOculus Mobile SDKも存在する。

オープンソース[編集]

OpenHMD
Oculus Rift、HTC Vive及びPSVRに対応 (一部は回転のみ)。オープンソース。Timewarp未対応。
OSVR (OSVR Organization)
OSVR HDKを始め、様々な機器に対応するためのVRフレームワーク。Unity用のOSVR-Unity-Rendering及びUnreal Engine 4用のOSVR-Unrealが存在する。OSVR-Coreはオープンソースだが、バックエンドプラグインには非オープンソースを含む (Oculus SDKを使用するOSVR-Oculus-Rift、OpenVR/SteamVRを使用するOSVR-Viveなど)。サードパーティー製のバックエンドも存在し、その中には完全オープンソースのOSVR-OpenHMD[48]やOSVR-Vive-Libre (OpenHMD派生)[49][50]も存在する。
OpenVR/SteamVR対応ソフトウェアからOSVRを使うためのSteamVR-OSVRも存在する。
Vrui VR Toolkit
HMDだけでなく、ビデオウォールやCAVEにも対応している。オープンソース。GPLライセンス。

入力装置向けライブラリ[編集]

Leap Motion Developer SDK

クラスタレンダリング向けライブラリ[編集]

CAVEやビデオウォールで使われるクラスタレンダリング向けライブラリ。

Equalizer (Eyescale Software)
CAVE対応アプリケーションを作成するためのミドルウェアであり、マルチGPUやコンピュータ・クラスターでの実行に対応する。Equalizerを使ったサンプル実装として、eqPlyやosgScaleViewerが提供されている。オープンソース。

3Dオーディオライブラリ[編集]

VRの普及に伴い、よりリアルなリアルタイムの3Dオーディオは重要となっている[51]

TrueAudio Next (AMD)
略称TAN。Radeon Raysベース。MITライセンス[52]
VRWorks Audio (NVIDIA)
OptiXベース。Unreal Engine用プラグインがある。
Steam Audio (Valve Corporation←Impulsonic[53])
Unity及びUnreal Engine 4用プラグインがある。無料。

遮蔽未対応[編集]

OpenAL
古くから存在する3DオーディオAPI。複数の実装が存在する。
OpenSL ES英語版
Khronos Groupによる標準オーディオAPIであり、3Dオーディオについても規定されている。複数の実装が存在する。AndroidはOpenSL ESに対応しているものの、3Dオーディオに対応するかはデバイスに依る[54][55]
Oculus Audio SDK (FacebookOculus VR英語版)
VR向け3Dオーディオライブラリ。遮蔽やドップラー効果に未対応[56]

カラーマネージメントライブラリ[編集]

  • OpenColorIO

脚注[編集]

  1. ^ Silicon Studio acquires Enlighten tech from Geomerics GamesIndustry.biz 2017年6月15日
  2. ^ ARM swallows graphics software biz Geomerics to tart-up mobile games The Register 2013年12月13日
  3. ^ a b c Autodesk game middleware products are no longer available for purchase Autodesk 2017年
  4. ^ HDAO10.1 サンプル Microsoft
  5. ^ NVIDIA ShadowWorks NVIDIA
  6. ^ NVIDIA VXAO NVIDIA
  7. ^ Adaptive Screen Space Ambient Occlusion Intel 2017年2月13日
  8. ^ Metal for Accelerating Ray Tracing Apple
  9. ^ Appleseed team releases appleseed 1.9 CG Channel 2018年5月14日
  10. ^ LuxRender reborn as LuxCoreRender 2.0 CG Channel 2018年5月14日
  11. ^ Maxwell Render 4.1 brings Altus denoiser CGPress 2017年6月8日
  12. ^ three.js - documentation - Reference - BabylonLoader three.js
  13. ^ MeshStandardMaterial Three.js team
  14. ^ a b c d e f g h i 『Learn Three.js: Programming 3D animations and visualizations for the web with HTML5 and WebGL, 3rd Edition』 P.408 Jos Dirksen 2018年 ISBN 978-1788833288
  15. ^ FileFormat Map (.babylon) Babylon.js team
  16. ^ a b c WHAT'S NEW? Babylon.js team
  17. ^ Babylon.js Physics Engine - Basic Usage Babylon.js team
  18. ^ OSG.JS SDK EXAMPLES OSG.JS
  19. ^ SceneJS and Applications (Plus a sneak peek at xeoEngine) Lindsay Kay 2015年7月2日
  20. ^ Blender 2.62 adds better Booleans, motion tracking CG Channel 2012年2月17日
  21. ^ Solving the “Disappearing” Boolean Problem in Maya Lesterbanks 2014年2月1日
  22. ^ Change license to MIT Tobias Sargeant 2015年10月8日
  23. ^ glTF Introduction 'OpenGL Transmission Format' P.12 Kronos Group 2015年10月
  24. ^ MaterialX: An Open Standard for NetworkBased CG Object Looks LUCASFILM
  25. ^ NVIDIA Introduces Open-Source, Voxel-Based SDK to Accelerate GPU Applications ECN 2017年5月8日
  26. ^ Intel unveils HdOSPRay and OpenVKL CG Channel 2019年6月4日
  27. ^ What’s new in Dynamics Side Effects Software
  28. ^ a b 『Bounce, Tumble, and Splash!: Simulating the Physical World with Blender 3D』 ISBN 978-0470192801 P.224 Tony Mullen、Erwin Coumans 2008年6月30日
  29. ^ Mantaflow - Advanced Simulation Tools Blender Foundation 2014年10月26日
  30. ^ GameWorks PhysX Overview NVIDIA
  31. ^ a b c Babylon.js Physics Engine - Basic Usage Babylon.js team
  32. ^ cannon.js
  33. ^ a b 『WebGL Insights』 P.176 Patrick Cozzi ISBN 978-1-4987-1607-9
  34. ^ AMD announced Revolutionary TressFX 3.0: Open source, there is no Black Box Tech4Gamers 2014年12月10日
  35. ^ 1 - The Beginners Guide to Initialising CEGUI The CEGUI Development Team
  36. ^ 『Cinder Creative Coding Cookbook: Create Compelling Animations and Graphics With Kinect and Camera Input, Using One of the Most Powerful C++ Frameworks Available』 P.36 Dawid Gorny、Rui Madeira 2013年5月23日 ISBN 978-1849518703
  37. ^ 『Learning Three.js – the JavaScript 3D Library for WebGL - Second Edition』 P.26 Jos Dirksen 2015年3月31日 ISBN 978-1784392215
  38. ^ Re: Don't buy Scaleform Unity3D plugin Autodesk 2016年2月1日
  39. ^ Natron 2.1 released CGPress 2016年7月2日
  40. ^ Structure From Motion OpenCV
  41. ^ a b VRパフォーマンスを大幅に引き上げるGPU技術 NVIDIA「GameWorks VR」とは? GAME Watch 2015年6月1日
  42. ^ Unreal Engine 4がNVIDIAの「GameWorks VR」を採用 PC Watch 2015年11月10日
  43. ^ Unity engine adds support for Nvidia VRWorks SDK The Tech Report 2016年3月15日
  44. ^ a b NVIDIA GeForce GTX 1080 Whitepaper P.46-48
  45. ^ Unity Launches Two New Versions, Unity Collaborate Feature and the Unity Developer Certification Program Unity Technologies 2016年3月15日
  46. ^ Install the tools Microsoft
  47. ^ HTC Vive SteamVR SDK HTC
  48. ^ July 2016 developer updates OSVR Organization 2016年7月29日
  49. ^ Collabora Has Been Working On A Fully-Open HTC Vive Driver Phoronix 2016年10月12日
  50. ^ Report: Collabora Is Analyzing Vive's Lighthouse Signals VR on Linux 2016年9月20日
  51. ^ GDC 2017 -「TrueAudio Next」のないゲームサウンドは,テクスチャのない3Dグラフィックスのようなもの!? AMDが採用を呼びかける 4Gamer.net 2017年3月4日
  52. ^ AMD、リアルタイムレンダリングのVR向け音声技術 ASCII.jp 2016年8月18日
  53. ^ Devs can now mess around with Valve's free (beta) Steam Audio SDK Gamasutra 2017年2月23日
  54. ^ 『Android NDK Beginner's Guide: Discover the Native Side of Android and Inject the Power of C/C++ in Your Applications』 Sylvain Ratabouil 2012年1月30日 ISBN 978-1849691529
  55. ^ 『Android Native Development Kit Cookbook』 Felpeng Liu 2013年3月26日 ISBN 978-1849691505
  56. ^ Features Facebook