3D graphics are a big part of the Aurora Solar experience, but you may never have thought about how they’re made. Optimizing 3D graphics is a moving target as the needs of our customers change, so we strive for continuous improvement. We aim to make our 3D modeling and visualization of solar installations clear, beautiful, and unobtrusive.
This article introduces relevant concepts and reveals some of the rendering enhancements we’ve recently released.
What is rendering?
In 3D graphics, rendering is the process of creating an image from the 3D representation of a scene. In our case, the scene is the geometric representation of the solar installation. This includes electrical components like solar panels and inverters, the building on which they may be mounted, and the surrounding scene, like the sky or trees. We construct triangles from the objects in the scene and then render the triangles to the pixels on your screen.
How does Aurora render?
Aurora Solar uses three.js to leverage WebGL to efficiently render complex scenes on your computer. We support a large range of hardware via the web browser, from laptops with dedicated GPUs to budget laptops with integrated GPUs, in addition to iPads for mobile sales.
How can we improve rendering at Aurora?
We recently evaluated how to improve rendering at Aurora without complicating the user experience, and identified some techniques that would benefit users now and lay a foundation for future changes. We have started with image-based lighting.
The improvement we’ve made here is integrating image-based lighting to approximate indirect light coming from the environment. Previously, we had an ambient light, which adds some amount of light uniformly to everything in the scene. This is the most basic approach to making sure that the shadowed side of objects (away from the sun) gets some light on it so that it’s not pitch black. Effectively, this is an approximation of the average amount of light that would bounce off of other surfaces.
The problem with this approach is that it doesn’t adjust well to different times of day. The irradiance, or indirect (bounce), light at a point changes depending on the light source and nearby objects. Our primary light source, the sun, also changes intensity throughout the day.
A common technique to better approximate this indirect light contribution is to use an environment map, which is an image that stores a color representing the distant light coming from every direction toward an object. For example, if you have a character in a game walking around outdoors, the light from the sky and the horizon remain nearly constant as they move around over short distances.
This is where a key insight emerged. At Aurora Solar, the important and static parts of the environment are usually the sky and the ground. The ground usually has a map texture on it. By using that as a part of our environment lighting we can make the lighting shift realistically when the map changes to different parts of the world. This makes everything look more realistic and integrated.
The effect is subtle, but now when we go from high noon to sunset we get consistently better colors.
In the images above, the home and trees no longer feel out of place in the environment for any time of day.
These improvements better represent the light on the system and structures. With balanced lighting for any time of day it’s now easier than ever to assess shading in Aurora Solar projects.
But it doesn’t end here, there’s a lot more we will do to keep improving. Stay tuned for more articles on how we’re continuing to improve the clarity, accuracy and beauty of our visualizations.
Have more questions about Aurora graphics, how we’re improving them, and how they can help your solar business? Schedule a quick, personalized demo to learn more.