google/filament

Spot light shows no shadow on invisible plane.

Open

#6.178 geöffnet am 12. Okt. 2022

Auf GitHub ansehen
 (6 Kommentare) (1 Reaktion) (1 zugewiesene Person)C++ (20.060 Stars) (2.178 Forks)batch import
good first issue

Beschreibung

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);
    }
}

Contributor Guide