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) も搭載されていたSoftware Defined Visualization IntelIntel's SWR Removed From Mainline Mesa, More Classic Code Cleaning Continues Phoronix 2021年12月7日。
ソフトウェアラスタライザ
補助ライブラリ
大域照明 (GI) ライブラリ Enlighten (シリコンスタジオSilicon Studio acquires Enlighten tech from Geomerics GamesIndustry.biz 2017年6月15日←ARMARM swallows graphics software biz Geomerics to tart-up mobile games The Register 2013年12月13日←) リアルタイムGIミドルウェア。Unreal Engine用のものが提供されている。以前はUnityに標準搭載されていたEnlightenから堅牢なベイクした GI/リアルタイム GI 向けソリューションへの移行のお知らせ Unity Technologies 2019年7月3日。 NVIDIA VXGI (NVIDIA) リアルタイムGIミドルウェア。ボクセルコーントレーシングを実装している。iClone 7以降に搭載されているほか、Unreal EngineのVXGI統合ブランチが公開されている。 RTXGI SDK (NVIDIA) を使ったDynamic Diffuse Global Illumination (DDGI) 実装RTXGI: Scalable Ray Traced Global Illumination in Real Time NVIDIA 2020年3月23日。2.0で Neural Radiance Cache (NRC) と Spatial Hash Radiance Cache (SHaRC) を搭載したDownload RTXGI SDK 2.0 NVIDIA。 KICKSTART RT SDK (NVIDIA) Direct3D 11までなどのレイトレーシングAPI未対応の古い環境でレイトレーシングを行うための実装Kickstart RT SDK Getting Started NVIDIA。 Beast (Autodesk ← Illuminate Labs) リアルタイムGIミドルウェア。Autodesk Stingrayに標準搭載されていた。販売終了。
直接照明 (DI) ライブラリ NVIDIA RTX Direct Illumination (RTXDI) SDK - Nvidia RTXを使って多光源を処理するライブラリ。
環境遮蔽(AO) ライブラリ なお、DirectX 10.1のSDKには、AMDの開発したHDAO (高解像度環境遮蔽) のサンプルが付属していたHDAO10.1 サンプル Microsoft。 NVIDA ShadowWorks - 「HBAO+」(水平ベース環境遮蔽) を実装しているNVIDIA ShadowWorks NVIDIA。 NVIDIA VXAO - 「VXAO」(ボクセル構造を用いた環境遮蔽)を実装している。NVIDIA VXGIの一部NVIDIA VXAO NVIDIA。 Adaptive Screen Space Ambient Occlusion - Intelが開発している。DirectX 11対応。オープンソース。実装の詳細は書籍「GPU Zen」に記載されているAdaptive Screen Space Ambient Occlusion Intel 2017年2月13日。 XeGTAO - Intelが開発している「GTAO」(グランドトゥルース環境遮蔽)実装。
遮蔽カリングライブラリ Umbra (AmazonAmazon will develop autonomous delivery robot tech in Finland ユーロニュース 2021年7月1日←Umbra←Hybrid Graphics) 遮蔽カリングに特化したミドルウェア。旧dPVS。Unity及びUnreal Engineに対応していた。販売終了。
その他 SpatiotemporalBlueNoiseSDK (NVIDIA) - 時空間ブルーノイズの生成ライブラリ。 NVIDIA Reflex SDK - 低遅延化のためのライブラリ。
レイトレーシングベース レイトレーシングに向けた汎用計算パイプラインのものとレイトレーシング/ラスタライズのハイブリッドレンダリングに向けたグラフィックパイプラインのものが存在する。レイトレーシング対応のものは以下となっている: メーカー 異種コア計算 レイトレーシングコア AIデノイズ レイトレーシングレンダリング テンソル演算 AI 単独 マルチフレーム スケーリング同時実行 NVIDIA AMD Intel Apple MTLFXTemporalDenoisedScalerDescriptor - Apple Developer Documentation Apple Microsoft Khronos Group
レイトレーシングコアライブラリ レイトレーシングの交差判定に特化したライブラリ。標準APIにはVulkan拡張のVK_KHR_ray_tracingNVIDIA独自拡張であったVK_NV_raytracingの後継Vulkan Ray-Tracing Arrives With New Khronos Extension Phoronix 2020年3月17日、DirectX 12以降のDirectX Raytracing (DXR)、Metal 2のMetal Performance Shaders (MPS)のray intersectorMetal for Accelerating Ray Tracing Appleなどがある。
Embree - Intelが開発を支援している。オープンソース。Apacheライセンス。 Radeon Rays (AMD) - 旧AMD FireRays。オープンソース。MITライセンスAMD Publishes Radeon Rays 4.1 As Open-Source Phoronix 2021年5月11日。VulkanとDirectX 12に対応している(OpenCL対応は終了)。 HIP-RT (AMD) - HIPベースのレイトレーシングライブラリ。AMD及びNVIDIAのGPUに対応AMD Launches HIP-RT Ray-Tracing Library Phoronix 2022年4月12日。2.4で高速ながら比較的高品質なBVH生成アルゴリズム H-PLOCH-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日。 NVIDIA - NVIDIAのGPU用。OptiX APIとOptiX Prime APIがある。6.0でによるアクセラレーションに対応した。 PowerVR OpenRL SDK - PowerVR用のOpenRL実装。このOpenRLはKhronos Groupでの標準化が提案されていたPowerVRのImaginationが“ハイエンドGPU”の設計に着手。ハイブリッドレンダリングハードウェア,そして新API「OpenRL」とは? 4Gamer.net 2011年9月24日。開発終了。
またAMDのオープンソースVulkanドライバー (AMDVLK) では内部に使うライブラリとして GPU Ray Tracing Library (GPURT) が開発されているAMDVLK 2022.Q3.4 Driver Finally Adds Ray-Tracing Support For RDNA2 Phoronix 2022年9月13日(MITライセンスAMD GPUOpen Working On A New "gpurt" Open-Source Project Phoronix 2022年6月28日)。
レイトレーシングレンダリングライブラリ レイトレーシングコアライブラリ等を使ってレイトレーシングレンダリングを行うためのライブラリ。 OSPRay - Intelが開発を支援している。オープンソース。Apacheライセンス。 Radeon ProRender SDK (旧FireRender SDK) - AMDが開発を支援している。オープンソース。 NVIDIA Iray SDK PowerVR Brazil SDK - 開発終了。 HOOPS Luminate - 買収したRedway3D製のREDsdkに基づくTech Soft 3D Introduces HOOPS Luminate WTWH Media 2023年12月14日。
その他 Intel Open Path Guiding Library - パストレーシングの高速化に使われるPath Guidingの実装の一つ。オープンソース。Apacheライセンス。Academy Software Foundationが引き継ぎ予定Intel's Discontinued Open-Source OpenPGL Project Finds A New Home Phoronix 2026年2月18日。
ノイズ除去ライブラリ 多くはマルチパスにも使われている。
デノイザー 方式 対応 ガイドパスノイズの無いパスをガイドとして使用するもの。Joint Filteringや機械学習で実装されている。 静止画 動画(クロスフレーム) スフィアマップ アルベド 法線 深度 OptiX denoiser 機械学習 Denoiser NVIDIA Radeon Image Filter AI denoiser 機械学習 AI Denoiser Filter AMD OIDN 機械学習 Intel Open Image Denoise - Documentation Intel
モンテカルロ・レイトレーシング向け 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以降Appleseed team releases appleseed 1.9 CG Channel 2018年5月14日やLuxCoreRender 2.1以降LuxRender reborn as LuxCoreRender 2.0 CG Channel 2018年5月14日に搭載されている。開発停止中。 Altus SDK - InnoBright製。二組のレンダリング結果を使用してデノイズを行うFAQ InnoBright。ツール版も存在した。AltusはMaxwell Render、Guerilla Render、Redshiftなどに搭載されているMaxwell Render 4.1 brings Altus denoiser CGPress 2017年6月8日Guerilla 2.2 now available! Mercenaries EngineeringCheck out the new features coming up in Redshift 3.0 CG Channel 2020年5月27日。販売停止中。
ポストエフェクトライブラリ AIによる超解像度はダウンスケーリング(縮小化)と組み合わせることでアンチエイリアスの代わりとしても使われている。ダウンスケーリング側にもAIを使うシステムも存在する(NVIDIA DLDSRなど)Latest Nvidia drivers reveal AI-powered downscaling feature called DLDSR TechSpot 2022年1月11日。
メーカー 超解像度 AIアンチエイリアス シャープ化 リアルタイムデノイズ 可変シェーディング フレーム生成 単独 モーションベクトル使用 影レイ 反射レイ フルレイトレーシング NVIDIA colspan=2 nvidia-dlss-3-5-ray-reconstruction NVIDIA AMD AMDのRadeon Adrenalinドライバによって未対応のソフトウェアでも使用可能。なおRadeon Adrenalinドライバは旧Radeon Software Adrenalin←Radeon Software Crimsonであり、AMD Catalystの後継。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日 colspan=2 Intel Microsoft DirectSR Microsoft Variable-rate shading (VRS) Microsoft Apple
NVIDIA NGX - 機械学習ベースのインペイント、スローモーション、アップスケーリングが含まれている。DLSS単体のDLSS SDKもある。 AMD FidelityFX - Content Adaptive Sharpeningが含まれている。MITライセンス。DirectX 12とVulkanに対応。高速MIPマップ生成用のFidelityFX Single Pass Downsampler (SPD) 、アップスケーリング用のFidelityFX Super Resolution (FSR) AMD Posts FidelityFX Super Resolution Source Code Phoronix 2021年7月15日、ノイズ除去のFidelityFX Denoiserもある。 NVIDIA Image Scaling SDK - アップスケーリング用。MITライセンス。 YEBIS (シリコンスタジオ) - ポストエフェクトミドルウェア。Substance Designer/Painterなどで使われていたSubstance tools to get Final Fantasy XV render tech CG Channel 2014年5月22日。 ReShade - インジェクションベースのポストエフェクトライブラリ。既存のソフトウェアに使用できる。オープンソース。BSDライセンス。
開発停止中 NVIDIA PostWorks - DirectX 11向け。時間的アンチエイリアシングのNVIDIA TXAA及び被写界深度エフェクトが含まれていた。レガシーNVIDIA PostWorks NVIDIA。
互換レイヤー
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環境 Zink Merged Into Mesa 19.3 For Offering OpenGL Over Vulkan 2019年10月28日 colspan=4 colspan=4 Direct3D 8 Support "D8VK" Merged Into DXVK Phoronix 2024年7月7日以前はDirect3D 9向けのvk9 (旧SchaeferGL)、Direct3D 8用のd8vkも存在した。 Direct3D 12環境 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日SPIR-VシェーダーからDXILアセンブリへの変換 (spirv_to_dxilライブラリ) も搭載されている。以前はVulkanOnD3D12やRostkatzeも存在した。 colspan=4 Metal環境 MGLも存在する。またMoltenGLもあるがOpenGL ES APIのみとなっている。 CodeWeavers Releases CrossOver 23.5 With A Focus On Boosting macOS Gaming Phoronix 2023年9月27日
(Khronos Group) Metal環境上のVulkan API実装。オープンソース。Apache License 2.0。 DXVK Vulkan環境上のDirect3D 9/10/11 API実装。オープンソース。zlibライセンス。d9vkを統合したD9VK Merged Into Upstream DXVK Phoronix 2019年12月16日。Protonなどで使われている。 派生版としてDirect3D 3/5/6/7に対応するd7vkが存在するD7VK Aims To Deliver Direct3D 7 Atop Vulkan Phoronix 2025年11月7日。 vkd3d (WineHQ) Vulkan環境上のDirect3D 12 API実装。オープンソース。LGPLライセンス。WineWine 7.4 Released With VKD3D Bundled, WineD3D/D3D12/DXGI Converted To PE Phoronix 2022年3月11日などで使われている。 派生版としてvkd3d-protonが存在し、Protonに使われているValve Working On A VKD3D Fork For Getting Direct3D 12 Advanced For Proton / Steam Play Phoronix 2020年7月6日。 DXGL OpenGL環境上のDirectX 1〜7 API実装。オープンソース。LGPLライセンス。 (Google) Direct3D 9/11、OpenGL、Vulkan、Metal環境上のOpenGL ES API実装であり、主にブラウザのWebGL実装に使われている。オープンソース。BSDライセンス。コンパイラ部分は3Dlabs(現ZiiLABS)のオープンソース実装を基にしている『GPU Pro 6: Advanced Rendering Techniques』 P.525 Wolfgang Engel 2015年9月3日 。Windows版Google ChromeやFirefoxで使われている。 MojoShader HLSLのバイトコード (DXBC)やDirectXアセンブリをGLSLシェーダーやARBアセンブリ、Metalシェーダーなどに変換するライブラリ。Shader Model 1.x (Direct3D 8世代)から3 (Direct3D 9.0c世代)まで対応している。『Video Game Optimization 1st Edition』P.210 Eric Preisz 2010年3月1日 などのゲームやUnityShading language used in Unity Unity Technologiesなどのゲームエンジンで使われている。オープンソース。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実装Open Sourcing Direct3D 9 on 12 and the Release of the DXBC Signer NuGet Package Microsoft 2021年7月21日。オープンソース。MITライセンス。両者の共通部分もD3D12 Translation Layerとしてオープンソース化されているD3D12 Translation Layer and D3D11On12 are now open source Microsoft 2020年1月14日。
開発停止中 dxup Direct3D 11環境上のDirect3D 9/10 API実装。DXVKと組み合わせてVulkan環境上で動かすこともできたDXUP: Taking Direct3D 10 To 11 For Running On Vulkan Phoronix 2018年5月1日。 hlsl2glslfork Direct3D 9時代のHLSLシェーダーをGLSL/GLSL ESシェーダーに変換するライブラリ。ATI Technologiesによって開発されたHLSL2GLSLをフォークしたもの『3D Engine Design for Virtual Globes』 P.45 Patrick Cozzi、Kevin Ring 2011年7月1日 。オープンソース。以前Unityで使われており、Unity Technologiesにより開発が継続されていたが、現在、開発がメンテナンスモードとなっているhlsl2glslfork Aras Pranckevičius。 ToGL (Valve Corporation) 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の抽象化レイヤーNVIDIA Releases More GameWorks Projects As Open-Source With Linux Support Phoronix 2021年7月19日。 Intermediate Graphics Library (Meta) OpenGL/Vulkan/Metalの抽象化レイヤーMeta Releases Intermediate Graphics Library "IGL" Built Atop Vulkan, OpenGL Phoronix 2023年7月7日。
シーングラフベース ステータス オープンソース SGI Microsoft Apple 過去 Open Inventor Direct3D Retained Mode OpenSceneGraph Cosmo3D Scene Graph 現行 VulkanSceneGraph Windows Presentation Foundation
AppleのmacOSやiOSに搭載されているシーングラフベースの3Dライブラリ。言語はObjective-C。 Qt 3D Qtに含まれる3Dライブラリ。オープンソース。シーングラフはXMLベースのQML形式。エンティティ・コンポーネント・システムを採用しているPorting Qt 3D to Qt Quick 3D: A Migration Guide The Qt Company。 Qt 3Dは標準レンダリングパイプラインが存在しておらず、自分でレンダリングパイプラインを書く必要がある。姉妹ライブラリとしてゲームエンジンのようなレンダリングが可能な Qt Quick 3D も存在するQt 6.11 Toolkit Released With "The Same 3D Capabilities As A Game Engine" Phoronix 2026年3月23日。 Open Inventor OpenGL向けのシーングラフを中心としたライブラリ。オープンソース。 互換実装の も存在する。 VulkanSceneGraph Vulkan向けのシーングラフを中心としたライブラリ。オープンソース。