Discover the major features and changes in Naker: better material management, improved RTX rendering, a brand new UI and many other things !
When you deal with 3D rendering, the performance of your solution is often a subject and a question asked by your leads. At Naker we always put that subject as one of our priorities and everything we do, we do it with the performance constraint in mind. Check this previous article showing how we divided by 3 and more the CPU/GPU usage of our viewer last year.
And there are always things to add to be more performant and have a better tool. Here is a list of the main things we changes recently:
We focused on creating a better material management System. Material Management is one core feature of Naker because thanks to it we are able to create infinite content and personalized product for our customers in a quick way. But all of these capabilities quickly led to a lot of material parameters to store so we needed to create a better way to save and manage materials. Now everything is stored in one unique list which keeps all parameters for each material no matter where and how it is used. Thanks to this improvement, we can modify a material parameter and it will be applied instantly anywhere on the model. It allowed us to also improve the material creation experience in our App with a more direct and simple way to manage materials available for each of the client's products.
Secondly, we also found new ways to improve rendering performance. The first is with shadows because shadows are really consuming calculations. And the solution was pretty simple. The shadow needs to be calculated only if the model is moving. And most of the time, the model is not moving in Naker but the camera is. So, in a basic Naker scene you only need to calculate shadow once instead on every frame which is drastically reducing the shadow calculation cost. Thanks to those performance enhancements, we were able to also improve the rendering quality. Indeed, having to make only one shadow calculation allowed us to really push the shadow quality for a way better result !
Then we want our clients to have the most beautiful experience possible on their website which means having the highest scaling rendered. But some devices can't handle a high resolution. We previously let the client choose if he wants to have the rendering in HD or not but the thing is, we always want to best resolution possible whatever the device. So we created an adaptative scaling algorithm. It will check the device calculation capabilities and adapt to it. Same way youtube is adapting the video quality depending on your internet connection. Thus we are sure to deliver the best experience possible on every device.
Thanks to the amazing work of our 3D Engineer @Dadou and our Lead developer @Portos, we were able to access our Raytracing engine parameter and greatly improve both speed and quality of rendering. So now when someone is using our rendering feature he can expect to have your images twice faster which is a huge improvement for our users. Plus at the same time, your image will be better looking with improved light, shadows, and reflection. Raytracing is a completely different way of rendering a 3D scene so you will always have differences from what you see in the Naker App. But playing with the parameters we also manage to better match what you see in our App and what you will get from the Raytracing engine. This way you will be less surprised by the result even if it will never be exactly the same.
We choose Spectrum because we think their User Interface blocks and components are great. Plus we are using React as a developer framework and Spectrum has an awesome and very well-documented React package. This way we were able to have a fresh new look on our tool with a UI that looks way more professional than before. In terms of the feature development process, it also makes things easier as we do not need to think about the design of the blocks anymore but only about the User Experience. And thus focus on how we can make the experience for our users the smoothest and most pleasant possible.
These big and great improvements led us to see forward what we could continuously do better. And there are a lot of things coming like new features, new onboarding, continuous production launch, etc.
We can't wait to release these next changes so we will soon keep you in touch!