我的例子是我有一个sponza模型,并希望太阳照在屋顶上,如图所示。 如果我将阴影贴图设置为仅覆盖场景的某个部分会发生什么?在这个例子中,只覆盖屋顶上的洞,并将其他一切设置为阴影。 我的思维过程是限制阴影贴图仅覆盖屋顶上的洞,这将导致阴影贴图中的分辨率更高,从而提高阴影质量。
当我在片段着色器中读取纹理外时会发生什么? e.g:
float depthTextureValue = texture(shadowMap, shadowCoordinate.xy).x;
纹理方法返回0? -1
答案 0 :(得分:1)
这取决于纹理(或采样器' s)wrapping mode,它可以使用常量glTexParamter*
为每个轴使用GL_TEXTURE_WRAP_[STR]
函数进行设置。< / p>
两种最常见的模式是GL_REPEAT
,它会导致纹理环绕,或GL_CLAMP_TO_EDGE
,它会重复纹理的边缘。