时间导数,GLSL着色器
Time derivative, GLSL shader
GLSL 提供了 dFdx 和 dFdy,但为什么没有 dFdt?是否可以获得颜色随时间的变化率?
why isn't there dFdt?
t
从何而来? x
和 y
基于片段在 window space 中的位置,相对于正在渲染的图元的相邻片段。片段没有 t
.
渲染是一个 3 维过程,而不是 4 维。或者至少,在这方面不是 4 维的。
Is it possible to get the color's rate of change, with respect to time?
这取决于你的意思。您可以存储先前的帧缓冲区并从中读取以获取该位置的先前帧的颜色。但这不会让您获得 片段的 变化率。它将为您提供帧缓冲区的变化率。
毕竟两个片段是可以重叠的。混合会使两种颜色结合在一起。深度测试会导致一个覆盖另一个。因此,只有将之前的帧缓冲区图像与完全渲染的当前帧缓冲区图像进行比较,而不仅仅是渲染过程中的片段,这样的概念才有意义。
GLSL 提供了 dFdx 和 dFdy,但为什么没有 dFdt?是否可以获得颜色随时间的变化率?
why isn't there dFdt?
t
从何而来? x
和 y
基于片段在 window space 中的位置,相对于正在渲染的图元的相邻片段。片段没有 t
.
渲染是一个 3 维过程,而不是 4 维。或者至少,在这方面不是 4 维的。
Is it possible to get the color's rate of change, with respect to time?
这取决于你的意思。您可以存储先前的帧缓冲区并从中读取以获取该位置的先前帧的颜色。但这不会让您获得 片段的 变化率。它将为您提供帧缓冲区的变化率。
毕竟两个片段是可以重叠的。混合会使两种颜色结合在一起。深度测试会导致一个覆盖另一个。因此,只有将之前的帧缓冲区图像与完全渲染的当前帧缓冲区图像进行比较,而不仅仅是渲染过程中的片段,这样的概念才有意义。