700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 着色器_片断着色器详解

着色器_片断着色器详解

时间:2021-06-06 22:37:21

相关推荐

着色器_片断着色器详解

本节学习目标

输入值和输出值如何渲染多个输出缓冲区

输入值和输出值

片段着色器内置变量

输入值:片段着色器接受顶点管线最终输出的迭代值,这些值包括片段的位置,已解析的主颜色和辅助颜色,一系列的纹理坐标以及片段的雾坐标距离。

下面这个表格,将是对这些变量的详细介绍

|变量|类型|描述|

|---|

|gl_FragCoord|vec4|片断的位置,包含z成分,它表示固定功能所计算的深度值,只读|

|glFrontFacing|bool|只读,指定这个片段是否属于一个正面图元|

|gl_Color|vec4|片段着色器的主色|

|gl_SecondColor|vec4|片段的辅助颜色|

|gl_TexCoord[n]|vec4|片段的第n纹理坐标|

|gl_FogFragCoord|float|片段的雾坐标|要么指定为视觉空间中的图元的z坐标,或者差值雾坐标|

|gl_PointCoord|vec2|一个点块纹理的片断位置在[0.0,0.1]|范围中,如果当前图元并不是点块纹理或者点块纹理被禁用|

特殊的输出值

在片段着色器中,特殊的输入值经过组合,产生片断的最终值.

gl_FragColor 是片断的最终颜色。

gl_FragDepth 片断的深度值

gl_FragData 允许把数据写入到额外的缓冲区中

如何渲染多个缓冲区

片段着色器可以使用gl_FragData 数组,把值同时输出到多个缓冲区,在数组元素gl_FragData[n] 中写入一个值将导致这个颜色被写入到缓冲区中一个适当的片段中,这个片段位于传递给glDrawBuffers()函数的数组的第n个元素中,片断着色器把值写入到gl_FragColor 或者gl_FragData 中,但是不能同时写入到两者中.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。