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、OpenGL ES、Vulkan、Direct3D 9 API、OpenCLに対応するライブラリ集及びツール。Unix系OSで良く使われているがWindowsにも対応している。ソフトウェア実装のllvmpipeも実装されている。
- かつてはIntelのソフトウェア定義可視化(SDViz)構想の一環として開発されたソフトウェア実装のSWR (旧OpenSWR) も搭載されていた[1][2]。
ソフトウェアラスタライザ
編集補助ライブラリ
編集大域照明 (GI) ライブラリ
編集- Enlighten (シリコンスタジオ[3]←ARM[4]←Geomerics)
- リアルタイムGIミドルウェア。Unreal Engine用のものが提供されている。以前はUnityに標準搭載されていた[5]。
- NVIDIA VXGI (NVIDIA)
- リアルタイムGIミドルウェア。ボクセルコーントレーシングを実装している。iClone 7以降に搭載されているほか、Unreal EngineのVXGI統合ブランチが公開されている。
- RTXGI SDK (NVIDIA)
- Nvidia RTXを使ったDynamic Diffuse Global Illumination (DDGI) 実装[6]。2.0で Neural Radiance Cache (NRC) と Spatial Hash Radiance Cache (SHaRC) を搭載した[7]。
- KICKSTART RT SDK (NVIDIA)
- Direct3D 11までなどのレイトレーシングAPI未対応の古い環境でレイトレーシングを行うための実装[8]。
- Beast (Autodesk ← Illuminate Labs)
- リアルタイムGIミドルウェア。Autodesk Stingrayに標準搭載されていた。販売終了[9]。
直接照明 (DI) ライブラリ
編集- NVIDIA RTX Direct Illumination (RTXDI) SDK - Nvidia RTXを使って多光源を処理するライブラリ。
環境遮蔽(AO) ライブラリ
編集なお、DirectX 10.1のSDKには、AMDの開発したHDAO (高解像度環境遮蔽) のサンプルが付属していた[10]。
- NVIDA ShadowWorks - 「HBAO+」(水平ベース環境遮蔽) を実装している[11]。
- NVIDIA VXAO - 「VXAO」(ボクセル構造を用いた環境遮蔽)を実装している。NVIDIA VXGIの一部[12]。
- Adaptive Screen Space Ambient Occlusion - Intelが開発している。DirectX 11対応。オープンソース。実装の詳細は書籍「GPU Zen」に記載されている[13]。
- XeGTAO - Intelが開発している「GTAO」(グランドトゥルース環境遮蔽)実装。
遮蔽カリングライブラリ
編集- Umbra (Amazon[14]←Umbra←Hybrid Graphics)
- 遮蔽カリングに特化したミドルウェア。旧dPVS。Unity及びUnreal Engineに対応していた。販売終了。
その他
編集- SpatiotemporalBlueNoiseSDK (NVIDIA) - 時空間ブルーノイズの生成ライブラリ。
- NVIDIA Reflex SDK - 低遅延化のためのライブラリ。
レイトレーシングベース
編集レイトレーシングに向けた汎用計算パイプラインのものとレイトレーシング/ラスタライズのハイブリッドレンダリングに向けたグラフィックパイプラインのものが存在する。レイトレーシング対応のものは以下となっている:
| メーカー | 異種コア計算 | レイトレーシングコア | AIデノイズ | レイトレーシングレンダリング | テンソル演算[r 1] | AI |
|---|---|---|---|---|---|---|
| NVIDIA | CUDA | OptiX | OptiX Denoiser | Iray SDK | cuBLAS | cuDNN / CUDA-X AI |
| AMD | HIP | Radeon Rays / HIP-RT | RIF | Radeon ProRender SDK | rocBLAS / AITER[16] | MIOpen |
| Intel | SYCL/Intel DPC++ | Embree | Intel OIDN | OSPRay | oneMKL | oneDNN |
| Apple | Metal compute shader | Metal Performance Shader (MPS) の MPSRayIntersector | ? | ? | MPSMatrixMultiplication等 | MPSNNGraph / Core ML |
| Microsoft | HLSL Compute Shader | DirectX Raytracing (DXR) | ? | No | DirectX の Cooperative Vector | DirectML(開発終了) / Windows ML |
| Khronos Group | GLSL Compute Shader | VK_KHR_ray_tracing | ? | No | VK_NV_cooperative_matrix / VK_NV_cooperative_matrix2 | ? |
- ^ Basic Linear Algebra Subprograms (BLAS) の汎用行列乗算 (GEMM) API を実装するものなど。Neural Radiance Caching (NRC) 、ニューラルマテリアル、ニューラルテクスチャ圧縮などに使われている[15]。
レイトレーシングコアライブラリ
編集レイトレーシングの交差判定に特化したライブラリ。標準APIにはVulkan拡張のVK_KHR_ray_tracing[注 1][17]、DirectX 12以降のDirectX Raytracing (DXR)、Metal 2のMetal Performance Shaders (MPS)のray intersector[18]などがある。
- Embree - Intelが開発を支援している。オープンソース。Apacheライセンス。
- Radeon Rays (AMD) - 旧AMD FireRays。オープンソース。MITライセンス[19]。VulkanとDirectX 12に対応している(OpenCL対応は終了)[19]。
- HIP-RT (AMD) - HIPベースのレイトレーシングライブラリ。AMD及びNVIDIAのGPUに対応[20]。2.4で高速ながら比較的高品質なBVH生成アルゴリズム H-PLOC[21]に対応した[22]。
- NVIDIA OptiX - NVIDIAのGPU用。OptiX APIとOptiX Prime APIがある。6.0でNvidia RTXによるアクセラレーションに対応した。
- PowerVR OpenRL SDK - PowerVR用のOpenRL実装。このOpenRLはKhronos Groupでの標準化が提案されていた[23]。開発終了。
またAMDのオープンソースVulkanドライバー (AMDVLK) では内部に使うライブラリとして GPU Ray Tracing Library (GPURT) が開発されている[24](MITライセンス[25])。
レイトレーシングレンダリングライブラリ
編集レイトレーシングコアライブラリ等を使ってレイトレーシングレンダリングを行うためのライブラリ。
- OSPRay - Intelが開発を支援している。オープンソース。Apacheライセンス。
- Radeon ProRender SDK (旧FireRender SDK) - AMDが開発を支援している。オープンソース。
- NVIDIA Iray SDK
- PowerVR Brazil SDK - 開発終了。
- HOOPS Luminate - 買収したRedway3D製のREDsdkに基づく[26]。
その他
編集- Intel Open Path Guiding Library - パストレーシングの高速化に使われるPath Guidingの実装の一つ。オープンソース。Apacheライセンス。Academy Software Foundationが引き継ぎ予定[27]。
ノイズ除去ライブラリ
編集多くはマルチパスにも使われている。
| デノイザー | 方式 | 対応 | ガイドパス[g 1] | ||||
|---|---|---|---|---|---|---|---|
| 静止画 | 動画(クロスフレーム) | スフィアマップ | アルベド | 法線 | 深度 | ||
| OptiX denoiser | 機械学習 | Yes | temporal denoising | ? | Yes[28] | Yes[28] | No |
| Radeon Image Filter AI denoiser | 機械学習 | Yes | No | No | Yes[29] | Yes[29] | Yes[29] |
| OIDN | 機械学習 | Yes | No | No | Yes[30] | Yes[30] | No |
- ^ ノイズの無いパスをガイドとして使用するもの。Joint Filteringや機械学習で実装されている。
モンテカルロ・レイトレーシング向け
編集- NVIDIA OptiX AI-accelerated denoiser - NVIDIA OptiX 5.0以降に含まれている。機械学習ベース。多くのレンダリングソフトウェアに搭載されている。
- NVIDIA Real-Time Denoisers SDK
- Intel Open Image Denoise - 略称ODIN。機械学習ベースであり、Intel MKL-DNNライブラリを使用している。オープンソース。Apache License 2.0。多くのレンダリングソフトウェアに搭載されている。
- AMD Radeon Image Filter Library - 機械学習ベース。
- Bayesian Collaborative Denoiser (BCD) - 非局所ベイジアンフィルタベースであり分布と共分散を使用する。BSDライセンス。appleseed 1.9以降[31]やLuxCoreRender 2.1以降[32]に搭載されている。開発停止中。
- Altus SDK - InnoBright製。二組のレンダリング結果を使用してデノイズを行う[33]。ツール版も存在した。AltusはMaxwell Render、Guerilla Render、Redshiftなどに搭載されている[34][35][36]。販売停止中。
ポストエフェクトライブラリ
編集AIによる超解像度はダウンスケーリング(縮小化)と組み合わせることでアンチエイリアスの代わりとしても使われている。ダウンスケーリング側にもAIを使うシステムも存在する(NVIDIA DLDSRなど)[37]。
| メーカー | 超解像度 | AIアンチエイリアス | シャープ化 | リアルタイムデノイズ | 可変シェーディング | フレーム生成 | |||
|---|---|---|---|---|---|---|---|---|---|
| 単独 | モーションベクトル使用 | 影レイ | 反射レイ | フルレイトレーシング | |||||
| NVIDIA | NISのNVScaler | DLSS | DLAA | NISのNVSharpen | NRD[38] | DLSS RR[39] | NVIDIA VRS/NAS | DLSS FG | |
| AMD | FSR 1.0[p 1][40] | FSR 2.0[40] | FSR Native AA mode[41] | FidelityFXのCAS | FidelityFXのDenoiser | FSR Ray Regeneration | FidelityFXのVariable Shading | FSR 3 Frame Generation | |
| Intel | ? | XeSS-SR | XeSS Native AA mode[42] | ? | ? | ? | ? | ? | XeSS-FG |
| Microsoft | ? | DirectSR[43] | ? | ? | ? | ? | ? | Direct3D 12 variable-rate shading[44] | ? |
- ^ AMDのRadeon Adrenalinドライバによって未対応のソフトウェアでも使用可能。なおRadeon Adrenalinドライバは旧Radeon Software Adrenalin←Radeon Software Crimsonであり、AMD Catalystの後継。
- NVIDIA NGX - 機械学習ベースのインペイント、スローモーション、アップスケーリングが含まれている。DLSS単体のDLSS SDKもある。
- AMD FidelityFX - Content Adaptive Sharpeningが含まれている。MITライセンス。DirectX 12とVulkanに対応。高速MIPマップ生成用のFidelityFX Single Pass Downsampler (SPD) 、アップスケーリング用のFidelityFX Super Resolution (FSR) [45]、ノイズ除去のFidelityFX Denoiserもある。
- NVIDIA Image Scaling SDK - アップスケーリング用。MITライセンス。
- YEBIS (シリコンスタジオ) - ポストエフェクトミドルウェア。Substance Designer/Painterなどで使われていた[46]。
- ReShade - インジェクションベースのポストエフェクトライブラリ。既存のソフトウェアに使用できる。オープンソース。BSDライセンス。
開発停止中
編集- NVIDIA PostWorks - DirectX 11向け。時間的アンチエイリアシングのNVIDIA TXAA及び被写界深度エフェクトが含まれていた。レガシー[47]。
互換レイヤー
編集OSやWeb環境(WebGLやWebGPU)によって対応するグラフィックAPIが異なるため互換レイヤーが存在する。なおグラフィックAPIだけでなくOSレベルの互換レイヤーを用意するものもある (Wine(Direct3D部分の実装はWineD3D)やそのフォークのProtonなど)。
| 元環境 | OpenGL API | Vulkan API | Direct3D API | Metal API | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2/3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ||||
| Vulkan環境 | MesaのZinkドライバ[48] | ネイティブ | d7vk[49][50][51][52] | DXVK[53][c 1] | vkd3d / vkd3d-proton[54] | No | ||||||
| Direct3D 12環境 | MesaのD3D12ドライバ[55][56][c 2] | MesaのDZNドライバ[57][c 2][c 3] | DxWrapper (dd7to9 + D3D9On12) | DxWrapper (d3d8to9 + D3D9On12) | D3D9On12 | ? | D3D11On12 | ネイティブ | No | |||
| Metal環境 | MoltenVK上のMesaのZinkドライバ[58][c 4] | MoltenVK、MesaのKosmicKrispドライバ[59] | ? | ? | ? | ? | ? | ? | DXMT | DXMT[60] / D3DMetal[61] | D3DMetal[61] | ネイティブ |
- ^ 以前はDirect3D 9向けのvk9 (旧SchaeferGL)、Direct3D 8用のd8vkも存在した。
- ^ a b SPIR-VシェーダーからDXILアセンブリへの変換 (spirv_to_dxilライブラリ) も搭載されている。
- ^ 以前はVulkanOnD3D12やRostkatzeも存在した。
- ^ MGLも存在する。またMoltenGLもあるがOpenGL ES APIのみとなっている。
- MoltenVK (Khronos Group)
- Metal環境上のVulkan API実装。オープンソース。Apache License 2.0。
- DXVK
- Vulkan環境上のDirect3D 9/10/11 API実装。オープンソース。zlibライセンス。d9vkを統合した[62]。Protonなどで使われている。
- 派生版としてDirect3D 3/5/6/7に対応するd7vkが存在する[63][50][51][52]。
- vkd3d (WineHQ)
- Vulkan環境上のDirect3D 12 API実装。オープンソース。LGPLライセンス。Wine[64]などで使われている。
- 派生版としてvkd3d-protonが存在し、Protonに使われている[54]。
- DXGL
- OpenGL環境上のDirectX 1〜7 API実装。オープンソース。LGPLライセンス。
- ANGLE (Google)
- Direct3D 9/11、OpenGL、Vulkan、Metal環境上のOpenGL ES API実装であり、主にブラウザのWebGL実装に使われている。オープンソース。BSDライセンス。コンパイラ部分は3Dlabs(現ZiiLABS)のオープンソース実装を基にしている[65]。Windows版Google ChromeやFirefoxで使われている。
- MojoShader
- HLSLのバイトコード (DXBC)やDirectXアセンブリをGLSLシェーダーやARBアセンブリ、Metalシェーダーなどに変換するライブラリ。Shader Model 1.x (Direct3D 8世代)から3 (Direct3D 9.0c世代)まで対応している。Unreal Tournament 3[66]などのゲームやUnity[67]などのゲームエンジンで使われている。オープンソース。zlibライセンス。
- dgVoodoo2
- Direct3D 11/12環境上のGlide 1〜3.1 API/DirectX 1〜7 API/Direct3D 8〜9 API実装。プロプライエタリ。
- D3D11On12 / D3D9On12 (Microsoft)
- Direct3D 12環境上のDirect3D 11 API実装およびDirect3D 9 API実装[68][69]。オープンソース。MITライセンス。両者の共通部分もD3D12 Translation Layerとしてオープンソース化されている[68]。
開発停止中
編集- dxup
- Direct3D 11環境上のDirect3D 9/10 API実装。DXVKと組み合わせてVulkan環境上で動かすこともできた[70]。
- hlsl2glslfork
- Direct3D 9時代のHLSLシェーダーをGLSL/GLSL ESシェーダーに変換するライブラリ。ATI Technologiesによって開発されたHLSL2GLSLをフォークしたもの[71]。オープンソース。以前Unityで使われており[71]、Unity Technologiesにより開発が継続されていたが、現在、開発がメンテナンスモードとなっている[72]。
- ToGL (Valve Corporation[73])
- OpenGL環境上のDirect3D 9.0c APIサブセット実装。HLSLのバイトコード (DXBC) をGLSLシェーダーへと変換する。オープンソース。Dota 2で使われていた。
フレームワークライブラリ
編集フレームワークには低レイヤーなものと、シーングラフベースのものがある。
低レイヤー
編集- Microsoft DirectX
- Windows用のゲーム及びマルチメディア向けAPI集。グラフィクス用のDirect2D及びDirect3D、入力用のXInput (DirectInputの後継)、3Dサウンド用のX3DAudio (DirectSound3Dの後継)などのコンポーネントを含んでいる。またDirectX 12で機械学習用のDirectMLも追加された。
- シーングラフには非対応。3Dモデル用の.x形式やエフェクト用のDirectX effect形式 (*.fx)などは存在したが、現在それらは非推奨となっている。
- NVRHI (NVIDIA)
- Direct3DとVulkanの抽象化レイヤー[74]。
- Intermediate Graphics Library (Meta)
- OpenGL/Vulkan/Metalの抽象化レイヤー[75]。
シーングラフベース
編集| ステータス | オープンソース | SGI | Microsoft | Apple |
|---|---|---|---|---|
| 過去 | Open Inventor[s 1] | Direct3D Retained Mode | QuickDraw 3D[s 2] | |
| OpenSceneGraph[s 3] OpenSG[s 4] |
OpenGL Performer Cosmo3D OpenGL++ | |||
| Fahrenheit Scene Graph | ||||
| 現行 | Coin3D[s 5] VulkanSceneGraph |
Windows Presentation Foundation[s 1] | SceneKit | |
- ^ a b オープンソース化された。
- ^ 互換実装としてオープンソースの Quesa も存在する[76]。
- ^ OpenGL Performer に似た API を持つものとして開発された[77]。
- ^ Fahrenheit Scene Graph プロジェクトの終了によって開発された[78]。
- ^ Open Inventorの互換実装として開発された。
- SceneKit
- AppleのmacOSやiOSに搭載されているシーングラフベースの3Dライブラリ。言語はObjective-C。
- Qt 3D
- Qtに含まれる3Dライブラリ。オープンソース。シーングラフはXMLベースのQML形式。エンティティ・コンポーネント・システムを採用している[79]。
- Qt 3Dは標準レンダリングパイプラインが存在しておらず、自分でレンダリングパイプラインを書く必要がある[79]。姉妹ライブラリとしてゲームエンジンのようなレンダリングが可能な Qt Quick 3D も存在する[79][80]。
- Open Inventor
- OpenGL向けのシーングラフを中心としたライブラリ。オープンソース。
- 互換実装の Coin3D も存在する。
- VulkanSceneGraph
- Vulkan向けのシーングラフを中心としたライブラリ。オープンソース。
- OpenGL向けであったOpenSceneGraphライブラリの後継。OpenSceneGraphのシーングラフはOpenSceneGraph形式 (*.osg、*.osgb、.osgt、.osgx) であった。
- Java 3D
- Java環境向けのシーングラフを中心としたAPI。オープンソース。
- Universal Scene Description
- Pixarの開発するシーングラフを中心としたライブラリ。オープンソース。Katana 3.0以降[81]やHoudini 18以降のSolaris[82]で使われている。
- シーングラフはUniversal Scene Description形式 (.usd、.usda、.usdc、.usdz)。
- Visualization Toolkit (VTK)
- シーングラフのvtkViewNodeを持っている[83]。ParaView、OsiriX、3DSlicerなどに使われている。オープンソース。BSDライセンス。
Web向けフレームワークライブラリ
編集現在では汎用ゲームエンジンもWebGLに対応してきている (Unity、Unreal Engine 4、OGREなど)。物理演算ライブラリについては、3Dライブラリ#WebGL用物理演算ライブラリを参照。
3Dモデル形式については、クロノス・グループで標準化されているglTF形式が一般的となっている。
| Web用フレームワーク | ライセンス | 座標系 | エディター | 3D API | 物理エンジン | WebXR対応 | |
|---|---|---|---|---|---|---|---|
| WebGL | WebGPU | ||||||
| three.js | MITライセンス | 右手系 | Three.js Editor | Yes | r121以降 | ammo.js | Yes |
| Babylon.js | Apache License 2.0 | 左手系 | Babylon.js Editor | Yes | 5.0以降[84] | Cannon.js、Oimo.js、Energy.js、ammo.js[85] | Yes |
| PlayCanvas Engine | MITライセンス | 右手系 | PlayCanvas Editor | Yes | 1.62以降[86] | ammo.js | 1.25以降 |
| Web用フレームワーク | シーングラフ形式 | モデル形式 | シェーダー形式 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| glTF | OBJ | FBX | USDZ | その他 | PBS | GLSL言語 | ||||
| 無圧縮 | Draco圧縮 | meshopt圧縮 | ||||||||
| three.js | JSON Object Scene format等 | Yes[87] | Yes[87] | Yes[87] | Yes | Yes | Yes | PLY、Collada、STL、VRML、.babylon形式[88]、PlayCanvas形式、PMD/PMX等 | Yes[89] | Yes[90] |
| Babylon.js | .babylon形式(JSONベース[91]) | Yes | Yes | Yes | Yes | Yes | No | 2.3.0以降 | ? | |
| PlayCanvas Engine | JSONベース | Yes | Yes | ? | Yes | アップロードにて対応[92] | ? | PlayCanvas JSON Model | Yes | Yes |
| Web用フレームワーク | テクスチャ形式 | |||
|---|---|---|---|---|
| Basis | KTX | DDS | その他 | |
| three.js | Yes | Yes[93] | Yes[93] | OpenEXR[93]、PVRTC[93]、RGBM[93]、TGA[93]、PNG[93]、GIF[93]、JPEG[93] |
| Babylon.js | Yes | Yes[94] | Yes[94] | TGA[94]等 |
| PlayCanvas Engine | 1.24以降 | Yes | Yes | |
PBRシェーダー対応
編集- three.js
- WebGLだけでなく、CanvasやSVG、CSS3によるレンダリングにも対応している3Dエンジン。
- Babylon.js
- マイクロソフトの開発者を中心として開発されているWebGL向け3Dエンジン。3ds Max、Blender、Cheetah3D、Unity用のエクスポータープラグインも提供している。
- PlayCanvas Engine (PLAYCANVAS)
- Mozilla Foundationと提携するPLAYCANVASによって開発されたWeb向けゲームエンジン。オープンソース。
- luma.gl (Uber Technologies)
- データ可視化向けWebGLフレームワークの一つ。PhiloGLの後継。ライセンスはMITライセンス。
PBRシェーダー未対応
編集- AwayJS
- WebGL向け3Dエンジン。Away3D TypeScriptの後継。Apache License 2.0。元々Flash用3DライブラリであるPapervision3D (PV3D)の派生としてAway3Dが開発され、その後Webブラウザ向けのAway3D TypeScriptが作られた。
開発停止中
編集- OSG.JS
- OpenSceneGraph類似のWebGL向けフレームワーク。 シーングラフは独自のosgjs形式であり、OpenSceneGraph形式を取り込むにはOpenSceneGraph osgjs pluginによる変換が必要だった。MITライセンス。Sketchfabで使われていた[95]。開発中止[96]。
- xeogl (Lindsay Kay)
- 旧xeoEngine。SceneJSの後継。階層構造のSceneJSと異なり、xeoglは構成要素のグラフ構造となっている[97]。3D可視化向けであり、BIMデータ可視化のBIM Surferで使われている。開発停止中[98]。
ジオメトリ操作
編集これらライブラリは、ジオメトリの操作に使われている。
ジオメトリ形状モデリングカーネル
編集ジオメトリ形状モデリングカーネルは、NURBS等の複雑なプリミティブを表現するために使われるライブラリであり、特に3D CADで重要となる。
ジオメトリ処理ライブラリ
編集- CGAL - ジオメトリ処理ライブラリ。3Dブーリアンにも対応している。オープンソース。GPLライセンス (一部LGPLライセンス)。OpenSCADの標準バックエンドに使われている[99]。
- libigl - ジオメトリ処理ライブラリ。3Dブーリアンにも対応している。オープンソース。MPLライセンス (一部GPLライセンス)。
- OpenMesh - ポリゴンメッシュの処理に向けたライブラリ。オープンソース。BSDライセンス。OpenFlipperなどに使われている。
- GNU Triangulated Surface Library - 略称GTS。三角メッシュの処理に特化したライブラリ。Graphvizのグラフビューアであるsmyrnaツールに使われている[100]。
- VCG Library - MeshLabに使われている。オープンソース。GPLライセンス。
- Manifold Library - 多様体三角形メッシュの処理ライブラリ。3Dブーリアンにも対応している。Apacheライセンス。Godotのレベルプロトタイピング[101]、OpenSCADの代替バックエンド[99]、blender 4.5以降のブーリアンのManifoldソルバー[102]などに使われている。
3Dブーリアンライブラリ
編集- Carve - Mayaに使われている3Dブーリアンライブラリ[103]。Blenderにも使われていた[104]。オープンソース。MITライセンス[105]。
- Cork Boolean Library - 3Dブーリアンライブラリの一つ。オープンソース。LGPLライセンス。
メッシュ生成ライブラリ
編集再分割/テッセレーションライブラリ
編集- OpenSubdiv - Pixarの支援する再分割ライブラリ。オープンソース。Apacheライセンス。
- NVIDIA Displacement Micro-Map Toolkit - 変異マイクロマップ生成・表示ライブラリ (NVIDIA Displacement Micro-Map SDK) およびツール集。リアルタイムレイトレーシングに最適化されていた[106]。サンプルコードのNVIDIA RTX Mega Geometryに置換えられて終了した[107]。また透過のためのOpacity Micro-Map SDKも存在する[106]。こちらは Opacity Micro-Map が DirectX Raytracing (DXR) 1.2 に入り[108]、その API に対応している。
プラグインライブラリ
編集- Open Mesh Effect - OpenFXベースの3DメッシュエフェクトAPI。
ファイル入出力ライブラリ
編集これらのライブラリは、異なる3Dソフトウェア間でファイルをやり取りする時などに使われている。
シーン形式
編集- FBX SDK - Autodesk製品を始め、多くの3DCGソフトウェアで使われているFBX形式 (*.fbx) 用の公式ライブラリ。Autodesk製。
- ufbx - FBX形式のインポート用のオープンソースライブラリ。Godot 4.3以降[109]、Blender 4.5以降で使われている。MITライセンスとPublic Domainのデュアルライセンス。
- OpenCOLLADA - 多くの3DCGソフトウェアで使われているCOLLADA形式 (*.dae) 用の公式ライブラリ。オープンソース。MITライセンス。
- COLLADA DOM - COLLADA形式 (*.dae) 用のライブラリ。Sony Computer Entertainment製。オープンソース。MITライセンス。
- FCollada - COLLADA形式 (*.dae) 用のライブラリ。Feeling Software製。ディスコン。
- Python Computer Graphics Kit - Maya ASCII (MA)形式などのインポートや、RIB形式などへのエクスポートに対応するPythonモジュール。オープンソース。最終更新は2013年リリースの2.0.0。
3Dモデル形式
編集- Crosswalk SDK - Softimageや一部のゲームエンジンで使われていたdotXSI形式 (*.xsi) 用の公式ライブラリ。Autodesk製。ディスコン。
- lib3ds - 古い3ds Maxで使われていた3ds形式 (*.3ds)用のライブラリ。オープンソース。LGPLライセンス。
- tinyobjloader - 多くの3DCGソフトウェアで使われているobj形式 (*.obj)及びmtl形式 (*.mtl) 用のライブラリ。オープンソース。MITライセンス。
- Open Asset Import Library (assimp) - 様々な3Dモデル形式に対応するライブラリ。オープンソース。BSDライセンス。
- Houdini Engine - Houdiniで使われているHoudini Digital Asset形式 (*.otl、*.hda)用のインポートライブラリ。
- cgltf - glTF形式に対応するシングルヘッダーライブラリ[110]。MITライセンス。
- Microsoft glTF SDK - glTF形式に対応するライブラリ。オープンソース[111]。MITライセンス。
- dime - DXF形式の入出力に対応するライブラリ[112]。DXF2papercraftに使われている。
マテリアル形式
編集- 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ライセンス。Maya PDA/PDB/PDC形式、RenderMan PTC形式、Houdini GEO/BGEO形式、Real Flow BIN形式、Krakatoa PRT形式、PTS形式などに対応している。LightWave 2020以降などに使われている[113]。
キャッシュ形式
編集- Alembic - Alembic形式 (*.abc)用のライブラリ。オープンソース。BSDライセンス。Sony Pictures Imageworks及びILMが共同で開発した。
マルチパス画像
編集- OpenEXR (Academy Software Foundation[114]←ILM) - 3DCG向けの画像形式であるOpenEXR形式 (*.exr)用のライブラリ。OpenEXR形式は、浮動小数点数で表された色だけでなく、後処理に必要な深度パス、オブジェクトIDなどの付随情報を含めることが出来る。
テクスチャ形式
編集- Ptex - UV不要なPtex形式 (*.ptx) 用のライブラリ。Walt Disney Studiosが開発を支援している。オープンソース。BSDライセンス。
- Oodle Texture (Epic Games Tools←RAD Game Tools) - テクスチャ圧縮向けSDK。BC1、BC3-BC7圧縮のレート歪み最適化に対応している。
- OpenImageIO(Academy Software Foundation[115]←Larry Gritz) - レンダラーなどの3Dパイプラインに特化した画像入出力ライブラリ。MIPMAPにも対応する効率的なキャッシュを備えている。多くの3DCGソフトウェアがこのライブラリを使用している。
- bcdec - BC1-7形式のデコードに対応したヘッダーオンリーライブラリ。OpenImageIO 2.4.4以降に使われている[116]。
- NVIDIA Texture Tools (NVTT) - NVIDIAのテクスチャSDK[117]。2はオープンソースとなっていた。Unreal Engine[118]やBlender 2.46以降に使われている[119]。
- RTX Neural Texture Compression (NTC) SDK - NVIDIAのニューラルテクスチャ圧縮向けSDK。
開発停止中
編集シェーダーおよびマテリアルライブラリ
編集- liboslc/liboslquery/liboslexec (Academy Software Foundation[114]←Sony Pictures Imageworks) - Open Shading Language (OSL) シェーダー用のライブラリ。オープンソース。ライセンスはBSDライセンス。
- NVIDIA MDL SDK - MDL (Material Definition Language) マテリアル定義用のライブラリ。2018年に一部がオープンソース化され[121]、2022年に全てがオープンソース化された[122]。BSDライセンス。MDLは一つの記述でリアルタイムとパストレーシングレンダリングの両方に対応する。
- MaterialX (Academy Software Foundation←Lucasfilm[123]) - オープンソースのマテリアル交換用ライブラリ。当初ILMが開発した。MaterialX形式からGLSLシェーダーやOSLシェーダーを生成するためのShaderX[124]が統合された。ライセンスはApache License 2.0。
- Adobe's OpenPBR BSDF - OpenPBR リファレンス実装のヘッダーライブラリ。ライセンスはApache License 2.0。Adobeの内部レンダラーの実装に基づいている[125]。
ボリュームライブラリ
編集- OpenVDB (Academy Software Foundation[114]←ドリームワークス・アニメーション) - OpenVDB形式 (*.vdb)の入出力及び操作に対応するライブラリ。オープンソース。GPU対応のNanoVDB実装がNVIDIAより提供された[126]。
- NVIDIA GVDB Voxels - GPU向けの疎ボクセルライブラリ。オープンソース[127]。NanoVDBへの変換コードが用意されている。
- OpenVKL - Intel製のボクセルレンダリングライブラリ[128]。
- Field3d (Sony Pictures Imageworks) - Field3d形式 (*.f3d)の入出力に対応するライブラリ。オープンソース。
運動学ライブラリ
編集- iTaSC - オープンソース。Blender 2.5以降で使われている[129]。
- IKinema RunTime (Apple←IKinema) - フルボディIKに対応する。modo 601以降に使われていた[130][131]。開発終了。
- Autodesk HumanIK (Autodesk←Alias←Kaydara) - フルボディIKに対応する。Mayaで使われている。販売終了。
- OpenRAVE - 解析的IKソルバーのIKFastを含んでいる。オープンソース。LGPLライセンス。
物理演算ライブラリ
編集- Open Dynamics Engine
- 略称ODE。オープンソース。LGPL及びBSDのデュアルライセンス。SoftimageやHoudiniなどが対応していた。現在HoudiniはODEを非推奨としている[132]。Python言語向けのPyODEもあり[133]、心理学実験向けツールキットのPyEPLがそれに依存していた[134]。
- Bullet
- オープンソースの物理エンジン。3.xでGPUパイプラインやRobot Operating SystemのURDF形式に対応した。多くの3DCGソフトウェアやプラグインが採用している。強化学習などに向けたPyBulletも付属している。
- Havok Physics (Microsoft←Intel←Havok)
- 物理エンジン。3ds Max及びMaya用のプラグインがあった。開発終了。
- PhysBAM
- マルチフィジクスシミュレーションライブラリ。開発停止中。
- NVIDIA PhysX (Nvidia←AGEIA)
- 旧GameWorks PhysX。マルチ物理エンジン。GPUによる剛体演算に対応している (PhysX-GRB)。3ds Max、Maya、Softimageの物理演算のバックエンドに使われているほか、3ds Max及びMaya用のDCCプラグインが存在する。
- PhysX SDKの他にAPEX SDKを含んでいたが、PhysX Destruction/Clothing/Particlesは非推奨となった[135]。5.0で有限要素法に基づく可変形物体物理に対応した[136]。5.1でCPUコードがオープンソース化され、流体シミュレーションのNVIDIA Flowの統合も行われた[137]。2025年にはGPUコードもオープンソース化された[138]。
- NVIDIA FleX (NVIDIA)
- PBD(位置ベース物理シミュレーション)によるパーティクルベースのマルチ物理ライブラリ。
- NVIDIA Blast (NVIDIA)
- 破壊シミュレーションライブラリ。
- NVIDIA Cloth (NVIDIA)
- クロスシミュレーションライブラリ。
- FEMFX (AMD)
- 有限要素法に基づく可変形物体物理ライブラリ[139]。MITライセンス。Unreal Engine向けプラグインもある。
- Jolt Physics
- シミュレーションライブラリ。Godot 4.4以降[140][141]、ゲリラゲームズのゲームエンジン[142]であるデシマに使われている。
機械学習向け物理ライブラリ
編集上記のBulletも参照。
- Brax (Google)
- Pythonの実行時コンパイラJAXを基にした物理ライブラリ。
- Isaac Gym (NVIDIA)
- 強化学習向けの物理ライブラリ。
- MuJoCo (DeepMind(Alphabet子会社)←Roboti[143])
- 独自の凸ガウス原理を利用した物理ライブラリであり[144]、OpenAIのGymで強化学習に使うことが可能となっている[145]。
多体動力学シミュレーション
編集- MBDyn
- オープンソースの多体動力学シミュレーションソフトウェア。MBDynをバックエンドに用いたBlender用アドオンとして、BlenderAndMBDynが存在する。
流体シミュレーション
編集- MantaFlow (ミュンヘン工科大学)
- 流体シミュレーションライブラリ。FLIP法およびAPIC法に対応している。GPLライセンス。古い流体シミュレーションライブラリであるEl'beemの開発者Nils Thuerey[146]が、MantaFlowの開発に参加している[147]。Blender 2.82以降がMantaFlowを採用している[148] (それ以前はEl'beemを使用していた[146])。
- PhiFlow (ミュンヘン工科大学)
- 偏微分方程式求解ライブラリであり、機械学習ベースの流体シミュレーションに対応している。MITライセンス。
- SPlisHSPlasH (アーヘン工科大学)
- パーティクルベースの流体シミュレーションライブラリ。SPH法に対応している。MITライセンス。LightWaveプラグインのDeep Rising FX 3.0で使われていた[149]。
- Wavelet Turbulence (コーネル大学)
- 気体流体用のハイレゾディテール化ライブラリ。GPLライセンス。Blenderが使用していた。
海洋シミュレーション
編集- NVIDIA WaveWorks (NDIVIA)
WebGL用物理演算ライブラリ
編集- Ammo.js
- BulletをEmscriptenでJavascript及びWebAssemblyに変換したもの。zlibライセンス。PlayCanvas Engineやthree.jsやBabylon.jsがAmmo.jsとの連携に対応している。
- Oimo.js
- OimoPhysicsをJavascriptに移植したもの。MITライセンス。Babylon.jsがOimo.jsとの連携に対応している[150]。
- Cannon.js
- Javascriptで書かれた物理エンジン。MITライセンス。three.jsとammo.jsの影響を受けている[151]。Babylon.jsがCannon.jsとの連携に対応している[150]。
開発停止中
編集- Energy.js
- Babylon.jsがEnergy.jsとの連携に対応している[150]。
- uranium.js
- BulletをEmscriptenでJavascriptに変換したもの[152]。Blender4Webで使われている[152]。
ヘア及びファーミドルウェア
編集- NVIDIA HairWorks (NVIDIA)
- ゲーム向けミドルウェア。3ds Max及びMaya用のNVIDIA HairWorks Pluginsが用意されている。
- AMD TressFX (AMD)
- ゲーム向けミドルウェア。オープンソース。MITライセンス。Maya用のエクスポートプラグインが提供されている[153]。
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に標準搭載されている。販売終了[9]。
機械学習向けグラフィクスライブラリ
編集機械学習向けの低レベルAPIとしてはMetalがMPSCNNを備えている。またDirectX 12以降もDirectML APIを備えていたが、こちらはWindows MLの登場で開発終了となっている。
- TensorFlow Graphics
- TensorFlowベース。
- TensorFlow 3D (Google)
- TensorFlowベース。
- MediaPipe (Google)
- Kaolin (NVIDIA)
- PyTorchベース。
- PyTorch3D (Facebook)
- PyTorchベース。
- PyTorch Geometric
- PyTorchベース。
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に対応している[154]。オープンソース。MITライセンス。GUIエディターとしてCEEDがある。
- MyGUI
- Ogre3Dに対応するUIライブラリ。オープンソース。MITライセンス。
- ImGui
- DirectX、OpenGL、Vulkan等に対応している。オープンソース。MITライセンス。
- dat.GUI
- Javascript用。オープンソース。Apacheライセンス。three.jsにも付属されている。Googleの従業員により開発された[155]。
- AntTweakBar
- DirectX及びOpenGL用。オープンソース。zlib/libpngライセンス。マルチメディアライブラリのCinderがAntTweakBarを採用していた[156]。開発停止中。
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版もあった[157]。
- 簡易UI構築ツールのScaleform CLIKが含まれている。また、メニュー画面向けのMenu Kit、HUD表示向けのHUD Kit、MMOゲーム向けのMMO Kitも含まれている。また、StingrayにはUI構築用のScaleform Studioが含まれている。
- 販売終了[9]。
- IGGY (Epic Games Tools←Rad Game Tools)
- FlashコンテンツをゲームUIとして使うことができるミドルウェア。
- LWF (GREE)
- FlashコンテンツをゲームUIとして使うことができるミドルウェア。オープンソース。zlibライセンス。Unity用アセットのLWF for Unityや、HTML5用のLWF Loaderなどもある。
3Dスキャン/トラッキングライブラリ
編集- libmv - オープンソースのSfMライブラリであり、BlenderやNatronのトラッカーに利用されている[158]。OpenCV 3.1以降にも、libmvを基にしたopencv_sfmが搭載されている[159]。
- OpenCV - オープンソース。Structured Light APIを持っている。
- AliceVision - オープンソース。MPL2ライセンス。Meshroomで使われている。
- gradslam - オープンソースの微分可能SLAMフレームワーク。深度付き(RGB+D)画像群からのポイントクラウド生成に対応している。MITライセンス。
特定ハードウェア向け
編集- Intel RealSense SDK
- Azure Kinect SDK - 略称K4A。
- Kinect for Windows SDK - 製造終了したKinect for Windows向けだった[160]。
モデル最適化ライブラリ
編集ラスタライズにおいては OpenGL/Vulkan APIの拡張[注 2]及びDirectX12 Ultimate API でMesh Shaderが導入されており、この Mesh Shader によってハードウェアラスタライザーのパイプラインにおいてもコンピュートシェーダーのような汎用計算が可能となり[161]、それによってより効率的な構造である「Meshlet」(三角形クラスタ[162])が注目されつつある。なお Unreal Engine 5 の新レンダラー「Nanite」では三角形クラスタのラスタライズにハードウェアラスタライザだけでなくソフトウェアラスタライザも使われている[163]。
一方、レイトレーシングにおいては Vulkan API に三角形クラスタベースのアクセラレーション構造 (CLAS) を使う VK_NV_cluster_acceleration_structure ベンダー拡張が登場している[164]。
またレンダリングにMeshlet(三角形クラスタ)が導入されたことによってGPUでは大量のメッシュが処理できるようになり、新たにCPUからGPUへのメッシュストリーミングがボトルネックとなってMeshlet圧縮が重要となっていった[165]。
なお頂点キャッシュ容量の少ない古いGPUでのレンダリングでは省メモリな構造体である三角ストリップを使った描画が最適であったとされる。
- meshoptimizer - オープンソース。MITライセンス。頂点キャッシュ最適化、オーバードロー最適化、先取りキャッシュ最適化、三角ストリップ生成、Meshlet生成、RTX Mega Geometry [注 3]向けのクラスター生成、頂点/インデックスバッファ圧縮、Meshlet圧縮、ポイントクラウド圧縮、ポリゴンリダクション、不透明度マイクロマップ (OMM) 生成などに対応している。
- DirectXMesh (Microsoft) - オープンソース。MITライセンス。D3DXの後継ライブラリの一つ。頂点キャッシュ最適化、Meshlet生成などに対応している。
- Compressonator SDK (AMD) - オープンソース。
- Simplygon SDK (Microsoft←Donya Labs) - プロプライエタリ。
- Meshlete - MITライセンス。meshlet生成に対応している。
- Polygon Cruncher SDK
開発停止中
編集- AMD Tootle (AMD) - GPUOpenの一部。オープンソース。頂点キャッシュ最適化、オーバードロー最適化、先取りキャッシュ最適化に対応していた。生成ツールのTootleSampleもある。開発停止中[166]。
- NvTriStrip (NVIDIA) - 三角ストリップ生成ライブラリ。頂点キャッシュ最適化、三角リスト出力などにも対応している[167]。生成ツールのNvTriStripperもある。
- TriStripper - 三角ストリップ生成ライブラリ。オープンソース。Mariなどで使われている[168]。
- Vizup SDK - ポリゴンリダクションライブラリ。開発停止中。
- GLOD - LOD (Level of Detail) 生成ライブラリ。Second Lifeで使われていたがmeshoptimizerで置き換えられた[169]。
3Dモデル圧縮
編集- OpenCTM - zlibライセンス。LZMA圧縮を使用している。形式はOpenCTM形式 (*.ctm)。
- Open3DGC - MITライセンス。MPEG-SC3DMC (MPEG-4 Part 16 Amd.3) コーデックの実装の一つ。glTF形式で使えるようになる予定だった[170]が、Dracoに置き換えられた。
- Draco (Google) - Apache License 2.0。glTF形式 (KHR_draco_mesh_compression) 及びUSD形式[171]で使うことができる。
- meshoptimizer - MITライセンス。glTF形式 (KHR_meshopt_compression/EXT_meshopt_compression) で使うことができる。Blender 5.2以降などに使われている[172]。
- Dense Geometry Compression Format (DGF) SDK - AMD製。MITライセンス。ハードウェアデコードに最適化されており[173]、Vulkan API では Dense Geometry Format からのレイトレーシング加速構造の構築が VK_AMDX_dense_geometry_format ベンダー拡張として導入されている[174]。
VR/AR/MRライブラリ
編集HMDデバイスのレイテンシ問題などを解決するためのミドルウェア[175]。
- OpenXR SDK (Khronos Group)
- XRの標準APIであるOpenXR向け開発ライブラリ。Google Chrome/Microsoft Edge 81以降、Blender 2.83以降など多くのソフトウェアで使用されている[176][177]。
GPUベンダー製
編集- VRWorks SDK (NVIDIA)
- NVIDIAのGPU用。旧GameWorks VR←VR Direct[175]。HMD向けミドルウェア。Unreal Engine 4[178]に搭載されている。今後、Unityにも搭載される予定[179]。
- 音線法による立体音響にも対応している (VRWorks Audio)[180]。バックエンドにはOptiXを使用している[180]。
開発停止中
編集- Snapdragon VR SDK (Qualcomm)
- QualcommのSnapdragon 835搭載VR開発キット向け[181]。
- AMD LiquidVR (AMD)
- AMDのGPU用。Direct3D 11用。Unityに搭載される予定となっていた[182]。
- VR SDK for Android (ARM)
- 旧Mali VR SDK。ARMのMali GPU用。MITライセンス。
プラットフォーム製
編集Windowsでは、Windows 10 SDKにMR向け機能が統合されている[183]。また、iOSでは、iOS 11 SDK以降にAR向け機能 (ARKit) が統合されている。
- Cardboard SDK (Google)
- Android及びiOSのスマートフォンはめ込み式のヘッドセット (Google Cardboard、Google Daydream) 向け。オープンソース[184]。Google VR SDK(旧Google Cardboard SDK)の後継[184][185]。Unity版もある。
- ARCore (Google)
- AR向け。Unity及びUnreal Engineに対応している。
- OpenVR/SteamVR (Valve Corporation)
- Steam向け。HTC Vive及びOculus Riftに対応。OpenVRはHTC Vive SteamVR SDKとしても知られている[186]。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)が存在する。
- Sceneform SDK for Android (Google)
- AR向け。Android用。オープンソース化された。開発中止[187]。
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及びPS VRに対応 (一部は回転のみ)。オープンソース。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[188]やOSVR-Vive-Libre (OpenHMD派生)[189][190]も存在する。
- OpenVR/SteamVR対応ソフトウェアからOSVRを使うためのSteamVR-OSVRも存在する。
- Vrui VR Toolkit
- HMDだけでなく、ビデオウォールやCAVEにも対応している。オープンソース。GPLライセンス。
入力装置向けライブラリ
編集- Leap Motion SDK
- 旧Leap Motion Developer SDK。
クラスタレンダリング向けライブラリ
編集CAVEやビデオウォールで使われるクラスタレンダリング向けライブラリ。
- Equalizer (Eyescale Software)
- CAVE対応アプリケーションを作成するためのミドルウェアであり、マルチGPUやコンピュータ・クラスターでの実行に対応する。Equalizerを使ったサンプル実装として、eqPlyやosgScaleViewerが提供されている。オープンソース。
3Dオーディオライブラリ
編集VRの普及に伴い、よりリアルなリアルタイムの3Dオーディオは重要となっている[191]。Webで使われるWeb Audio APIも空間化オーディオに対応している[192]。
- TrueAudio Next (AMD)
- 略称TAN。AMD TrueAudioの次世代版。Radeon Raysベース。MITライセンス[193]。
- VRWorks Audio (NVIDIA)
- OptiXベース。Unreal Engine用プラグインがある。
- Steam Audio (Valve Corporation←Impulsonic[194])
- Unity及びUnreal Engine 4用プラグインがある。無料。
遮蔽未対応
編集- OpenAL
- 古くから存在する3DオーディオAPI。複数の実装が存在する。
- OpenSL ES
- Khronos Groupによる標準オーディオAPIであり、3Dオーディオについても規定されている。複数の実装が存在する。AndroidはOpenSL ESに対応しているものの、3Dオーディオに対応するかはデバイスに依る[195][196]。
- Oculus Audio SDK (Facebook←Oculus VR)
- VR向け3Dオーディオライブラリ。遮蔽やドップラー効果に未対応[197]。
脚注
編集注釈
編集出典
編集- ^ Software Defined Visualization Intel
- ^ Intel's SWR Removed From Mainline Mesa, More Classic Code Cleaning Continues Phoronix 2021年12月7日
- ^ Silicon Studio acquires Enlighten tech from Geomerics GamesIndustry.biz 2017年6月15日
- ^ ARM swallows graphics software biz Geomerics to tart-up mobile games The Register 2013年12月13日
- ^ Enlightenから堅牢なベイクした GI/リアルタイム GI 向けソリューションへの移行のお知らせ Unity Technologies 2019年7月3日
- ^ RTXGI: Scalable Ray Traced Global Illumination in Real Time NVIDIA 2020年3月23日
- ^ Download RTXGI SDK 2.0 NVIDIA
- ^ Kickstart RT SDK Getting Started NVIDIA
- ^ a b c Autodesk game middleware products are no longer available for purchase Autodesk 2017年
- ^ HDAO10.1 サンプル Microsoft
- ^ NVIDIA ShadowWorks NVIDIA
- ^ NVIDIA VXAO NVIDIA
- ^ Adaptive Screen Space Ambient Occlusion Intel 2017年2月13日
- ^ Amazon will develop autonomous delivery robot tech in Finland ユーロニュース 2021年7月1日
- ^ AMD, Intel, Microsoft, and Nvidia are all excited about cooperative vectors and what they mean for the future of 3D graphics, but it's going to be a good while before we really see their impact PC Gamer 2025年3月19日
- ^ AMD Announces AITER For ROCm To Help Boost AI Performance Phoronix 2025年3月21日
- ^ Vulkan Ray-Tracing Arrives With New Khronos Extension Phoronix 2020年3月17日
- ^ Metal for Accelerating Ray Tracing Apple
- ^ a b AMD Publishes Radeon Rays 4.1 As Open-Source Phoronix 2021年5月11日
- ^ AMD Launches HIP-RT Ray-Tracing Library Phoronix 2022年4月12日
- ^ H-PLOC - Hierarchical Parallel Locally-Ordered Clustering for Bounding Volume Hierarchy Construction AMD 2024年7月
- ^ AMD HIP RT 2.4 Brings H-PLOC & New Graphics Architecture Support Phoronix 2024年9月23日
- ^ PowerVRのImaginationが“ハイエンドGPU”の設計に着手。ハイブリッドレンダリングハードウェア,そして新API「OpenRL」とは? 4Gamer.net 2011年9月24日
- ^ AMDVLK 2022.Q3.4 Driver Finally Adds Ray-Tracing Support For RDNA2 Phoronix 2022年9月13日
- ^ AMD GPUOpen Working On A New "gpurt" Open-Source Project Phoronix 2022年6月28日
- ^ Tech Soft 3D Introduces HOOPS Luminate WTWH Media 2023年12月14日
- ^ Intel's Discontinued Open-Source OpenPGL Project Finds A New Home Phoronix 2026年2月18日
- ^ a b Denoiser NVIDIA
- ^ a b c AI Denoiser Filter AMD
- ^ a b Intel Open Image Denoise - Documentation Intel
- ^ Appleseed team releases appleseed 1.9 CG Channel 2018年5月14日
- ^ LuxRender reborn as LuxCoreRender 2.0 CG Channel 2018年5月14日
- ^ FAQ InnoBright
- ^ Maxwell Render 4.1 brings Altus denoiser CGPress 2017年6月8日
- ^ Guerilla 2.2 now available! Mercenaries Engineering
- ^ Check out the new features coming up in Redshift 3.0 CG Channel 2020年5月27日
- ^ Latest Nvidia drivers reveal AI-powered downscaling feature called DLDSR TechSpot 2022年1月11日
- ^ NVIDIA REAL-TIME DENOISERS (NRD) NVIDIA
- ^ nvidia-dlss-3-5-ray-reconstruction NVIDIA
- ^ a b It’s time for AMD FidelityFX Super Resolution 2.0 AMD 2022年3月17日
- ^ AMD FSR 3: everything you need to know about Fluid Motion Frames Digital Trends 2023年10月7日
- ^ XeSS 1.3 improves performance by up to 28% with refined image quality — adds Ultra Quality Plus and Native AA modes - Tom's Hardware Future US 2024年4月6日
- ^ DirectSR Microsoft
- ^ Variable-rate shading (VRS) Microsoft
- ^ AMD Posts FidelityFX Super Resolution Source Code Phoronix 2021年7月15日
- ^ Substance tools to get Final Fantasy XV render tech CG Channel 2014年5月22日
- ^ NVIDIA PostWorks NVIDIA
- ^ Zink Merged Into Mesa 19.3 For Offering OpenGL Over Vulkan 2019年10月28日
- ^ D7VK 1.0 Released For "Production Ready" Direct3D 7 On Vulkan Phoronix 2025年12月11日
- ^ a b D7VK 1.1 Released With An Experimental Direct3D 6 Frontend Phoronix 2025年12月28日
- ^ a b D7VK 1.3 Brings Support For Direct3D 5 On Vulkan Phoronix 2026年2月8日
- ^ a b D7VK 1.5 Released With Direct3D 3 Now Implemented Over Vulkan Phoronix 2026年3月11日
- ^ Direct3D 8 Support "D8VK" Merged Into DXVK Phoronix 2024年7月7日
- ^ a b Valve Working On A VKD3D Fork For Getting Direct3D 12 Advanced For Proton / Steam Play Phoronix 2020年7月6日
- ^ Mesa 21.0 Merges Direct3D 12 Gallium3D Driver Phoronix 2020年11月10日
- ^ Mesa 21.0 Merges Initial Direct3D 12 Support For WSL Phoronix 2020年12月16日
- ^ Mesa On Windows Continues Improving: Dzn Dynamic Rendering, WGL Kopper Lands Phoronix 2022年4月22日
- ^ Mesa 22.0 Zink Lands macOS Build Fix for OpenGL on Vulkan via MoltenVK On Metal Phoronix 2021年12月29日
- ^ KosmicKrisp Vulkan To Apple Metal Driver Merged For Mesa 26.0 Phoronix 2025年10月20日
- ^ CrossOver 25.0 Announced - Built Atop Wine 10.0 For Linux & macOS Phoronix 2025年3月11日
- ^ a b CodeWeavers Releases CrossOver 23.5 With A Focus On Boosting macOS Gaming Phoronix 2023年9月27日
- ^ D9VK Merged Into Upstream DXVK Phoronix 2019年12月16日
- ^ D7VK Aims To Deliver Direct3D 7 Atop Vulkan Phoronix 2025年11月7日
- ^ Wine 7.4 Released With VKD3D Bundled, WineD3D/D3D12/DXGI Converted To PE Phoronix 2022年3月11日
- ^ 『GPU Pro 6: Advanced Rendering Techniques』 P.525 Wolfgang Engel 2015年9月3日 ISBN 978-1482264616
- ^ 『Video Game Optimization 1st Edition』P.210 Eric Preisz 2010年3月1日 ISBN 978-1598634358
- ^ Shading language used in Unity Unity Technologies
- ^ a b D3D12 Translation Layer and D3D11On12 are now open source Microsoft 2020年1月14日
- ^ Open Sourcing Direct3D 9 on 12 and the Release of the DXBC Signer NuGet Package Microsoft 2021年7月21日
- ^ DXUP: Taking Direct3D 10 To 11 For Running On Vulkan Phoronix 2018年5月1日
- ^ a b 『3D Engine Design for Virtual Globes』 P.45 Patrick Cozzi、Kevin Ring 2011年7月1日 ISBN 978-1568817118
- ^ hlsl2glslfork Aras Pranckevičius
- ^ 米Valve、Direct 3DからOpenGLへの変換レイヤー「ToGL」をオープンソースに OSDN 2014年3月12日
- ^ NVIDIA Releases More GameWorks Projects As Open-Source With Linux Support Phoronix 2021年7月19日
- ^ Meta Releases Intermediate Graphics Library "IGL" Built Atop Vulkan, OpenGL Phoronix 2023年7月7日
- ^ Open source implementation of QuickDraw 3D updated Macworld 2001年6月13日
- ^ Bjoern Kuehl et al.「Generation of Shadows in Scene Graph based VR」『WSCG'2007 - 15-th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision'2007 - FULL Papers proceedings』 p.296 2007年 ISBN 978-8086943985
- ^ Service-oriented scene graph manipulation p.56 Andreas Schiefer et al. 2010年
- ^ a b c Porting Qt 3D to Qt Quick 3D: A Migration Guide The Qt Company
- ^ Qt 6.11 Toolkit Released With "The Same 3D Capabilities As A Game Engine" Phoronix 2026年3月23日
- ^ Foundry releases Katana 3.1 CG Channel 2018年11月29日
- ^ SideFX ships Houdini 18 CG Channel 2019年11月27日
- ^ vtkViewNode Class Reference Kitware
- ^ Microsoft、WebGPUをフルサポートする3Dレンダリングエンジン「Babylon.js 5.0」を公開 ITmedia 2022年5月11日
- ^ Babylon.js Physics Engine - Basic Usage Babylon.js team
- ^ Initial WebGPU support lands in PlayCanvas Engine 1.62! PlayCanvas 2023年3月31日
- ^ a b c GLTFLoader three.js
- ^ three.js - documentation - Reference - BabylonLoader three.js
- ^ MeshStandardMaterial Three.js team
- ^ ShaderMaterial Three.js team
- ^ FileFormat Map (.babylon) Babylon.js team
- ^ Importing 3D Models PlayCanvas
- ^ 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
- ^ a b c WHAT'S NEW? Babylon.js team
- ^ Patrick Cozzi編 『WebGL Insights』 p.195 2015年 ISBN 978-1498716079
- ^ OSG.JS WebGL framework Cedric Pinson (Sketchfab)
- ^ SceneJS and Applications (Plus a sneak peek at xeoEngine) Lindsay Kay 2015年7月2日
- ^ xeolabs/xeogl - A WebGL-based 3D engine for technical visualization. Not actively maintained. Lindsay Kay
- ^ a b Manifold backend is no longer experimental Marius Kintel 2024年10月5日
- ^ Graphviz-2.44.0 Linux From Scratch
- ^ Prototyping levels with CSG Godot Foundation
- ^ Modeling: Add a new boolean solver based on the Manifold library. Blender Foundation 2025年4月23日
- ^ Solving the “Disappearing” Boolean Problem in Maya Lesterbanks 2014年2月1日
- ^ Blender 2.62 adds better Booleans, motion tracking CG Channel 2012年2月17日
- ^ Change license to MIT Tobias Sargeant 2015年10月8日
- ^ a b NVIDIA Micro-Mesh NVIDIA
- ^ NVIDIA Displacement Micro-Map SDK NVIDIA
- ^ D3D12 Opacity Micromaps Microsoft
- ^ Introducing the improved ufbx importer in Godot 4.3 Godot Foundation 2024年8月2日
- ^ 『Hands-On C++ Game Animation Programming: Learn modern animation techniques from theory to implementation with C++ and OpenGL』 p.144 Gabor Szauer 2020年6月12日 ISBN 978-1800208087
- ^ Khronos Group - Microsoft Update p.13 Khronos Group 2018年8月
- ^ Debian -- sid の dime パッケージに関する詳細 Software in the Public Interest
- ^ NewTek ships LightWave 2020 CG Channel 2020年4月24日
- ^ a b c OSL becomes an Academy Software Foundation CGPress 2020年4月22日
- ^ ASWF adopts OpenImageIO CG Channel 2023年8月1日
- ^ a b DDS: replace libsquish with bcdec, add BC4-BC7 OpenImageIO 2022年7月3日
- ^ Debian -- sid の libnvtt2 パッケージに関する詳細 Debian Project
- ^ Unreal Engine 4.2 リリースノート Epic Games
- ^ nvidia-texture-tools - ProjectsUsingNVTT.wiki NVIDIA
- ^ Debian -- sid の libsquish0 パッケージに関する詳細 Debian Project
- ^ Nvidia open-sources MDL CG Channel 2018年8月17日
- ^ Nvidia fully open-sources MDL CG Channel 2022年8月12日
- ^ Academy Software Foundation adopts MaterialX CG Channel 2021年7月16日
- ^ MaterialX: An Open Standard for NetworkBased CG Object Looks LUCASFILM
- ^ OpenPBR BSDF reference code from Adobe - Digital Production Bela Beier 2026年11月3日
- ^ OpenVDB Adds GPU Support with NanoVDB; OpenVDB Version 7.1 Now Available Academy Software Foundation 2020年8月20日
- ^ NVIDIA Introduces Open-Source, Voxel-Based SDK to Accelerate GPU Applications ECN 2017年5月8日
- ^ Intel unveils HdOSPRay and OpenVKL CG Channel 2019年6月4日
- ^ 『Simulation, Modeling, and Programming for Autonomous Robots - Second International Conference, SIMPAR 2010』 P.16 Noriako Ando, et al. 2010年11月 ISSN 0302-9743
- ^ GDC: Modo 601 integrates Ikinema Runtime tech MCV 2012年3月6日
- ^ System Requirements Foundry
- ^ What’s new in Dynamics Side Effects Software
- ^ Debian -- sid の python3-pyode パッケージに関する詳細 Software in the Public Interest
- ^ Debian -- buster の python-pyepl パッケージに関する詳細 Software in the Public Interest
- ^ GameWorks PhysX Overview NVIDIA
- ^ Nvidia PhysX 5.0 SDK to Rival AMD FEMFX With Finite Element Method Tom's Hardware 2019年12月19日
- ^ Nvidia open-sources PhysX 5 CG Channel 2022年11月9日
- ^ NVIDIA PhysX and Flow Are Now Fully Open Source Wccftech 2025年4月5日
- ^ AMD's FEMFX Deformable Physics Library Lands: Benefits From Lots of CPU Cores Tom's Hardware 2019年12月18日
- ^ 5 key features for CG artists in Godot 4.4 CG Channe 2025年3月4日
- ^ Using Jolt Physics Godot Foundation
- ^ Architecting Jolt Physics for Horizon Forbidden West ゲリラゲームズ 2022年7月25日
- ^ DeepMind acquires and open-sources robotics simulator MuJoCo VentureBeat 2021年10月18日
- ^ Opening up a physics simulator for robotics DeepMind 2021年10月18日
- ^ DeepMind takes next step in robotics research VentureBeat 2021年10月31日
- ^ 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日
- ^ Mantaflow - Advanced Simulation Tools Blender Foundation 2014年10月26日
- ^ Blender Foundation releases Blender 2.82 CG Channel 2020年2月14日
- ^ Deep FX releases Deep Rising FX 3.0 CG Channel 2020年3月24日
- ^ a b c Babylon.js Physics Engine - Basic Usage Babylon.js team
- ^ cannon.js
- ^ a b 『WebGL Insights』 P.176 Patrick Cozzi ISBN 978-1-4987-1607-9
- ^ AMD announced Revolutionary TressFX 3.0: Open source, there is no Black Box Tech4Gamers 2014年12月10日
- ^ 1 - The Beginners Guide to Initialising CEGUI The CEGUI Development Team
- ^ 『Learning Three.js – the JavaScript 3D Library for WebGL - Second Edition』 P.26 Jos Dirksen 2015年3月31日 ISBN 978-1784392215
- ^ 『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
- ^ Re: Don't buy Scaleform Unity3D plugin Autodesk 2016年2月1日
- ^ Natron 2.1 released CGPress 2016年7月2日
- ^ Structure From Motion OpenCV
- ^ Kinect for Windows Microsoft
- ^ VK_EXT_mesh_shader Khronos Group
- ^ Mark Bo Jensen, Jeppe Revall Frisvad, J. Andreas Bærentzen. Performance Comparison of Meshlet Generation Strategies DTU 2023年
- ^ Nanite - A Deep Dive pp.85-92 Epic Games 2021年
- ^ VK_NV_cluster_acceleration_structure(3) Khronos Group
- ^ Meshlet compression AMD 2024年11月1日
- ^ Tootle retirement - AMD Triangle Order Optimization Tool AMD
- ^ NvTriStrip Library NVIDIA 2004年
- ^ Mari 2.6V5 User Guide p.397,p.426 Foundry 2015年
- ^ 6.4.23.562614 - Second Life Project MeshOptimizer リンデン・ラボ 2021年9月1日
- ^ glTF Introduction 'OpenGL Transmission Format' P.12 Kronos Group 2015年10月
- ^ Google and Pixar add Draco Compression to Universal Scene Description (USD) Format Google 2019年11月25日
- ^ glTF: Enable EXT_meshopt_compression & KHR_meshopt_compression · blender/blender@269418e · GitHub Blender Foundation
- ^ Solving the Dense Geometry Problem AMD 2025年2月6日
- ^ VK_AMDX_dense_geometry_format(3) - Vulkan Documentation Project Khronos Group
- ^ a b VRパフォーマンスを大幅に引き上げるGPU技術 NVIDIA「GameWorks VR」とは? GAME Watch 2015年6月1日
- ^ Introduction to Khronos Group and OpenXR Khronos Group 2020年6月2日
- ^ Blender Foundation releases Blender 2.83 LTS CG Channel 2020年6月4日
- ^ Unreal Engine 4がNVIDIAの「GameWorks VR」を採用 PC Watch 2015年11月10日
- ^ Unity engine adds support for Nvidia VRWorks SDK The Tech Report 2016年3月15日
- ^ a b NVIDIA GeForce GTX 1080 Whitepaper P.46-48
- ^ Snapdragon VR SDK Qualcomm
- ^ Unity Launches Two New Versions, Unity Collaborate Feature and the Unity Developer Certification Program Unity Technologies 2016年3月15日
- ^ Install the tools Microsoft
- ^ a b Google open-sources Cardboard SDK to keep it alive Android Police 2019年11月7日
- ^ Google VR for everyone - Google Developers Google
- ^ HTC Vive SteamVR SDK HTC
- ^ Status of ARCore post sceneForm abandonment #1049 - devbridie commented on 27 May Dereck Bridie 2020年5月27日
- ^ July 2016 developer updates OSVR Organization 2016年7月29日
- ^ Collabora Has Been Working On A Fully-Open HTC Vive Driver Phoronix 2016年10月12日
- ^ Report: Collabora Is Analyzing Vive's Lighthouse Signals VR on Linux 2016年9月20日
- ^ GDC 2017 -「TrueAudio Next」のないゲームサウンドは,テクスチャのない3Dグラフィックスのようなもの!? AMDが採用を呼びかける 4Gamer.net 2017年3月4日
- ^ Web Audio API W3C Recommendation, 17 June 2021 World Wide Web Consortium 2021年6月17日
- ^ AMD、リアルタイムレンダリングのVR向け音声技術 ASCII.jp 2016年8月18日
- ^ Devs can now mess around with Valve's free (beta) Steam Audio SDK Gamasutra 2017年2月23日
- ^ 『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
- ^ 『Android Native Development Kit Cookbook』 Felpeng Liu 2013年3月26日 ISBN 978-1849691505
- ^ Features Facebook
関連項目
編集