google/filament

Spot light shows no shadow on invisible plane.

Open

#6.178 aberto em 12 de out. de 2022

Ver no GitHub
 (6 comments) (1 reaction) (1 assignee)C++ (2.178 forks)batch import
good first issue

Métricas do repositório

Stars
 (20.060 stars)
Métricas de merge de PR
 (Mesclagem média 4d 19h) (63 fundiu PRs em 30d)

Description

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

Guia do colaborador