It seems "realtime rendering” is all the rage right now. I’m sure you’ve heard of it, but just in case you haven’t here is a quick explanation: your 3d object or scene is being rendered by the computer on the fly, allowing the person viewing it to interact with the model and look wherever they want. The most common application of it is in video games, and as far as architectural visualization is concerned, it’s what’s next.
There are programs like Octane, Unreal Engine, Lumion, Keyshot, Revizto, and Autodesk Showcase to name a few of the players in this arena right now. There are lots of proprietary differences in each of them and they are all battling for your pocketbook’s attention. They seem to promise that they can take whatever you throw at them in terms of importing your 3d models and give you the ability to immediately interact with them in a fluid way, just like immersing yourself in a high-end video game. So the question is: can they deliver on that promise?
I’m writing this article thinking about a large(ish) scale architectural model as context for realtime rendering because that is the type of project I am usually working on. Some of the programs I mentioned are designed to show off smaller objects while others are targeted at medium to large scenes that you can walk though. I recently read an article about how architectural firm Gensler uses Octane to do realtime renderings. While realtime is an exciting progression of architectural visualization, to me the article comes off sounding like a marketing and sales pitch by both companies involved. I haven’t had the time to dissect every realtime program out there, but they are similar in the same ways ArchiCad and Revit are comparable in what they deliver in the BIM world. I’ve played with a few of them over the last couple of years, and they are constantly getting updated so major aspects of the programs are getting better all the time.
Many of these programs are relatively low cost or free (and by free I mean included in your $ubscription package), and the truth is that these are really on the bleeding edge of computer graphics and 3d visualization. If you dig a bit, you’ll see that you need lots of GPU power to accomplish anything worthwhile and “realtime". If you are working in interior scenes, you’ll probably need even more hardware, which potentially means two to four GPU’s to get anything near realtime rendering with decent frame rates. That not only comes at a substantial cost, but it also rules out the ability to do it on the go. Today’s portable devices (laptops, phones and tablets) aren’t powerful enough to pack the graphics processing power needed to pull off such a presentation in a client’s conference room. One would still have to render out the walkthrough to play it on a portable as an animation, and even though that process happens relatively quickly, it takes the interactive component out of the equation at that point. There are powerful laptops on the market, but they are enormous, hot and run loud because of fan noise from the heat. They lack a certain elegance that comes with small, thin and light portables. They seem to convey, albeit subconsciously, that it takes a lot of effort to pull it off. Presentations that come across as effortless always have the most impact if you ask me.
It might sound like I’m down on these programs, but I’m really not. I think there’s a ton of potential, and I’m excited to see how they develop. But I don’t need to be the one on the bleeding edge of this particular technology. I am not interested in using them currently for two reasons: 1.) Because of the expense of the hardware needed to run them effectively, and 2.) If you spend a little time in them you’ll see that the resolution, materiality, shading and shadow quality of certain objects is really lacking when you get too close to them. The scenes just fall apart at that point. They do a fine job at presenting an initial feeling, but they just aren’t there yet when it comes to creating a fulfilling, high fidelity experience like more traditional rendering programs can at the expense of interactivity. I completely understand that this is an emerging technology. I’m simply stating why it doesn’t work for me, yet. And it’s worth noting that we really shouldn’t compare the realtime capabilities of a program that displays a single or small assembly of objects to an architectural scene of any appreciable scale, which is more of a typical presentation scenario for me. Many demos of realtime rendering I’ve seen are of the former, because that truly is what they are very good at currently, less so the latter.
Perhaps you are still interested however, so I want you to understand what’s involved so you can be informed about the subject when it comes up.
SketchUp does realtime OpenGL rendering, and it’s probably almost solely responsible for most architects thinking that realtime (or any kind of rendering nowadays) is easy. The truth is that while we used to spend lots and lots of time rendering, SketchUp’s default images have always been good enough for most people. So a lot of people don’t render anymore. It takes time, and they don’t make nor have time. Other programs have followed suit and can provide similar imagery as SketchUp, if not better. For instance, the upcoming version of FormZ will have realtime ambient occlusion and bump mapping. Again, this is all predicated on the requirement that your GPU is good enough to handle it. These additions make for a more realistic scene right in the modeling window and help us “render” very quickly by just saving a view right from the raw modeling environment.
I’ll generalize a little bit here - these kinds of images don’t necessitate a sophisticated nor expensive machine to produce acceptable results. Graphics cards with as little as 1gb of memory can do it, which most consumer and certainly all of our just-higher-than-consumer-but-labeled-as-professional computers are capable of. The line has been blurred between consumer and professional machines because of all of the development coming out of the gaming industry.
The kind of realtime rendering I started out talking about at the beginning of this article is very different. It is not based on OpenGL. Octane, for instance, only runs on nVidia graphics cards that have their proprietary CUDA chipsets which were developed exclusively for this kind of realtime rendering. It’s something much nicer looking, and as I said it comes at a ($) cost, and it makes sense because one card can have as much as 4gb to 12gb of RAM on it. The upside is that you get reflections, soft shadows, animated people, 3d trees, adjustable environments, and more like in-scene physics, smoke, fire and fluid dynamics. These are all things that take our project imagery to another level of experience. It’s really exciting to see the video-gamification of our projects and that this new technology is enabling this kind of visualization and interactivity. Check out this clip from Lucasfilm showing off realtime motion capture and rendering for a taste of how this could be used in the movie industry. Also, Apple recently released their completely redesigned MacPro that has two high end ATI GPU’s built in, so they are clearly going the direction of higher GPU-intense applications. It all trickles down from there.
There is no “Easy Button"
It’s not easy to accomplish all of this stuff without quite a bit of hard work even though the Gensler/Octane article is trying really hard to make it sound that way. No, it doesn't only take 7 seconds to generate a physically accurate rendering of your model. That is not the true effort it takes. That is but one piece of the puzzle, and it’s why I’m writing about it here. Your clients may see it and ask about it. Your superiors (if you have them) will ask you about this stuff at some point, so you should be ready to talk about it. If you don’t get questions from anyone causing you to investigate, take a minute to learn about this technology so you’re ready for it when it really arrives.
There are a lot of things we have to be very smart about when setting up scenes for this type of presentation. I’ve been doing 3d for a very long time, and here are the things I can think of right off the top of my head that need to be considered every step of the way when preparing our scenes for realtime:
- dimensions/resolution of bitmap textures
- ambient occlusion quality
- shadow quality
- desired frame rate
- output resolution
- number of polygons
All of these play into the realism and playability of the model, and they take time to figure out and test ahead of time. Typically these are not things we’re thinking about while designing the project, because let’s face it - we are focusing on the architecture, not these technicalities. It’s really a balance of performance versus detail in the model and each of the items listed above has a huge effect on the final outcome so they must be taken into account when modeling. Since we’ve become accustomed to finding a view in SketchUp and just saving images out of it many people have gotten really lazy about how they build their models - how many surfaces/polygons there are, how big the textures are, how big the output is, etc. Most of the time we're moving so fast we don't put the care into making smart decisions about these things at the time of creation. Unfortunately all these can come back to haunt you in a realtime model.
We must be ready to learn about all of these things in detail when attempting to get good results in a realtime model walkthrough. If any of these items are not considered, the scene will be heavy and it will slow things down, if not break completely. There’s nothing more painful than sitting in a presentation showing off a design when the technology can’t keep up. It makes us look amateurish. I’ve seen people make amazing presentations on high end graphic workstations in the studio only to load them onto a laptop that just doesn’t have the nearly the same horsepower, and no one realized it until it was too late. This is certain death in the high stakes game of impressing people that have paid for your services and expertise.
Now for the good stuff. These programs that do one thing well are making it easier than ever for people who don’t want to dedicate their lives to become experts in the science and technicalities of rendering to make really nice images quickly and easily. As the worlds of architectural visualization and gaming get closer and closer together, the tools are getting easier to use, not to mention the hardware is getting increasingly faster. For instance, in Unreal Engine 4 (UE4), the material settings are pretty easy to understand compared to traditional rendering programs. If you want to see how they have setup UE4’s material descriptions, watch this video starting at 3:17 for an overview explanation. You can basically tell something to look “more metallic” by adjusting a slider (see this video starting at the 9:40 mark) and see the results instantly. In traditional rendering packages, you’d adjust material channels like diffuse, specular, reflectance, transmittance, Nd, anisotropy, bump/normal, displacement, etc. Most people don’t know what these terms mean and they won’t spend the time to figure them out. With a lot of the technical vocabulary in the interface removed, these new tools are much more artist friendly/easy to understand, and therefore faster to get results without lots of time wasted previewing renderings after each tweak of a material to see how it’s turning out. Since it’s a realtime engine, the affects of the changes are also updating in realtime.
I don’t see traditional rendering packages going away any time soon, especially for those that have very high standards for the aesthetic our presentation imagery needs to convey. But the gap is narrowing every day and this is definitely something to keep our eyes on, and perhaps dedicate some time to learning on the side so we are ready for it when it truly arrives.
So should you be considering a realtime rendering program for architectural presentations? I do think we should be aware of the tech and we should be playing with it if at all possible, even if we’re not using it in a production environment. It will definitely take an investment in time and resources, which will probably taking those things away from other important work. Like all new things, this is a flashy new distraction and we’ll have to decide if it’s worth our time and attention. For me, I’ve decided to let other people forge the path on this one, but I can’t wait to see where this goes. By now you should all know that I’m a huge proponent of putting our client’s projects in our their hands and letting them drive. I’ll check back in a year or so.
So this all has me thinking… instead of creating the need for our portable presentation devices to be evermore powerful, why not rely on a faster pipe to the internet instead allowing us to just look at that data? After a bit of research, it turns out this is exactly what Autodesk is planning on doing in partnership with Octane (the software provider), Amazon (the cloud computing provider), and nVidia (the GPU provider) with a service called Octane Cloud Workstation. Not too far in the future we will simply log into a virtual server on our iPads over some kind of enhanced data service and walk through a model on a beast of a computer that’s running Octane behind the scenes. This would only work if our connections to those servers were ultra fast. It wouldn’t negate the fact that we’d still need to have the knowledge and ability to prepare our scenes for such a thing, but this has very good potential for faster adoption. Instead of investing in hardware ourselves, we’d be investing in a deeper subscription relationship which also seems to be the way software companies are going now and in the foreseeable future.
The more you know: The not-so-distant future
Something else to consider is that Apple has recently announced a new graphics technology at their developer conference called Metal. My understanding is that it’s a proprietary replacement for OpenGL on their devices. This allows developers to use the new Apple stuff to work much better on their System on a Chip processors than OpenGL ever could. To us, this means that it will be even easier to get our potentially massive 3d environments that we can walk through onto mobile devices with very impressive frame rates and drop-dead gorgeous graphics. This is the most exciting “realtime” possibility to me because I want to put my projects in my client’s hands on an iPad - not drive it for them on a resource intense desktop computer. We get so much more bang for the buck when they drive instead of us, and I think the best way to do that is to put a device in their hands that they already know how to use.
Time magazine has a decent overview of the announcement and what it could mean for OpenGL, and AppleInsider has a great article talking about how Apple is planning on unlocking the graphics performance already humming away in devices that many of their customers already own.
To see what Metal is capable of in the hands of a developer and a short amount to time to put his immersive scene into it, watch Apple's WWDC keynote and jump to 99:32 for the unveiling of Metal and watch the Zen Garden scene.