ambient_model 0.2.1

Ambient model functionality. Host-only.
Documentation
struct LoadingMaterialParams {
  speed: f32,
  scale: f32,
};

@group(MATERIAL_BIND_GROUP)
@binding(0)
var<uniform> loading_params: LoadingMaterialParams;

fn get_material(in: MaterialInput) -> MaterialOutput {

    let progress = sin(global_params.time * loading_params.speed - length(in.local_position) * loading_params.scale) * 0.5 + 0.5;

    var out: MaterialOutput;
    out.roughness = 0.3;
    out.metallic = 1.0;

    let color = get_entity_color_or(in.entity_loc, vec4<f32>(1., 1., 1., 1.));

    out.opacity = progress;
    out.alpha_cutoff = 0.;
    out.base_color = color.rgb;
    out.emissive_factor = vec3<f32>(1., 1., 1.);
    out.shading = 1.;
    out.normal = in.normal;
    return out;
}