From 89c906a1fa39d8587db32a9825198695f8f54721 Mon Sep 17 00:00:00 2001 From: Jakob Hellermann Date: Sun, 20 Mar 2022 18:53:00 +0100 Subject: [PATCH] gltf-loader: disable backface culling if material is double-sided --- crates/bevy_gltf/src/loader.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/bevy_gltf/src/loader.rs b/crates/bevy_gltf/src/loader.rs index db42a5731dc5f..4bf665ffdf973 100644 --- a/crates/bevy_gltf/src/loader.rs +++ b/crates/bevy_gltf/src/loader.rs @@ -18,7 +18,7 @@ use bevy_render::{ color::Color, mesh::{Indices, Mesh, VertexAttributeValues}, primitives::{Aabb, Frustum}, - render_resource::{AddressMode, FilterMode, PrimitiveTopology, SamplerDescriptor}, + render_resource::{AddressMode, Face, FilterMode, PrimitiveTopology, SamplerDescriptor}, renderer::RenderDevice, texture::{CompressedImageFormats, Image, ImageType, TextureError}, view::VisibleEntities, @@ -473,6 +473,11 @@ fn load_material(material: &Material, load_context: &mut LoadContext) -> Handle< metallic_roughness_texture, normal_map_texture, double_sided: material.double_sided(), + cull_mode: if material.double_sided() { + None + } else { + Some(Face::Back) + }, occlusion_texture, emissive: Color::rgba(emissive[0], emissive[1], emissive[2], 1.0), emissive_texture,