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.
|
|
|
# SDFRT
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
## Known issues
|
|
|
|
|
|
|
|
+ Ŀǰ```Release```ģʽ����������������Ⱦ���Ʋ���Ŀǰ������Output imageֱ��Blit��Swapchain Framebuffer�ϵIJ���ˮ������
|
|
|
|
+ ����```Adaptive Step Size Relaxation```��Ⱦģʽ����ʩ�������ƻ���```Sphere Tracing```��Ҫ��һЩ
|