Pipeline Integration with MachStudio Pro
May 5, 2010 1:11 pm
Product Review: MachStudio Pro
There’s been a lot of talk about GPU-rendering lately, as a way to speed up renders that will usually take hours to process, even in large render-farms. CPU speeds and cores increase dramatically, but they don’t drastically reduce render times.
One of the available GPU-rendering solutions is MachStudio Pro, developed by StudioGPU. My colleague, Ricky Grove, previously wrote a very nice review, and I would recommend you read it first if you’re not familiar with MachStudio Pro, as I will just give a brief introduction before moving on to my focus on this article: using MSP as a production tool.
MachStudio Pro is a stand-alone application that focuses on rendering scenes and animations created in any 3D modeling package. Some 3D apps can already export data to MSP via available plugins, and you can also use the industry standard FBX format to exchange data between any unsupported application and MSP.
After your models are inside MachStudio Pro, you set up your materials and lights, and prepare your scene for rendering. Almost any attribute of any object can be animated (for example: light color, intensity, etc.). Note that, as I said before, MSP focuses on rendering, meaning that even if you can animate attributes, you can’t just import a character model, rig it and animate it.
Using GPU-rendering software such as MachStudio Pro poses a paradigm shift, because you work differently. You no longer have to configure your materials and lights, hit the render button and wait to see the results. MSP displays the results as you make the changes. You no longer need massive render farms either, as each frame takes just a few fractions of a second (or just seconds, in extreme situations), rather than hours.
It should be noted that MSP does not currently support GI, so you'll have to do your lighting, light bounces and pretty much any secondary lighting manually. However, support for GI in MSP is coming soon.
I used Maya (my 3D software of choice), to work with MachStudio Pro, and there is a Maya exporter available on the StudioGPU website. Basically, you “tag” your different objects before export, letting the software know what type of geometry you’re exporting (static meshes, animated meshes using a vertex cache, or a hierarchy of objects). When you import your meshes into MachStudio Pro, they will retain most of the texturing information. I noticed I’d have to import normal and displacement maps manually, though (I have to mention that MSP supports 32-bit normal and displacement maps, offering a greater level of detail when using those types of maps).
It is very likely you will be using the ATI Fire Pro V8750 (or V8800), which has 2Gb of available RAM, so you can store a lot of texture data in your scenes. MachStudio Pro can use any image format you can think of, such as TIFF or JPEG. Nevertheless, for larger scenes with many textures, you will find it’s better to use DDS file textures, as that format can be natively read by the GPU. This means that the video card will make better use of the available memory.
If you’re working on an animation, be it for a short film or TV commercial, chances are you’re either using animated objects or characters. As I said before, you can’t animate characters inside MSP since it does not support joints, so you’ll find yourself using vertex caches created in your 3D animation software.
Basically, what you do is export your character and animation from your 3D app to MSP. During export, the software creates 2 different files (a mesh file and a vertex cache). You can set up MachStudio Pro scenes by loading your exported models and characters as stock assets, then apply exported animation to the characters, models and cameras to match the animated scene. This means that you will export your reusable models only once.
You can reuse data from other MSP scenes in your current scene. This is a real timesaver, as you won’t need to import and configure a scene, model, or character each time, but rather import a fully configured existing asset and start from there.
MachStudio Pro has a flexible and easy to use scene-to-scene importer that allows you to select specific assets from previous scenes and load them directly into the current scene file. Imagine you have a fully configured asset (be it a character or a prop), and instead of using it for your next scene, you re-import the exported mesh in a new scene. You won’t need to set up your materials again for this mesh, as you can simply export the materials from the previous one, and then apply them to this new model.
Right now, you can’t create hair inside MSP, nor can you import “hair systems” from other applications. You can use solid hair meshes, but in some scenarios that may not be exactly what you’re looking for. Luckily, in Maya, you can convert your Hair Systems to polygons, and then export that mesh to MSP.
Getting your Maya Hair inside MSP can be tricky. Depending on the hair you create, you can end up with nearly 5 million polygons just for the hair. If you’re using the ATI FirePro V8750 card, Maya won’t have much problem displaying it. The exported hair mesh will be a few hundred Mb in size, but the vertex cache can take up to 4Gb of space, since you’re storing transformation information for millions of vertices (actually, that’s the maximum vertex cache size, so you can’t go over that).
The problem is that you really need to play with the settings to get your hair vertex cache below that maximum size, as vertex caches can easily go above that limit, which will result in an error message. I’ve found that it’s better to use different resolutions of hair, depending on the distance of the model to the camera, and using smaller, multiple Hair Systems for your character in close-up shots, when you can’t get away with lower hair counts. You can also bake smaller animations during export, and then import all those hair animations into MachStudio Pro and place one after the other in the timeline.
Importing the hair data inside MachStudio Pro is as easy as importing any other mesh. The software had no problems displaying my hair geometry, and playing it back was almost as easy. The vertex cache takes some time to “kick in,” but everything will play back flawlessly afterwards. The same happened during rendering. It took some time for the render to start, but when it finally started, it took less than one second to render out my character at Full HD resolution (using high resolution shadow maps, as well as AO).
MachStudio Pro can render out different passes (beauty, AO, specular, reflections, velocity, and so on). You can create new passes in the render settings window. This is a very cool feature, as most of the time it’s better to render out different passes, rather than one single beauty pass, for example. MSP can output your files to a variety of file formats, including OpenEXR. However, you can’t store multi-channel EXR files, as each pass is rendered out as a separate file (the EXR format allows you to store different passes inside the same file, making compositing and file management easier, as you only need to deal with one file that includes all of your different render passes, rather one file for each pass).
There’s one thing you need to keep in mind when creating assets to be rendered in MSP, and that is the exporter only supports polygonal models. So, if you were to use any NURBS model in MSP, you would have to convert it to polygons first.
We all know that rendering is maybe the most crucial bottleneck in any production pipeline, and any tool that offers to cut those render times is more than welcome, especially when you can’t afford to have a big render farm. MachStudio Pro can be a valuable tool in these situations and can really save your production.
For more information, please visit StudioGPU
Be sure to also read MachStudio Pro and the Future of Real-Time Rendering
Sergio Aris Rosa [nemirc], is Sr. Staff Writer for the Renderosity Front Page News. Sergio discusses on computer graphics software, animation techniques, and technology. He also hosts interviews with professionals in the animation and cinematography fields. You can follow him on Twitter, and if you want to see what he's up to you can visit his blog.
May 10, 2010
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.