SolidWorks is one of those applications that likes to push boundaries.
One could argue that it was the first reasonably priced solid modeller that actually worked, resulting in a dedicated base of users doing some of the most diverse designs of any solid modeller on the market.
When it comes to 3D graphics, SolidWorks also raised the bar with “RealView”, the realistic interactive real time renderer.
The surprising thing is, from talking with the SolidWorks users that I meet, RealView appears to be underused.
Some argue that it’s because they are modelling something simple, like a basic engineering part and not a flashy industrial design, but I would suggest that RealView has a much broader application.
Most things that are designed and manufactured need to be looked at and handled in some way. In the past I worked for a tooling company where everything we made consisted of various colours of grey steel.
Using RealView lighting on these types of models would mean I would have been able to see where the shadows were being cast and where to design the grab holds on which to mount the jig to the machine.
SolidWorks has moved on with its RealView engine over the last few years. When Ambient Occlusion was first implemented in SW2008 it wasn’t real-time and had to be switched off when spinning the model.
Ambient Occlusion is a way of looking at light that is bouncing off of the object itself, helping it look less rendered and more lifelike.
In SW2013 a draft technique derived from Screen Space Ambient Occlusion (AO) that allows a fast approximation of AO in real-time was implemented.
This was more of what designers were looking for, as it allows them to check the look and feel of their model whilst it is rotating.
SolidWorks has lots more toys too. Self shadowing is employed, where one component casts a shadow onto itself or onto other components in the assembly.
This utilises a PCF (percentage close filtering) technique to smooth shadow edges at no cost in time to compute — the blurring is done in the GPU hardware. We all like free stuff.
Full screen Anti-Aliasing is a way of stopping the “jaggies” (the little steps you get with lines and edges).
Anti-Aliasing basically fills in the gap with a little pixel to smooth the edge so it looks as it does in the real world.
If you are into aesthetic design it adds a lot to the viewport, but if you use this with an HD resolution and above display it can make the graphics card work quite hard, so you might need to get a faster one.
SolidWorks 2014: Transparency on steroids
SolidWorks 2014 has just been announced and includes an important new graphics technology called Order Independent Transparency (OIT).
OIT assembles a “pixel-accurate” representation of the model and its surrounding geometry in the GPU memory.
This creates a more practical transparent 3D viewpoint for designers to continuously work within, helping improve the designer’s sense of “design intuition” and aid in better decision-making throughout the product development stages.
Simply put it means when you are in a transparency mode you can see objects closer to the screen more accurately and without errors.
The information is held in the GPU memory and can be acted upon quickly, thereby by improving the performance of an area that could slow down any design system.
The best news is that you can apply all of these effects at once, which is fairly unique (unless you’re using a dedicated styling application).
As you increase your assembly size, you are effectively increasing the amount of lines and surfaces you have to display on screen, so the slower the interactive model will go.
There are several ways to fix this. You can throw a high performing graphics card at it, write optimised code, or write support via one of the high level languages.
SolidWorks has VBOs (Vertex Buffer Objects) implemented in its OpenGL graphics engine.
These allow geometry to be stored in the graphics card (Frame Buffer) memory and even updated without using many CPU cycles. The more graphics memory you have then the larger the models are that can be manipulated without taking a performance loss.
If you have massive models then a faster card is still required but the combination of fast GPU, big frame buffer and a card that supports advanced OpenGL will allow a new level of assembly size to be edited interactively.
AMD also has several tools to help you with your implementation. AMD FirePro cards can use a free memory tool that shows how much memory is being used by your system and by your GPU.
There is also a tool that measures how many triangles you have in your model. Both of these are useful if you are pushing your system to its limits.
In summary, as the native screen image of SolidWorks can now be of such a high quality then the need to ray trace render with PhotoView 360, RealView Plus (a new viewport renderer for SolidWorks 2014), or other software is diminished.
All you need to do is take a screen grab. It is even better if you need to demonstrate your design to a customer as you can show interactively a 3D real object.
This is not as much as gimmick as it was once thought of. With all of the realism, effects and performance available with the advanced graphics and OpenGL functions, SolidWorks is pushing the boundaries of mid-range modelling software — if that term can be applied anymore!
The opinions expressed in this article are not necessarily those of AMD.
Real time graphics in SolidWorks, including brand new technology for 2014