【发布时间】:2017-07-14 23:45:23
【问题描述】:
我正在学习 opengl,我认为我非常了解片段着色器。我的直觉是片段着色器对每个像素应用一次,但最近在处理纹理时,我对它们的工作原理感到困惑。
首先,片段着色器通常采用一系列纹理坐标,因此如果我有一个四边形,片段着色器将采用四边形 4 个角的纹理坐标。现在我不明白的是采样过程,它是获取纹理坐标并在该纹理坐标处获取适当颜色值的过程。具体来说,由于我只提供 4 个纹理坐标,opengl 怎么知道对颜色值之间的坐标进行采样。
当您考虑到顶点着色器直接进入片段着色器并且顶点着色器适用于每个顶点的事实时,这项任务变得更加混乱。这意味着在任何给定时间,片段着色器只知道对应于单个顶点的纹理坐标,而不是构成四边形的全部 4 个坐标。因此,当它一次只有一个纹理坐标可用时,它如何知道对适合屏幕上形状的值进行采样?
【问题讨论】:
-
"顶点着色器直接进入片段着色器" 你真的看过diagram of the OpenGL rendering pipeline吗?因为在VS结束和FS开始之间发生了很多事情。