片段着色器是否在屏幕外运行?

Mut*_*aka 5 javascript shader glsl webgl fragment-shader

我使用的是webgl 1.0。

我想知道,如果我将顶点设置在-1〜1范围之外,则片段着色器是否在屏幕外(也可以在帧缓冲区外)运行。

[示例]
如果我设置如下。
绘制类型:gl.LINES
顶点:[-100000,-100000, 100000, 100000]<--- 1点2点制

我认为在设置
顶点时显示结果是相同的:([-1,-1, 1, 1]
两个结果都是从左下到右上显示1条直线。)

我想知道第一个示例是由于运行大量片段着色器而导致性能降低。

Rab*_*d76 4

不,片段着色器仅处理视图体积中的片段。其他片段被剪掉。

元在顶点后处理阶段被剪裁。

裁剪规则应用于裁剪空间坐标 ( gl_Position):

-.w <= .x, .y, .z <= .w
Run Code Online (Sandbox Code Playgroud)

片段处理是在光栅化之后进行的。
另请参见渲染管线概述