我一直在想如何将两种渲染方法结合在一起,以一种方式将栅格化的屏幕形状用作片段着色器中基于光线行军的渲染的画布。
以这些美丽的例子为例:https://www.shadertoy.com/view/XsjXRm或https://www.shadertoy.com/view/MtXSzS 它们的可见部分可以大致表示为球体。现在,我要做的是将two spheres放到世界上某个地方,并运行常规的栅格化过程。栅格化将得出模型占用了哪些像素,对于那些像素,我想实际运行shadertoy射线行进算法以获得所需的外观(在上面的示例中,我的两个球体看起来像shadertoy“球体”)。 / p>
这可行吗?
P.S。我非常了解光栅化和矩阵/空间转换,但是我对光线行进的工作原理了解得很模糊。原谅我的无知。
答案 0 :(得分:1)
这绝对有可能。
这个想法是使用相同的相机进行光线追踪和光栅化。 您可以从片段着色器中的摄像机矩阵中获取摄像机的位置,您可以通过从摄像机的位置中减去片段位置并对其进行归一化来获取摄像机的方向。
这样光线只会从相机投射到可见片段。