@Nicolas_Bulgarides, depending on how the model’s materials were prepared (i.e. were the textures authored in blinn-phong with specular-gloss textures or physically based rendering (PBR) with metallic-rough or PBR specular-gloss textures), your three directional lights setup may not be the most optimal. From the differences I am seeing in the renders on the Google photos link you shared to the render I am seeing in engine, these materials look to be authored as PBR materials. I say this because it appears in the source renders that the metallics look more accurate and they appear to have an environment light. For the Babylon render you show, the areas of metal look flatter and not as metallic.
This is due to needing some environmental reflections in the form of an Image Based Light (IBL). If your models are loading from glTF, you will be using PBRMaterial already, so you just need to provide an IBL through an HDRI conversion to the scene. You can find them at places like Poly Haven, and then you simply download a file in .hdr format and drop into the sandbox. The rest of the documentation for generating an .env file is accurate, but we expanded it to support .dds and .hdr files to eliminate the conversion step to .dds. Using an environment with a single directional light will get your scene render closer to the sample renders.
If you don’t have a day/night cycle and your lighting doesn’t dynamically change, you can take advantage of baking your lights into shadow or light textures in Blender. This will allow you to render high quality shadows on your objects that don’t move in a texture so no calculations are necessary. There is an older thread from a few years ago that talks about light and shadow textures in Babylon that is worth a look.
If you are snapping your pieces to a grid, they have likely four possible rotations. This means you would need to bake four light/shadow textures per piece and apply the correct texture to match the rotation of the mesh, but the cost of the extra textures can be mitigated by loading them manually as needed and assigning them. This becomes a tax paid at load rather than on every frame, which will generally increase performance and render quality.
In looking at the Google Photos references, there are a couple images showing light projected on the ground. The “rays” you see are volumetric light. Light rays formed by particulate in the air that gives the impression of a column of light. For something like this, I would create the rays in mesh and then use an additive shader with some fresnel falloff to soften the edges of the ray. A dark color on an additive shader will give the impression of a ray of light and is really cheap in terms of performance. If your ground is always flat and at the same level where the light strikes it, I would cast the light like you would a shadow with a piece of mesh holding an emissive texture. This will simulate light being cast on the ground through the glass, but again without any light calculations.
Some of the thicker meshes like the arch that appears to be made of thick glass or gemstone may need some techniques like transmission (glTF) known as translucency in Babylon. This is a bit of an expensive technique so you want to be judicious in its use. It also needs some WebGL2 tech, so if you know your target devices may be really cheap, you may want to avoid it. You can also fake it with some UV manipulation of textures in the shader, especially if you are always viewing the scene from a locked camera angle.
This should be enough to get you pointed in a direction to do some prototyping and then pop back with questions. Good luck with the project!