fix: 阴影采样器 CompareOp 反转(诊断残留 eGreater)+ 移除截图调试设施
根因:shadow sampler 停留在诊断期的 eGreater——比较语义全反, 全场 shade 被压到 0.3 变暗,唯独真影区 lit=1 反而全亮, 即"影子比环境亮、像光源"的现象。修回 eLess 后影子正常。 顺带清理:第 60 帧截图管线(HDRColor/ShadowMap0 → BMP)、 CPU 投影诊断日志、GetCaptureTarget 及 TRANSFER_SRC extraUsage。
This commit is contained in:
@@ -142,7 +142,7 @@ void main() {
|
||||
vec3 F0 = mix(vec3(0.04), albedo, metallic); // 电介质基准反射率 4%
|
||||
|
||||
vec3 Lo = vec3(0.0);
|
||||
float shade0 = 1.0f; // 【诊断】阴影系数可视化用
|
||||
float shade0 = 1.0f; // 第 0 盏光的阴影因子(环境光同步衰减用)
|
||||
|
||||
for (int i = 0; i < MAX_LIGHTS; ++i) {
|
||||
// 按类型分支:方向光无衰减;点光方向指向光源 + 平方距离衰减
|
||||
@@ -213,8 +213,6 @@ void main() {
|
||||
vec3 ambient = (diffuse + specular) * ubo.ambientColor.rgb
|
||||
* mix(0.4, 1.0, shade0); // 阴影区环境同步衰减(简化遮蔽)
|
||||
|
||||
vec3 color = ambient + Lo + emissive;
|
||||
|
||||
outColor = vec4(color, 1.0);
|
||||
outColor = vec4(ambient + Lo + emissive, 1.0);
|
||||
outVelocity = fragVelocity;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user