「Veldrid」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「'''veldrid'''とは、完全にクロスプラットフォームであり、DirectXやOpenGLなどのグラフィックスAPIに依存しない.NET用のレンダ…」)
 
1行目: 1行目:
'''veldrid'''とは、完全にクロスプラットフォームであり、DirectXやOpenGLなどの[[グラフィックスAPI]]に依存しない[[.NET]]用のレンダリングおよび[[GPGPU]]の[[ライブラリ]]である。
+
'''veldrid'''とは、完全にクロスプラットフォームであり、[[DirectX]]や[[OpenGL]]などの[[グラフィックスAPI]]に依存しない[[.NET]]用のレンダリングおよび[[GPGPU]]の[[ライブラリ]]である。
  
 
システムのGPUへの強力で統一されたインターフェイスを提供し、他のどの.NETライブラリよりも高度な機能を備えています。 他のプラットフォームまたはベンダー固有のテクノロジーとは異なり、Veldridを使用して、真にポータブルな高性能3Dアプリケーションを作成できます。
 
システムのGPUへの強力で統一されたインターフェイスを提供し、他のどの.NETライブラリよりも高度な機能を備えています。 他のプラットフォームまたはベンダー固有のテクノロジーとは異なり、Veldridを使用して、真にポータブルな高性能3Dアプリケーションを作成できます。

2020年3月9日 (月) 07:03時点における版

veldridとは、完全にクロスプラットフォームであり、DirectXOpenGLなどのグラフィックスAPIに依存しない.NET用のレンダリングおよびGPGPUライブラリである。

システムのGPUへの強力で統一されたインターフェイスを提供し、他のどの.NETライブラリよりも高度な機能を備えています。 他のプラットフォームまたはベンダー固有のテクノロジーとは異なり、Veldridを使用して、真にポータブルな高性能3Dアプリケーションを作成できます。


SPIR-Vを利用

Veldridではプログラマブルシェーダは必ず「SPIR-V」を経由する(アプリのビルド時にSPIR-Vで保持する)。

VeldridにはVulkan SDKに含まれる「spirv-cross」を内包しており、これを利用して、DirectX環境であればSPIR-VからHLSLに、OpenGL環境であればSPIR-VからGLSLに、macOSなどであればSPIR-VからMetal(MSL)に実行時に動的に変換される仕組みとなっている。Vulkanの場合はSPIR-Vそのまま実行だ。すばらしいね。

サポートしているグラフィックスAPI


ビュー単位で実装可能

MonoGameなどのようにSDLを利用している似たようなライブラリもあるが、それらはSDLの制約によりウインドウ全面をサーフェイスにしてしまうものばかりだ。この方式のはボタンやテキストボックスなどの部品を自前実装しないといけないなどの制約があり、ゲームであればいいが3DCADなんかを実装しようと思うと非常に不便であった。

一方、Veldridではビュー単位も簡単に実装できる。Xamarin.Macで「ビューコントローラに載る1つのビューだけがVeldridで描画」などということもできる。つまりNSOpenGLViewと同じようなことができる。ボタン類なんかも普通のアプリ開発と同様にXcodeでポチポチすることができる。すばらしいね。

外部リンク