2021年11月16日

Evergineを発見してください...これまで以上に!

昨年私たちのグラフィックスエンジンで構築したすべての素晴らしい成果を共有できることを嬉しく思います。私たちは10年前に優れたプロフェッショナルチームと共にWaveEngineを開始し、この旅路で多くを学びました。そして今、このプロジェクトを次のレベルに進める準備が整いました。そのため、明確なビジョンを持って、このテクノロジーをEvergineにリブランドすることを決定しました。

私たちの使命は、C#言語に基づいた優れたグラフィックスエンジンを作成し、コンピューターグラフィックスの最新の進歩を産業分野にもたらすことです。これにより、企業がこれまで以上に簡単に3Dコンテンツを含む新製品を更新または作成し、幅広いデバイスやプラットフォームで提供できるようにします。

Evergineにより、DirectX、Vulkan、OpenGL、Metal、WebGLなどの最も一般的なグラフィックスAPIをサポートする統合グラフィックスプラットフォームを作成しました。これはデスクトップ、モバイル、Webプラットフォームで動作し、.Net 6.0の最新のパフォーマンス向上を活用し、WPF、Windows Forms、SDL、GTK、Cocoa、そしてMicrosoftが発表した最新のWinUIテクノロジーなど、最も使用されているUIテクノロジーも統合しています。

Evergineをダウンロードできます:

 

Evergineのハイライト

  • 新しいランチャー
  • C# 10対応の新しい.Net 6テンプレート
  • Visual Studio 2022プロジェクトのサポート
  • 新しいRayTracing API
  • 新しいドキュメントWebサイト
  • 新しいパッケージシステム
  • WASM Webアプリのデバッグ
  • 新しいエンティティプレハブ
  • 新しいポストプロセスグラフツール
  • AMD FidelityFX Super Resolution
  • WinUIアプリケーションのサポート
  • 新しく追加されるアドオン
  • 新しいImGUI拡張
  • 新しいGPUクエリAPI

 

統合グラフィックスプラットフォーム

Evergineは、DirectX、Vulkan、OpenGL、Metal、WebGLなどの最新グラフィックスAPIを使用した統合グラフィックスプラットフォームを提供します。新機能と改善点はすべてのプラットフォームで同時に利用可能になり、お客様のコードはデスクトップ、モバイル、Web上で動作します。

EvergineがサポートするAPI

 

Evergineは新しいリリースバージョニングに移行し、4.0バージョンをスキップして、カレンダーバージョニングを採用しました。

[年].[月].[日].[ビルド]

お客様にEvergineの最適かつ最新バージョンをご利用いただくことは当社の主要目標の一つであり、このバージョニングにより、実行中のバージョンが古くなっていないかを容易に確認できるようになります。

最初のEvergineバージョンは2021.11.17.Xです。

 

.Net 6とC# 10

Evergineは、.Net 6とC# 10の公式サポートを提供する最初のグラフィックスエンジンです。新しいEvergineランチャーから、新しい.Net 6 LTSを対象としたプロジェクトテンプレートが利用可能です。

この移行は2年前に.Net Coreの使用を開始したことに始まり、昨年には.Net 5をサポートする最初のグラフィックスエンジンの一つとなりました。これらの努力により、Microsoftがこの新技術をリリースしてからわずか1週間で.Net 6への容易な移行を実現できました。

.Net 6とVisual Studio 2022を使用することで、メモリ使用量の削減、高速なコード、ホットリロード、ILトリミング、高速なIO操作、レコード構造体、ARM64サポートなど、C#と.Netランタイムの最先端機能に自動的にアクセスできます。

 

新しいランチャー

ランチャーはEvergineでほぼ完全に書き直され、Evergineを使用したアプリケーション作成に必要なすべてのリソースを一箇所に集約した、新しい出発点の提供に重点を置いています。

ワンクリックで複数のEvergineバージョンをインストールでき、ローカルパッケージソースを設定可能にするなど、異なるソースを簡単に構成できるようになりました。

社内のナイトリーチャンネルを新しいソースとして公開しましたので、このチャンネルを通じてすべての実験的機能をお試しいただけます。

