0

我的例子是我有一个sponza模型,并希望阳光透过屋顶照进来,如图所示。如果我将阴影贴图设置为仅覆盖场景的一部分会怎样?在这个例子中,只覆盖屋顶上的洞,并将其他所有东西都设置在阴影中。我的想法是,将阴影贴图限制为仅覆盖屋顶上的洞会导致阴影贴图的分辨率更高,从而获得更好的阴影质量。

当我在片段着色器中读取纹理之外会发生什么?例如:

float depthTextureValue = texture(shadowMap, shadowCoordinate.xy).x;

纹理方法会返回 0 吗?-1?

4

1 回答 1

1

它取决于纹理(或采样器)的包装模式,可以glTexParamter*使用常数为每个轴设置GL_TEXTURE_WRAP_[STR]

两种最常见的模式是GL_REPEAT,它导致纹理环绕,或者GL_CLAMP_TO_EDGE,它重复纹理的边缘。

于 2015-07-30T14:47:31.880 回答