I have a second, more complete video demo of MachStudio Pro from SIGGRAPH 2009 at the AMD booth. This demo runs through manipulating the ambient occlusion, HDR environment lights, point lights, (her eyes glow) & projected lights (amazing to watch moving these in real-time and watching the shadow), shader manipulation and displacement maps using hardware tessellation in a complex animation scene.
These are not pre-baked passes. Everything happens in real-time, on-the-fly in MachStudio Pro using the FirePro V8750 GPU and the built-in hardware tesselation.
Also one big point to make - this is not just faster final rendering. Faster final rendering doesn’t really address the issue of the 3D creative lighting and rendering workflow being a linear process. As a lighter or TD, you would still have to go through a multi-step process where creative flow is broken down into set-up time, render time and review time.
With MachStudio Pro, the workflow is changed into a non-linear one where you see the full render quality as you manipulate lights, shadows, fog, depth of field, ambient occlusion, etc. The creative component is one and the same as the rendering and review component. As you add a light, and adjust it, you see the shadows, glows, reflections, etc, as you are working, exactly as it will appear in a final render. When you scrub the timeline and watch your camera moves, you can adjust lighting and effects without having to re-render.
It is a complete change in the creative workflow. This is why everyone who sees this product gets so excited and why there really is nothing else like it (at Siggraph or in the market).
Last year I worked with student volunteers at SIGGRAPH to blog about what was happening at the show and in particular in the AMD booth. This year they are armed with video cameras.
Below is the first in the series of videos I am publishing. It is Adobe Premiere running on a 12-core AMD Istanbul processor and an ATI FirePro V7750 with the Stream encoding plug-in.
Twitter-style take away: Using a FirePro card and Stream plug-in, process an MPEG or H.264 to BlueRay in 1/4 of the time it would normally take. In other words if you have a 4 hour render, you can do that now in about an hour.
This video is from a May 7th live demo of MachStudio Pro running on a FireGL v8650 (2GB framebuffer). It’s a capture of a projector screen and is only 640X480 resolution, but nonetheless you can still see how everything in MachStudio Pro can be real-time. What you see in the viewport is exactly what you will render to the final HD or film resolution you choose. You can also render the character layers and FX passes as different channels if you prefer to composite in post. This particular segment of the capture shows projected lighting, gels/gobos, soft shadows, light sets, fragment lighting, specular lights, and shaders. I’ve written before in detail about my experience with the software. (also if you are interested in architectural visualization see 2D or Not 2D blog.)
Of note: The latest version of MachStudio Pro now includes a full material library, exporters for Maya 8.5, 2008, 2009 and 3ds Max 9 and 2009, animatable fog, and new shader controls (also unicode support for the burgeoning Asia visualization market).
Note: I’ve set the YouTube default to high-quality, but click on HQ just to be sure.
Not sure how I missed this one - but as I was posting my test render for MachStudio Pro running on a FireGL V8650, YouTube recommended other videos that might interest me. Three of these revolved around using FirePro cards to accelerate PhotoShop CS4. Turns out that FirePro cards accelerate PhotoShop CS4 as much as the very hyped Nvidia Quadro cards, because the GPGPU acceleration in PhotoShop (and After Effects) is based on industry-standard OpenGL, not anything proprietary (i.e. not Cuda). All of the FirePro cards enable real-time image rotation, zooming, and panning, and makes changes to the view instantaneous and smooth. The FirePro GPU also accelerates on-screen, anti-aliased compositing of both 2D and 3D content, brush resizing and brushstroke preview, 3D movement, high-dynamic- range tone mapping, and color conversion.
ATI just didn’t make a lot of noise about this GPU acceleration. In any case, check out this video showing GPU acceleration of zooming in PhotoShop CS4 using a FirePro V5700. The screen on the left that zooms smoothly is with acceleration. The right is without. (Produced by the VAR Acube in Japan).
Last week I went down to Hollywood to check out my first hands-on demo of MachStudio Pro. I could go on and on for pages about MachStudio Pro. But to cut to the chase for this post, AMD has made a great find and a smart strategic partnership. The combination of FireGL/FirePro cards and MachStudio Pro are game changing and leaps and bounds ahead of anything else I have seen running on desktop hardware. For CG animation, Archviz, and Industrial design, 3D workflows will change.
Check out this short 4 sec video below. It is 99 frames, for a scene of 2.2 million polygons, rendered on a FireGL V8650 (2 GB framebuffer) at 1024 X 576. It rendered in a little under 45 sec. It includes real-time lighting, shadows, gels (the lighting on her face), and ambient occlusion. Be sure to watch it in HQ mode. To view the scene at the full quality at which it was rendered (i.e. without YouTube compression), download the .mp4 version.
Now what’s not really apparent about this video is how it was created - what was the workflow. Traditional 3D workflows are model and animate, followed by lighting, materials, fx. Once you reach the lighting stage, you do a setup, then a test render. Then you adjust. Then you do another test render and repeat until you our out of time or until it is ‘good enough’. Same is true for materials, fx, etc. Each change no matter how small requires setup, a test render and then final render.
MachStudio Pro running on a FireGL changes that workflow. The setup and test render are virtually simultaneous. And they happen to the whole scene, not to just a few frames. Moreover the final render is the exact same thing as the test render (just a larger viewport). This is hard to describe. Saying “real-time rendering” is just not meaningful or even accurate. So instead, let me just point out some of the things that really struck me during the making of the above video clip and as well as a few other projects (some of which are featured here.).
It’s like working in a 2D video editor
Scrub the timeline and watch the scene with fully-rendered FX as you watch the scene animate. It felt more like I was in a 2D video editor compositing, rather than a 3D product creating.
Work in scenes, not frames
When your setup, test render and final render are all the same thing - all simultaneous, you can work in scenes rather than being forced to work only on particular frames. (and not have to worry that the FX would not be replicated in other frames or that transitions and lighting would mismatch).
No test renders
In Maya or any other app with renderer, when you apply lighting, you try to base it on your experience with how various settings affect the image. Experimenting with full quality rendering is simply not practical time-wise - especially across an entire scene. So as a TD you become familiar with basic setting you know tend to work, and you stick with those. You setup the render (e.g. Mental Ray GI) and then you render. You can refine it but even minor tweaking can be tedious, especially for complex models and many frames. In MSP I could experiment. I could change anything related to lighting or FX and watch it impact the scene immediately. No setup and then render. As I setup I am rendering. This felt strange indeed - wonderful, but very strange.
Gels
I could apply gels that could focus on and/or follow a specific character or character fragments, and could animate these gels, apply soft shadows, etc. So for example, I could apply a gel over the face of a character looking out the window. The gel would simulate moving tree leaves casting shadows on the face in the moonlight. What made this so surreal is not only that I could change the properties of the gel and make decisions on quality simultaneously, but that I could scrub the timeline, and watch how the gel performed as the character animated.
Ambient Occlusion
I am still having a hard time believing what I saw. I could apply ambient occlusion in real time and adjust dynamically, for different objects. No setup and hit render. Just adjust and watch the impact - on the scene and animation, not just a frame.
Depth of field:
This was caught my attention repeatedly as I watched some of their artists develop projects for clients. I was watching them work on a scene for a Bionicles movie (a scene not just a frame) and as it was animating, I was watching depth of field effects. This is the kind of thing you see in a compositor with a 2D render, rather than in a live, fully interactive, 3D environment.
Subsurface scattering
The head-turner here was the real-time adjustment. Sure I can apply Mental Ray shaders in Maya. But the procedure is always adjust, preview, render - not adjust creatively, at the speed of your hands
Blooms and lenses
Not just blooms on a set of frames, but blooms that could be part of a whole scenes - like a real camera lens doing the filming - and all adjustable as you worked, without the adjust-preview-render. In fact you could control everything about the camera lens (HDR lenses, by the way)
Artistic lighting freedom
I am used to the concept of ray tracing to create physics accurate lighting. The scene can look great. But from an artistic perspective, that can actually be a limitation. Sometimes the effects you want are not something that can be duplicated in the real world. But with MSP you can “get beyond photon reality”. I could get creative: add a gleam to the eye, move the highlight higher on the hair, close the iris on the lens for the scene, but let the face glow, etc. Who ever thought you could actually art direct in 3D!
Obviously I’m only touching a very few points of what I saw or tried. But these were so mind-boggling to me, I thought they were worth the long blog post.
How does this actually work? I have little clue honestly. I know it is something to do with GPGPU computing and great use of FireGL/FirePro hardware. What struck me though, was when for each model I kept asking the number of polygons, the StudioGPU guys would look at me like “what kind of irrelevant question are you asking”. The polygon count was essentially a non-issue. Texture size and quantity was the bigger constraint.
What I do know is that AMD made a brilliant move here. They have been progressively demonstrating that they have a great product for CAD. Now they are poised to own the the DCC market by both creating optimized drivers for leading DCC apps, and by working with StudioGPU to change the very nature of the 3D workflow using the GPU.
I was reading through the FirePro V7750 press release from AMD and noticed links to some YouTube “testimonial” videos at the bottom of the release. The first 3 are pretty dry (if you can sit through them though, they do explain why you do need higher and higher powered cards - it’s not just about having the latest toy). In any case, the forth video from Troublemaker Studios is pretty cool visually and makes the compelling argument of using the new line of FirePro cars so that the technology doesn’t get in the way of the art.
Jason Morris of Western Washington University compiled a survey of how often various software skills and specific software packages came up in industrial design job listings. This is very interesting, because these are skills that the industry is demanding right now. If you’re looking for a design job in this tough market, this list is a great resource on which skills to acquire or grow. It paints an interesting picture of the 3D CAD landscape as well.
The 2D design tools may still be at the top of the list, but 3D skills are still preferred. All 3D CAD packages combined are mentioned 116 times, while the 2D counterparts are only mentioned 84 times. The dominant requirements for 2D skills are of course fluency in Illustrator and Photoshop. The 3D marketplace is much more fragmented. Illustrator and Photoshop obviously complement the 3D tools. But honestly, if I was allowed only one design program, it would probably still be Illustrator. Sorry Solidworks!
The competition in the fragmented 3D space in interesting. Solidworks has grown its lead, which Core 77 found interesting seeing as how Solidworks was originally an engineering software. I am not surprised. It is easy to learn, makes highly editable models, and has a rendering engine that gets better and better. Solidworks beats Pro Engineer, its solids modeling rival, by slim but respectable 5 points. The surface modelers are right up there with Alias just under Solidworks. It shows that surface modeling is a great skill to have in addition to solids modeling. Alias nearly doubles Rhino’s score, so it’s clear what you want to start playing around with. AutoCAD and 3DS Max are falling into the background because they are being positioned towards architecture by Autodesk. The competition in the 3D CAD marketplace only benefits us as users; while we may need to learn multiple packages, the innovations will keep coming from the competing companies.
The name change from FireGL to FirePro is more than just repackaging existing workstation cards with new names. The shift from "GL" to "Pro" reflects ATI's recognition and focus on high-end workstation cards for use in areas other than OpenGL 3D modeling and CAD. The hardware and drivers are still tuned for top OpenGL performance (check out the VBO demo and VBO performance test videos for CATIA), but they are also exposing capabilities for DirectX performance, GPGPU, Video, HPC, industrial design and game design.
Colin Finkle, our CAD/industrial designer blogger, has written a new article for the site on the differences in types of rendering for MCAD and industrial design. Not every rendering is created equal. Some renderings have different purposes than others, and to take a broad brush, one size fits all approach to renderings is doing a disservice to your designs. You need to decide whether your intent for this rendering is to sell or illustrate the design before you start. A rendering to sell is meant to convince someone that a design is the right way to move forward. On the other hand, a rendering intended to illustrate a design shows off design features, construction and added value. Read article →
Comparing rendering engines is much like comparing paintbrushes; some may allow you to do different things, but what makes them great is the artist behind them.Thankfully rendering engines are more alike than they are different. Most rendering packages that come out-of-the-box with the CAD packages industrial designers use, include features like ray-tracing, material libraries, drag and drop materials, video rendering, and wrap around textures and decals. Some new features are upping the ante in terms of render realism. Both Photoworks for Solidworks, Autodesk ImageStudio and Pro/ENGINEER Advanced Rendering Extension have HDRI scenes. This means that High Dynamic Range (HDR) images of common places (outdoors, kitchen, photo studio) are mapped on invisible spherical environments to create great reflections and specular highlights, with matching lighting. Just a few years ago I had to work very hard to fake this capability in Photoworks.
The two main out of the box rendering packages are the afore mentioned Photoworks and Autodesk ImageStudio. I only have direct experience with Photoworks. They both have the features I mentioned before, interactive renderings, indirect illumination, and global illumination. They are both easy to use. The two are more similar than different.
But they are different. Photoworks is based on the Lightworks engine, while ImageStudio is based on the Mental Ray engine. Photoworks is used to render Solidworks models, but ImageStudio can accept Solidworks, PRO-Engineer or CATIA models using STEP or IGES standard file formats. ImageStudio has the capability to schedule renderings. ImageStudio is also optimized to be able to handle large assemblies, something with which Photoworks has a hard time.
Other out of the box rendering engines are Pro/ENGINEER Advanced Rendering Extensions and AutoCAD rendering. These have most of the standard features you would expect, and are made to meet the needs of the industries their parent programs are targeted at. They do not go above and beyond, but work as you would want them too.
Rhino has taken the different approach of having a decent out of the box rendering engine, but opening it up for and encouraging users to user 3rd party programs. Rhino interfaces with rendering engines such as V Ray, Maxwell, Bryce, Flamingo and Penguin. All of these have their own strengths and weaknesses, and will be reviewed in a future column.
To really go above and beyond with renderings, you can always use Digital Content Creation (DCC) software like 3D Studio Max. These programs have a long learning curve, but their potential is endless. I see a fair bit of designers knowing 3DS Max out of college or university. As crude as the out of the box rendering engines seem by comparison, they are easy to use. This is important because you want to spend more time designing and less time rendering - the same reason you have a workstation graphics accelerator!
Update Oct 8, 2008 A reader comment informed me that while PhotoWorks 1 was based on Lightworks, PhotoWorks 2 is based on MentalRay. And of course, the new PhotoView 360 as an option for SolidWorks 2009, uses technology from Luxology.
FireUser.com is a community resource for visualization, 3D, video and engineering professionals to learn about the latest acceleration and display technologies, discuss support issues, as well as influence the features and direction of the FireGL and FirePro accelerator line.