bevyengine / bevyengine/bevy

Transmissive material doesn't allow light through

Open
#12,447 0 comments 0 reactions 0 assignees View on GitHub
A-Rendering C-Bug
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## Bevy version
0.13

## Relevant system information
`cargo 1.77.0-nightly (1ae631085 2024-01-17)`

`AdapterInfo { name: "Apple M1 Pro", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }`

## What you did

Spawned a cube with this material:

```rust
materials.add(StandardMaterial {
base_color: Color::Rgba { red: 0.455, green: 1.0, blue: 0.905, alpha: 1.0 },
specular_transmission: 0.95,
diffuse_transmission: 0.0,
thickness: 1.8,
ior: 1.0,
perceptual_roughness: 0.05,
reflectance: 0.5,
..default()
});
```

Then aimed a spot light at it.

This is the spot light:

```rust
SpotLightBundle {
spot_light: SpotLight {
color: Color::WHITE,
intensity: 5000000.0,
range: 200.0,
radius: 1.5,
shadows_enabled: true,
outer_angle: 0.2,
inner_angle: 0.05,
..Default::default()
},
visibility: Visibility::Hidden,
transform: *flashlight_origin_transform,
..Default::default()
};
```

## What went wrong

Point light doesn't go through it as it should (I think).

https://github.com/bevyengine/bevy/assets/72827992/221cdf41-9dbb-496b-b528-ae9a855bf4c9

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue with the provided StandardMaterial and SpotLightBundle setup on the reported Bevy version and Apple Metal environment. Trace the material transmission and light behavior from that reproduction; done means light passes through the transmissive cube as expected.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.