Skip to content

MouseChannel/MCRT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€·πŸΌβ€β™‚οΈ MC Rendering-RunTime πŸ€·πŸΌβ€β™‚οΈ

 Window  Linux  Android

🌞Overview🌞

🫱 support platform

  • βœ… Windows πŸ’»
  • βœ… Linux πŸ’»
  • βœ… Android πŸ“± (Not all features are supported)
  • ❌ Mac πŸ’» todo

🫱 work flows

  • RayTracing Pipeline: πŸ™ has not support in Mobile
  • Graphic pipeline: πŸ’ͺ support all platform

🫱 some showcase


IBL-PBR raytracing

IBL-PBR workflow in RedMIπŸ“± 12

realtime Ambient Occlusion

Volumetric cloud πŸ‘ˆπŸ‘ˆ-----------------πŸ‘‰πŸ‘‰ Path tracing

πŸ”₯ Detail / FeatureπŸ”₯

🫱 Native SKYBOX

  • render a native (2048*1024)HDRI to SKYBOX

🫱 PBR By IBL(Image Base Lighting) pre_rendering

  • pre_calculate IBL_Gbuffer by Compute_pipeline
  • pbr in Graphic Pipeline using IBL_Gbuffer,and also works on Android
  • pbr in RayTracing Pipeline using IBL_Gbuffer,with single bounce to make it real-time

🫱 Vulkan CUDA interOP

compute-heavy task can be handled by Computer-Shader or CUDA

  • Vulkan-CUDA Memory share and Image_data share,sync by Semaphore

🫱 Volumetric cloud rendering

raymarching cloud density from 3D perlin noise.

Use vulkan raytracing pipeline to raymarching, so A supported GPU and Driver is necessary.

  • 🌟 pre_compute 3D(256x256x256) Perlin-Noise by compute shader, and sampling by boundary mirror uv to make it continuous
  • 🌟 raymarching in rmiss shader-stage, use ray-max-range in traceRayEXT to simulate one step in raymarching

🫱 Off-line Rendering

support offline rendering using Path Tracing by vulkan raytracing pipeline

also A supported GPU and Driver is needed, like NVIDIA RTX 20-Series or higher version, and AMD Radeon RX 6600 XT or higher version

  • 🌟 Importance Sampling Path Tracing
  • 🌟 Disney style BRDF shading in Path Tracing
  • 🌟 Noise reduction using joint bilateral filtering by compute pipeline