繁体   English   中英

函数texture()采用什么参数?

[英]what parameters does the function texture() takes?

float texture(gsampler2DArrayShadow sampler, vec4 P, [float bias]);

在OpenGL ES(shader lang)中查看此函数。 我不明白gsampler2DArrayShadowsampler2DArrayShadow之间的区别。 你能解释一下吗? 我读到'g'可能意味着什么,或者我或你。 但那么这种类型呢?

另外,'[float bias]'是否意味着我们有2个函数:使用此参数而没有?

每当你看到前缀在GLSL可变型g在函数原型,即,这意味着存在用于每种类型的数据的过载的速记约定。 例如,接受gvec的函数意味着它具有ivecuvecvecdvecbvec等的过载。

桌面GLSL除了固定/浮点外还支持整数采样器,因此您将看到使用gsampler...而不是sampler...定义的许多函数,这意味着该函数具有isampler...usampler...除了较传统的各种重载。


至于[float bias] ,用于控制mipmap LOD偏差。 如果不为该参数提供值,则GL会计算偏差本身。

有趣的是,由于mipmap LOD的计算方式,只有纹理查找的片段着色器多种支持自动mipmap选择(它与每片段衍生计算有关)。 要在顶点着色器中使用textureLod (...) ,您必须使用textureLod (...)显式选择LOD或使用textureGrad (...)提供您自己的偏导数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM