Implicit surface rendering via ray tracing
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.2 KiB

2 years ago
# SDFRT
2 years ago
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```�IJ��Ժ�ͬ```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�ϵIJ���ˮ������
+ ����```Adaptive Step Size Relaxation```��Ⱦģʽ����ʩ�������ƻ���```Sphere Tracing```��Ҫ��һЩ