gameknife / gkNextRenderer

A Modern gkRenderer
15 stars 2 forks source link

renderers #5

Closed tigrazone closed 1 week ago

tigrazone commented 2 weeks ago

please discribe renderers types and features of every renderer: 0: RayTracingRenderer 1: ModernDeferredRenderer 2: LegacyDeferredRenderer 3: RayQueryRenderer 4: HybridDeferredRenderer 5: VulkanBaseRenderer

gameknife commented 2 weeks 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.

gameknife commented 1 week ago

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.

tigrazone commented 1 week ago

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