新しいランチャーには、サンプル、学習、サポートといったセクションが追加され、開発者にとって有益なリソースを容易に見つけられるようになりました。

Evergineのランチャー

新しいドキュメント

Evergineを使い始めるために必要な重要トピックを網羅した、新しい完全なドキュメントガイドを作成しました。ドキュメントセクションの改善は、フィードバック用GitHubページで最も多かった要望の一つであり、これがその成果です。

Evergineのドキュメント

RayTracingサポート

EvergineはデスクトップアプリケーションやWebサイトへの統合が容易であると同時に、NvidiaのRTXのようなグラフィックス技術の最新の進歩にもアクセスできます。

RTX技術は、新しいグラフィックスカードシリーズを使用してリアルタイムにレイトレーシングで3Dコンテンツをレンダリングするもので、従来のラスタライゼーション技術と比較して、レンダリングのリアルな質感を向上させる優れた代替手段です。

レイトレーシング技術はEvergineでサポートされており、DirectX 12とVulkan上の低レベルAPIの一部として提供されます。

Evergineのエフェクト

パッケージシステム

再利用性はソフトウェア開発において広く浸透した概念であり、開発者である私たちは、コードの一部を分離してライブラリ、コードスニペット、または異なるプロジェクトから利用可能なアセットを作成する方法を常に考えています。.NETの世界では、ライブラリを共有するためにNuGetパッケージを作成することが非常に一般的です。

Evergine自体はNuGet形式で配布されており、そのおかげで多くの組み込みビヘイビア、コンポーネント、サービスを提供していますが、EvergineプロジェクトのContentフォルダからテクスチャ、エフェクト、マテリアルなどのアセットを共有したい場合、それほど簡単ではありません。この問題を解決するため、私たちは新しいパッケージシステムに取り組んでおり、これにより複数のプロジェクトで再利用可能なアセットを配布できるようになります。

現在、デフォルトのプロジェクトテンプレートは、この新しいパッケージシステムを使用して、Evergine.Coreパッケージという名前で基本アセットをすべて配布しています。

Evergineのパッケージ

WASM Webアプリのデバッグ

私たちは、新しい.Net 6とBlazor WebAssembly SDK上に一連の技術を開発し、それを全く新しいWebGLテンプレートに組み込みました。これにより、これまで欠けていた機能、すなわちVisual Studio上でWebAssemblyにコンパイルされたC#コードをデバッグすることが開発者にとって可能になりました。

新しいEvergine Launcherから新規プロジェクトを作成し、WebGL2.0テンプレートを選択して、Visual Studioでソリューションを開いてください。READMEの指示に従ってプロジェクトをセットアップした後、コードにブレークポイントを設定し、再生ボタンを押せば、その魔法のような動作をご確認いただけます。

WebAssemblyデバッグ

WebAssemblyデバッグのサポートは、開発生産性における大きな飛躍であり、すべてのEvergine Webアプリケーションの品質、セキュリティ、パフォーマンスを向上させます。

新しいエンティティプレハブ

Evergineは、新しいプレハブシステムの初期バージョンを追加しています。このシステムには、現在コア機能が含まれており、今後さらに興味深い新機能の追加に取り組んでいます。この最初のバージョンでは、プレハブの作成とインスタンス化をサポートしています。

Evergineのプレハブ

ポストプロセッシンググラフツール

Evergineには、新しいポストプロセッシンググラフアセットが含まれており、レンダリングで使用するポストプロセッシングエフェクトのグラフを定義できます。

すべてのポストプロセッシンググラフノードは、レンダリングで最高のパフォーマンスを確保するためにコンピュートシェーダーに基づいており、これらはEvergine Studioのエフェクトツールで簡単に編集できます。

最もよく使われるエフェクトとそのソースコードを含むデフォルトのポストプロセッシンググラフも同梱されており、コンピュートシェーダーに基づいた新しいポストエフェクトの作成に役立ちます。

ポストプロセッシンググラフエディタ

AMD FidelityFX Super Resolution (FSR)

FidelityFX Super Resolutionは、AMDが開発した最先端の超最適化空間アップスケーリング技術を使用し、アプリケーションのフレームレート向上を支援します。

