Falcor中を覗いてみる
中身を覗いて見たメモ。
Samples を見ると、IRendererインターフェイスの各コールバックを実装することで実装ができそうです。
Windowはglfwをバッググラウンドとして利用、Guiはimguiをラップしています。
Deviceクラスがありますが、共通部分はDevice.cppで実装、D3D12依存部分はD3D12Device.cppで実装といった感じに切り分けがされています。
主に api とついたプロパティやメソッドがAPI依存部分になっていそうですね。
DeviceがRenderContextを作成しますが、そちらもDeviceと同じように共通部分とAPI依存部分を分けています。
このRenderContextを通して、clear,drawcall,raytraceなどができる感じですね。