GPU光线追踪
1.背景
此项目RayTracing的实现是基于OGL和ComputeShader的,计算的方法参考自Shirley的光线追踪教程,本文着重介绍在Compute Shader中如何编写Ray Tracing的计算过程。
2.ComputeShader简介
-
什么是Compute Shader?
Compute Shader 是GLSL着色器的一种,和Vertex和Fragment不同的是,CS是只有一级的管线,通过buffer(texture buffer、image buffer、SSBO)或者shared变量可以与CPU进行数据通信 -
Compute Shader特有的参数
计算着色器任务以组为单位,称为工作组Work Group,二级的单位称为本地工作组Local Workgroup,一级是Global Group; 例如location(local_size_x, local_size_y, local_size_z) 就是指的是本地工作组大小 -
Compute S