add diffuse on surface, if has no surface color

Signed-off-by: Cristian Ritter <cristian_ritter@hotmail.com>
This commit is contained in:
Cristian Ritter
2024-08-26 10:17:50 -03:00
parent ae2933eea5
commit 9fceec35cc
+3
View File
@@ -577,6 +577,9 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcStyledItem* inst) {
if (rendering_style->DiffuseColour() && process_colour(rendering_style->DiffuseColour(), rgb)) {
const taxonomy::colour& old_diffuse = surface_style->diffuse ? surface_style->diffuse : white;
surface_style->diffuse = taxonomy::colour(old_diffuse.r() * rgb[0], old_diffuse.g() * rgb[1], old_diffuse.b() * rgb[2]);
if (!surface_style->surface) {
surface_style->surface = surface_style->diffuse;
}
}
if (rendering_style->DiffuseTransmissionColour()) {
// Not supported