AMD FSR技術は、デフォルトのポストプロセッシンググラフ内のコンピュートノードとしてサポートされており、幅広いコンピューター上で高品質なシーンをリアルタイムにレンダリングするのに役立ちます。

低解像度の入力カラーレンダリング画像を受け取り、超解像アルゴリズムを適用して最終的な解像度の出力を生成します。これは、何百万もの微細な部品を含む複雑なCADファイルをエイリアシングなしでレンダリングするのに役立ち、品質モードを使用することで、結果はネイティブ解像度と非常に近くなります。

EvergineのAMD FSR

WinUIサポート

WinUIは、あらゆるWindowsデバイス上でモダンなアプリケーションを簡単に構築するためにMicrosoftが発表した最新のUIテクノロジです。Fluent Designを体現し、直感的でアクセシブルかつパワフルな体験と最新のユーザーインターフェイスパターンを可能にします。

Evergineを使用することで、WinUIベースの3Dアプリケーションの作成を開始できます。私たちは https://github.com/EvergineTeam/UIWindowSystemsDemoにサンプルを作成しました。

EvergineのWinUIサンプル

ImGUI拡張機能

ImGuiは、最小限の依存関係でGPUインターフェースを提示するシンプルな直接APIを使用する、非常に人気のあるグラフィカルユーザーインターフェースです。

私たちは、診断情報を表示するのに非常に役立つ内部拡張機能をEvergine.ImGui名前空間の下に作成しました。

現在、内部フレーム統計やその他の有用な情報を表示するためにImGuiを使用した、新しい診断内部ツールに取り組んでいます。

EvergineのImGui

近日公開のアドオン

新しいパッケージシステムを使用した、素晴らしいアドオンセットのリリースを間近に控えています。これらのアドオンはすべて、企業が共通のリソースを使用して産業用3Dアプリケーションを作成する際に直面する主要な課題を解決することが期待されています。

  • Azure Remote Rendering: Azure Remote Renderingは、最高品質の3Dコンテンツとインタラクティブな体験をMixed Realityにもたらします。このサービスはAzureの計算能力を利用して、最も複雑なモデルさえもクラウドでレンダリングし、リアルタイムにデバイスへストリーミングすることで、ユーザーが驚くほど詳細な3Dコンテンツと対話し、共同作業することを可能にします。
  • Noesis GUI: NoesisGUIは、XAMLに基づきGPU向けに最適化された、軽量なクロスプラットフォームグラフィックユーザーインターフェースライブラリです。EvergineでNoesisGUIを使用すると、Microsoft Expression Blendのような強力なXAMLツールを使って魅力的なユーザーインターフェースを作成できます。
  • CADフォーマット: 産業用CAD/3Dモデルを取得し、Evergineアプリケーションに取り込みます。IFC、STEP、IGES、STL、OBJフォーマットをサポートしています。
  • MRTK: Evergine.MRTKは、EvergineにおけるクロスプラットフォームXRアプリケーション開発を加速するためのコンポーネントと機能を提供するプロジェクトです。Evergine.MRTKは、以下のようなXRプラットフォームでのEvergine開発向けの基本的なビルディングブロックを提供します。
    • Microsoft HoloLens 2
    • Windows Mixed Realityヘッドセット
    • OpenVRヘッドセット(HTC Vive / Oculus Rift)
  • Bing Maps 3D: 3Dマッピングの魅力をEvergineにもたらします。Bing Mapsアドオンは、アプリケーションでBing Mapsの3Dマッピングデータを利用できるEvergine向けのマップコントロールです。

 

閉じる

これはパフォーマンス、機能性、ユーザビリティが大幅に向上した大規模なリリースであり、今後数週間から数ヶ月にわたってさらに多くの機能を発表していきます。

このリリースは、産業分野向けに可能な限り最高のグラフィックス技術を創出するという明確な理念のもと、多岐にわたる分野の才能ある人々からなる素晴らしいチームの尽力の成果です。

本内容にご関心をお寄せいただけたなら幸いです。今後もより多くの企業と協業し、優れた3Dソリューションの創出を支援してまいります。

 

Evergineチームを代表して、感謝を申し上げます。

Javier canton
著者
Javier Cantón
Plain Concepts Research