google/filament

Spot light shows no shadow on invisible plane.

Open

#6,178 建立於 2022年10月12日

在 GitHub 查看
 (6 留言) (1 反應) (1 負責人)C++ (20,060 star) (2,178 fork)batch import
good first issue

描述

I'm trying to use spot light to cast shadow on invisible plane but can't make it work. I found that directional light can cast shadow on both visible and invisible plane while spot light only shows shadow on visible plane.

directional light + lit plane Screenshot_20221012_171950_com example filamentcamera

directional light + unlit & shaderMultiplier plane Screenshot_20221012_172227_com example filamentcamera

spot light + lit plane Screenshot_20221012_175009_com example filamentcamera

spot light + unlit & shaderMultiplier plane Screenshot_20221012_174330_com example filamentcamera

material of invisible plane

material {
    name : shadow,
    shadingModel : unlit,
    shadowMultiplier : true,
    blending : transparent,
    transparency : twoPassesOneSide,
}
fragment {
    void material(inout MaterialInputs material) {
        prepareMaterial(material);
        material.baseColor = vec4(0.0, 0.0, 0.0, 0.5);
    }
}

貢獻者指南

Spot light shows no shadow on invisible plane. · google/filament#6178 | Good First Issue