Document

First Step of Vulkan Port for Paradox
Silicon Studio Technology Division
2
シリコンスタジオについて
ゲームエンジン
ミドルウェア
ゲーム開発
3
Paradoxについて
C#ゲームエンジン
Visual StudioとGame Studioで開発
クロスプラットフォーム:Android, iOS, Windows, UWP
オープンソース
4
ParadoxとVulkan
Paradoxグラフィックレイヤー
OpenGL4
DX11
グラフィック
ドライバー
Port to
Vulkan
Vulkan
H/W
DX12 Metal
5
Vulkan グラフィックス パイプライン ステージ
OpenGL4やDX11にとても似ている
InputAssembler
Stage
Tessellator
Stage
Rasterizer
Stage
OutputMerger
Stage
6
Vulkan パイプライン ステート
OpenGL4/DX11
Vulkan
Input Assemblerステート
Rasteriserステート
Depth-stencilステート
Blendステート
その他ステート
パイプライン
ステート
• 描画の度にコンパイルしなくても
よい
7
Vulkan のコマンドバッファ
OpenGL
/DX11
Vulkan
Draw Call
Driver Processing
GPU
User Code/CPU
Draw Command
コマンドバッファ
Draw Command
コマンドバッファ
Draw Command
コマンドバッファ
User Code/CPUs
キュー
GPU
8
Vulkan のシェーダー
シェーダーを事前コンパイルできる(SPIR-V)
バイトコードのシェーダー
• 実行時の負荷が少ない
Paradox
Shader
Language
Offline compile
HLSL
GLSL
SPIR-V
DirectX
OpenGL
Vulkan
9
Vulkanを触ってみた感想
a. まだ開発段階
b. ステートなどの各種オブジェクトを事前にコンパイルし
ておかなければならない
c. グラフィック抽象化レイヤーを作り直す必要がある
i. Paradoxは既にVulkanをサポートしています
ii. Vulkanが公開されたら、リリースする予定です