MachStudio Pro and the Future of Real-Time Rendering
January 25, 2010 1:41 am
MachStudio Pro and the Future of Real Time Rendering
“Graphics accelerators of the past fixed their rendering pipelines to match standards like OpenGL and the early DirectX implementations. But while fixed pipelines could offer performance, they could never approach the quality demanded by studio-quality 3D content creation. Even today, those that demand the richest, high-quality graphics rely heavily on software, software that can deliver the visual goods, but falls woefully short of the CG artist's real-time demands”
-Alex Herrera, StudioGPU White Paper
Driven by a massive video game market and a huge increase in digital content creation, research and development for the Graphics Processor (GPU) has produced graphics hardware that now rivals the Central Processor (CPU) in power and speed. Any gamer worth his salt will tell you that the newest ATI Radeon 5970 graphics card makes last year's card look like a toy. And compared to a GPU of 5 years ago, you are talking about the difference between a Model T-Ford on one hand and a Maserati on the other: there is no comparison.
And while the advances in GPU technology have created extraordinary visual quality in games like Crysis and Far Cry 2, what does it mean for traditional CG, and in particular, professional animation production? Well, several years ago two brothers, Yoni and David Koenig, asked themselves just this question, and their answer is real-time 3D rendering on the GPU with their fully code-driven finishing/shot finaling application MachStudio Pro, developed in partnership with AMD.
StudioGPU is located in the historic Taft building on Hollywood & Vine
Less than a year old (they released it in June, 2009), MachStudio Pro is being developed by StudioGPU, a small company housed in the old Taft building on Hollywood and Vine, right in the heart of Hollywood. I've been fortunate to meet more than once with Yoni Koenig, the chief scientist at StudioGPU, to talk about MachStudio Pro and it's future development.
Chief Scientist Yoni Koenig demonstration MachStudio Pro at the StudioGPU offices
In conversation with Yoni, and in reading the excellent MSP White Paper written by Alex Herrera, I came to understand that because the huge number of programmable processing elements integrated onchip, it's possible for the first time to build a fully code-driven rendering path using the GPU. What this means for the graphic artist is that instead of being stuck in an old “turn-based” system of the “update and wait” render cycle, the MachStudio Pro artist, using built-from-scratch shaders based on DirectX, can modify and animate those shaders dynamically in real-time, or at an extremely accelerated render speed (up to 500 times faster).
Flow chart showing how MachStudio Pro fits into the Animation Pipeline
Yoni referred to this method of working as “Photoshop in 3D,” which to my mind captures the essence of what MachStudio does. The artist using the application spends little or no time interacting with the GUI (graphic interface) of the application and much more time working directly with lighting, cameras, materials and shaders. This method allows the artist (and the producer) to get past the “cost vs quality” dilemma and spend more time working directly with the elements of the scene. In effect, MachStudio Pro gives the artist the time to be an artist, rather than simply a one-time creator of product. If you make a mistake in MachStudio, it's a simple matter of reverting to a saved version of the lighting pass or camera move.
Main Interface of MachStudio Pro
MachStudio Pro is a finishing or shot finaling application that comes with a high-end workstation graphics card. StudioGPU, working with AMD, chose the incredibly powerful ATI FirePro v8750 card which carries a full 2GB DDR5 graphics memory and 800 unified shader engines. It is quite simply the best video card you can get, hands down. And while this isn't a review of that card, it installs on any PCI-E 16X bus, which is standard on most quality motherboards. The workstation card drivers are configured for computer graphics work and will provide the best results in MachStudio Pro. High-end game-based cards, like the previously mentioned ATI Radeon 5970, will provide adequate results (especially if you are working at standard NTSC DV resolution), but you'll need the extra horsepower of the FirePro card if you work in HD or want to do complex and deep rendering/compositing. Plus, the card must have at least 1GB of memory and support Direct X version 9.
You can buy the MachStudio Pro software separately from the graphics card, but I'd seriously recommend giving the FirePro v8750 a long look as it is designed to work with MachStudio Pro and is a beast of a card to boot.
ATI FirePro v8750 Workstation Graphics Card
MachStudio Pro Workflow
MachStudio Pro is not a modeling or animation application. You build your models and animations in another 3D package, like Maya or 3ds Max, and then using specially designed exporters provided by StudioGPU, you bring in the raw material and “finish” it by creating the lighting, the cameras and the materials which you adjust in real-time. Once you are satisfied with your work, you render out the final image or scene in full HD resolution, or at any resolution you choose since MachStudio is resolution independent and allows renders at any resolution and format. Plus, you can render as final frame or as passes if you want to do additional composting work in After Effects or other similar programs.
The interface is very elegant and simply designed (reflecting Yoni's notion that the interface shouldn't get in the way of the artist) with five main windows. On the left you'll find the Scene Manager which lists all of the elements of your scene, and when you select an element, the Properties Panel on the right is where you can control every aspect of the object, like materials, shaders and movement. At the lower left is the Render Preferences, and on the lower right is the Driver Properties. Along the top of the interface is a row of drop-down controls, although the application works more quickly using keyboard shortcuts. There is a well-constructed timeline at the bottom/center of the main window which allows you to keyframe and adjust any object and it's properties with great precision. And finally, the interface is completely customizable and window layout can be saved easily.
StudioGPU provides exporters for Maya, 3ds Max, Rhino, Sketch Up Pro, Revit, and ArchiCAD at present, with several other CG packages (like XSI and Blender in the works). You can also bring in models using the FBX format, but at this point only as static geometry.
Imported FBX model from Quidam3 to CINEMA 4D to MachStudio
Since I use CINEMA 4D for most of my models (StudioGPU plans on having exporters for all major CG packages), I exported my model as FBX and it came in perfectly to MachStudio with no discernible distortions to the polys. Further, using the excellent tutorials (along with all of the content needed to complete the tutorial), I imported a very large, complex scene (the “Boy Zero” scene) and it came in without a hitch. You can also bring in character animations and camera movements. Although MachStudio isn't an animation program, you can cut/paste and apply blend types to refine the imported animation.
Screen Cap from Boy Zero tutorial for MachStudio Pro
Once you have everything set up, you can create basic lighting and cameras for your scene. The cameras in MachStudio are real-time High Dynamic Range (HDR) cameras and have the complete functionality of real-world HDR, including very detailed DOF (depth of field), focal length, HDR bloom and many other attributes all controlled in the “Camera Properties” window.
Lighting, one of MachStudio's best attributes, is also highly detailed and programmable. You can create an ambient lighting pass which acts like general illumination on all objects; set up point lights, say for the pupils of your characters, to illuminate them slightly and then use projected lights to compose the dynamic shadow/highlights for your scene. The range of possibilities are huge and this is where real-time rendering really shows it's worth.
Yoni demonstrated several adjustments in lighting using custom filters, or “gobos,” to create shadows across a character's face (or in the background) and adjust the shadow color, depth, softness, falloff angle and range in real-time in the light properties window using sliders. You can do this with all of the lights in your scene and watch how they interact in exactly the quality you'll see in the final render.
Ambient Occlusion in MachStudio Pro
The Shaders that come with MachStudio are excellent. In addition to the simple shaders Phong and Blinn, there is a very cool Cartoon Cel-shader, Fresnel, Car Paint and Sub-Surface Scatterer (SSS) shader that is extremely effective for translucent objects, like skin.
Hardware Tesselation, an exclusive to the AMD/ATI GPU, is part of MachStudio's real time sub-pixel displacement system which allows, in conjunction with displacement maps, for a much greater flexibility in displaying detail on a model, as well as making it faster to render.
The Materials Library for MachStudio Pro provides you with a great variety of materials for your objects, such as brick, asphalt, dirt, etc. You can create your own combinations of materials and save them to the library, import other materials and copy/paste them easily. A floating browser pops up with small icons of the materials in the Library and you can then drop/drag them to the object you want to apply the material to.
“We just finished producing an animated feature, a 75-minute animated feature straight to DVD and we were able to do lighting, materials and final rendering at a minute a week, with final rendering per artist....so you have a lighting artist sitting at his workstation using the tool (MachStudi Pro) and producing final shots without any renderfarm at HD quality in about a minute a week”
-Yoni Koenig, AMDUnproccessed
When your scene is ready, you are ready to render it out either as a final frame at any resolution, or as render passes for further work in another composting application. You have a huge variety of render settings to choose from. The amount of light and geometry you can render is only limited by the GPU. You can choose which cameras, objects and render preferences you want to include in the “render layers” box. Since MachStudio is already rendering your scene in real-time, the render process is referred to as “capturing” your various layers, either all together (final frame), or in an unlimited amount of passes. Render possibilities also include velocity maps which allows you to render motion information in HDR.
Benefits of MachStudio Pro
This is a jaw-dropping software application. It's hard to describe the impact of seeing complex lighting and shaders being applied in real-time. Every aspect of the program has been carefully considered and designed to be discreet and out of the way until you need it. And although the program doesn't render every single scene in absolute real-time, the rendering is so much faster that it seems almost real-time to anyone who has had to take a coffee break while waiting for a lighting pass to render on their render farm.
The immediate advantage of MachStudio is it's time-saving ability as part of an animation workflow, but the quality of the lighting, cameras, materials and shaders is so high it will enable artists to use their imaginations in ways they weren't able to before since they can immediately follow-up on an idea and see how it looks in a final render. In effect, it allows for “mistakes” to occur, which in many ways is a superior method of working since you use your instincts much like a jazz musician does when improvising.
Room to Grow
MachStudio Pro is less than a year old, as it was made available in June of 2009 and is currently in version 1.2 (which is what I am using for this review). While I was interviewing Yoni Koenig at the StudioGPU offices, he shared with me some of their future plans for MachStudio Pro. One of which is that they are “working their butts off” to make MachStudio an even better program than it already is. I had a first-hand demonstration of what looks to be the first DirectX 11 “compute shade” raytracing prototype, which looked fantastic. I believe Yoni told me that this will be the first time raytracing will be applied using the GPU only.
I was also fortunate to get a demonstration of what MachStudio Pro will be doing with “Hair” in the future. Yoni told me that “anything you can do in 'Shave and a Haircut,' you can do in MachStudio Pro's hair mode. “Shave and a Haircut” is a highly regarded hair creation and rendering software created by Joe Alter. From the images I saw, “Hair” and the “compute shade” raytracer will prove to be highly regarded additions to a future version of MachStudio Pro, which will most likely be released this year at some point.
Upcoming DX11 "compute shade" raytracer for MachStudio Pro
"I suspect that as MSP matures, and the users begin to push boundaries, we will see some staggering results. What’s most import with MSP is the workflow and user interactivity. This is a complete paradigm shift in how lighting and rendering takes place, and I firmly believe that GPU rendering will replace software rendering across many markets faster than you can quote Bill Gates “640K of memory should be enough for anybody.”
-Chymaera, moderator at StudioGPU forums
There is a fascinating thread on the StudioGPU.com forum about “Photorealistic Rendering,” which is an issue that might come into play if MachStudio is to compete for a place with the major 3D companies, which are all obsessed (too much, to my view) with photorealism. While there is still room to grow with MachStudio's renderer (motion blur, better and more varied exporters, full implementation of Global Illumination), I'm sure there is a list on Yoni Koenig's desk which has these issues and many, many more that they are working on.
The StudioGPU site is very well designed with excellent tutorials and quick responses to forum posts. I also had a chance to try out their eSeminars using gotomeeting software, which allowed me to see the desktop of the speaker and ask questions in real-time. The 183-page user guide is well-written and easy to use. It would be helpful to have the user guide listed and the tutorials link-listed on the drop-down under the “help” section of MachStudio Pro, but it was easy to find on the website.
The MachStudio Pro software, the ATI FirePro v8750 Graphics card and one year of free updates and technical support costs $4,999 (USD). For users who want to use their own graphics card, you can purchase the software separately for $3,999 (USD). A student version of MachStudio Pro is also available for qualified, full-time students for $999 (USD). It comes with the ATI FireGL v8650 graphics card. Volume and Education licensing is available on request from StudioGPU.
I am impressed with Yoni Koenig and his staff at StudioGPU. This small, passionate company is determined to not only develop MachStudio into a highly functional and incredibly useful application, but they also want to change the very workflow that dominates most 3D animation pipelines. After working with the program for over a month now, I think MachStudio Pro will become a major tool for artists in the CG industry. Real-time rendering is certainly being driven by technology, but now there is a company who is harnessing that tech in new and exciting ways.
Change always comes slowest for the larger organizations who would have to change established work methods. Eventually, I see major companies becoming intrigued with MachStudio Pro, but I think the initial impact will be on broadcast TV, PreViz and on small production companies who can immediately see the benefits of the real-time rendering that MachStudio Pro offers.
It almost seems as if the real challenge for Yoni and StudioGPU is getting animation companies to rethink the way they work. A demo of MachStudio Pro will impress even seasoned pros, but getting them to buy the software and change their workflow is going to be much harder. Somehow though, I have a feeling that MachStudio will break through this barrier and possibly become the “photoshop for 3D” that Yoni and his brother David dreams of for their smart and innovative company.
Can you tell which render is Vray and which is MachStudio Pro?
MachStudio Pro is highly recommended. I urge anyone interested in the future of real-time rendering and new ways of thinking about computer animation to visit the StudioGPU.com site and find out more about this cutting-edge application.
My very sincere thanks to Yoni and Ted Henning for their hospitality and openness. And special thanks to StudioGPU for providing MachStudio Pro and the ATI FirePro v8750 GPU for this review.
MachStudio Pro Demo Reel
MachStudio Pro Technical Requirements
Hardware Recommended System:
ATI FirePro V8750 System Requirements:
Ricky Grove [gToon], Staff Columnist with the Renderosity Front Page News. Ricky Grove is a bookstore clerk at the best bookstore in Los Angeles, the Iliad Bookshop. He's also an actor and machinima filmmaker. He lives with author, Lisa Morton, and three very individual cats. Ricky is into Hong Kong films, FPS shooters, experimental anything and reading, reading, reading. You can catch his blog here.
Please note: If you find the color of the text hard to read, please click on "Printer-friendly" and black text will appear on a white background.
Well - very interesting article. But I think, as you mentioned, the hardest part will be getting the guys to a workflow change. The ATI FirePro v8750 is cheap, of course (compared to professionally used NVIDA cards), and that could be a pro. A contra will be the fact, that other (experienced) guys are working on CUDA applications which are looking pretty promising as well, like the guy who makes Octane (http://www.refractivesoftware.com). Will be interesting to watch the oncoming battle ;-}}
Very nice article. I'm really interested on this new rendering trend as us poor independent filmmakers can't afford those huge renderfarms used by big companies :D @arcebus: There are quite a few groups/companies developing GPU based render engines. That Octane engine is one of them, but you can take a look at FurryBall. It's a GPU based renderer that works directly inside Maya. There's also one for Max (don't remember the name), and also VRay RT. Even if StudioGPU has partnered with ATI/AMD for this, ATI/AMD have their own technology called CINEMA (do a Youtube search for CINEMA 2.0 and you will be amazed). And the one I'm sooooo waiting for: Mentalray core 3.8 with iray :) Since NVidia now owns Mental Images they're combining their Gelato technology with Mentalray and MR core 3.8 is the result. So exciting T_T
Very intersting article. And thanks to arcebus for a link to Octane Renderer. I have just checked the prices: MachStudio Pro $3,999 (or $4,999 with an ATI FirePro V8750). Octane Render beta with full version 1.0 license for 99 Euros/License (about $138). Since I want to use Real-Time Renderers in near future and still afford to buy some contents from Renderosity, I will be watching development of cheaper solutions, like the Octane Render.
I think they are going to price themselves out of business. DirectX was nice in its time but with CUDA now being introduced into programs like 3D Coat, Adobe, Autodesk, etc. GPU accelerating is happening now. This technology would be a step backwards.