Browse Source

update README.md

master
ZCWang 2 years ago
parent
commit
3f1be94387
  1. 4
      CMakeLists.txt
  2. 38
      README.md
  3. BIN
      screenshot/capture.PNG

4
CMakeLists.txt

@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.15)
project(implicit_surface_ray_tracing LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD 17)
add_executable(${PROJECT_NAME})
include(cmake/func.cmake)

38
README.md

@ -1,3 +1,39 @@
# SDFRT
Implicit surface rendering via ray tracing
Implicit surface rendering via ray tracing
## Introduction
采用Ray Tracing(其实本质上是Ray Marching)解决隐式曲面的渲染问题,Backend为Vulkan,引入Nvidia的```NVVK```来简化各种资源的申请和初始化,输出可视实时渲染结果。目前仅支持硬编码隐式函数的渲染
## Dependencies
+ cmake >= 3.15
+ VulkanSDK >= 1.3
+ Nvpro_cores
## Project
+ ```implicit_surface_ray_tracing```:主项目,输出带GUI的隐式曲面实时渲染程序
+ ```Sphere_Tracing_CPU_Test```:在CPU上对```Sphere Tracing```的测试和同```Adaptive Marching Points```的对比(因为调试```Compute Shader```过于困难)
## Build
经测试在Win10 + MSVC下构建顺利,按照```Nvpro_cores```库的说明应该在Linux下也能正常构建,但没有测试
构建完成后需要```install```来移动资源,从而实现```Spirv```格式的Shader Module的加载
## Performance
以下测试中步进步数和其余项目是分开测试的,因为测试步进步数需要```Atomic Operation```,对实时性能影响较大
> 实际上用```glslc```对Shader做了控制,只有在```Debug```构建时才会测试步进步数
## Screenshot
![](./screenshot/capture.png)
## Known issues
+ 目前```Release```模式构建出来无法正常渲染,推测是目前暴力将Output image直接Blit到Swapchain Framebuffer上的操作水土不服
+ 现在```Adaptive Step Size Relaxation```渲染模式还在施工,估计会比```Sphere Tracing```还要快一些

BIN
screenshot/capture.PNG

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 KiB

Loading…
Cancel
Save