Closed tigrazone closed 1 week ago
gkNextRenderer's targeting realtime rendering. currently i impl this 6 renderers, some for learning realtime raytracing, some for performance comparasion. I will explain the usage of them in comments later.
0: RayTracingRenderer A Groundtruth Path Tracing Renderer, targeting the ground truth result.
1: ModernDeferredRenderer A Experimental Renderer, basic implement of visibility buffer rendering, targeting performance benchmark.
2: LegacyDeferredRenderer A Experimental Renderer, basic implement of traditional gbuffer rendering, targeting performance benchmark.
3: RayQueryRenderer A RayQuery version of RayTracingRenderer, targeting support RayTracing on PC / Android / Mac / iOS, still a startup, will functional after a full-scope refactored.
4: HybridDeferredRenderer A HybridRenderer based on ModernDeferredRenderer, targeting support high-performance raytracing hybrid with traditional render method, currently provide 1~2 ray / pixel, runs on Android device with interactive framerates.
5: VulkanBaseRenderer A Basic Forward Renderer, the base class of all above, provide a simple render pipeline.
Thank you for explaination. I will add from users view: 1 ModernDeferredRenderer. shading diffuse only. no reflections, refractions, GI 2 LegacyDeferredRenderer. visually same as ModernDeferredRenderer 4 HybridDeferredRenderer. no refractions, with reflections. low level of GI, diffuse only GI. ray tracing depth = 2 rays(first hit from gbuffer - like Christoph Peters' MomentsInGraphics /vulkan_renderer do. Direct lighting + 1 bounce 5 VulkanBaseRenderer. visually same as ModernDeferredRenderer
please discribe renderers types and features of every renderer: 0: RayTracingRenderer 1: ModernDeferredRenderer 2: LegacyDeferredRenderer 3: RayQueryRenderer 4: HybridDeferredRenderer 5: VulkanBaseRenderer