|
Luxology designed its application modo from the start to be a cross-platform application. Its initial claim to fame was as a subdivision-modeling tool. The product has since grown to include 3D painting and a highly optimized integrated renderer, though all these tools were in the plans when modo was designed. That planning has led to an architecture that is, according to Luxology developer Matthew Craig, "a very structured, procedural, C-based architecture. On the Mac, the operating system-specific functionality is implemented in Core Foundation, the primary application user interface in Quartz, and the image viewers and 3D views in OpenGL." Like the Macintosh itself, modo has achieved a high degree of user loyalty. This success is particularly impressive for a cross-platform application that must deliver identical output regardless of the operating system on which it runs. And yet modo is such a true Mac OS X application that it was awarded the 2006 Apple Design Award for Best Use of Mac OS X Graphics. User Satisfaction Is KeyOne of Luxology's biggest strengths is user satisfaction. Users consistently comment, not only about the product's powerful capabilities, but also about how much fun they have when working with modo. Much of the product's popularity can be attributed to the way in which artists can configure their workflow in the application. Craig attributes this success to two factors. The first, he says, is somewhat subtle: using Apple developer tools, specifically Xcode, Shark, and GL Profiler, from the beginning of development. Matt says, "Apple developer tools have allowed us to move effortlessly to G5, then to Universal Binaries, and now to 64 bit. It's hard to be a best-of-breed Mac application if you don't run on the latest hardware. In our world, performance is paramount, and our users expect it. It's our responsibility to always be at the top of the curve, and Apple developer tools have facilitated this." Second, Matt says, beyond the fact that Luxology hopes to remain a performance leader on top-of-the-line Macs, the company's attention to Mac details has contributed to its success. Craig explains, "For instance, modo is a bundled application. If it weren't for the license and the help files, it could be a drag-and-drop installation. (In fact, you can use drag-and-drop technology to install it; you just won't have all the help and content.) You don't see dylibs scattered all over the place with modo. Support and configuration files are in the proper places, using the Command key on important keyboard shortcut commands like Cut and Copy—little things like that make a difference. Everything works like a Mac user expects it to. Many cross-platform apps have behaviors that the user doesn't expect, which makes for a bad user experience." Quartz Provides the Power for a Dynamic UIThe UI in modo is dynamic. In a typical session, a 3D artist using modo continuously adapts the UI to best fit the current task, something that other applications can't do with the UI. The process feels very natural. Many developers are happiest using the standard Cocoa or Carbon widgets, but since Luxology needed this degree of flexibility, they worked directly in Quartz for all the UI, including creation of their standard UI features, such as buttons (for text input fields, they used MLTE, the Multilingual Text Engine). "The great thing about Quartz," says Craig, "is that it's a pretty straightforward but amazingly powerful drawing paradigm. And, of course, it has strong support for alpha-blended drawing that is simply not possible on Windows today. Its vector drawing has made creating things like the popover windows' beveled corners very easy to do. Plus, it renders beautiful results and is quite fast." The UI's appearance is an important aspect of how a user experiences an application. How the user perceives the application's response affects his or her interactions. Craig says that Quartz gives Luxology three advantages on the Mac: "First, Quartz text looks better. Second, Quartz drawing is smoother and allows for alpha compositing. And third, the double-buffered windows are an advantage." This happens when, for example, a user dynamically resizes a pane. "In Mac OS X, it's butter smooth," says Craig. "This makes for a better overall user experience, and that's always a primary goal for modo. Quartz and the Mac OS X Window Manager give us that edge." OpenGL Enables Dynamic RenderingOne of modo's standout features is its near-real-time rendering of 3D scenes. The artist workflow is greatly enhanced by the increased dynamism that this rendering yields, and artists experience a much faster turnaround for changes and experiments. OpenGL is the foundation of this capability, and the high level of the OpenGL implementation in Mac OS X is important. But the Apple developer tools are the key to modo's success in this area. This is particularly true of OpenGL Profiler. "OpenGL Profiler is amazing," says Craig, "There is nothing like it anywhere else." As Matt explains, "modo's Advanced OpenGL mode drives GL to the limit, and OpenGL Profiler has helped tremendously with its development. Advanced GL uses dynamically created pixel shader programs to create beautiful effects such as bump maps, specular maps, and luminosity maps-all in real time. "As you might imagine, it's a very complicated framework. When I was writing the software, OpenGL Profiler was indispensable—initially as a debugging tool and later for its profiling abilities. One feature of modo is its unlimited number of GL window configurations. Since the various GL panes can be in all sorts of different modes (Adv GL, Texture Shaded, wireframe only, Gooch shading), there is a lot of OpenGL state to track. Craig says, "OpenGL Profiler's ability to let me set breakpoints and show me what state had changed since the last break really saved tons of debugging time." "Another great OpenGL Profiler feature that I use all the time," Matt adds, "is the ability to look at various buffers. Being able to actually look at a buffer you normally can't see, like the stencil buffer, has also been remarkably useful to me, as is being able to see which textures are bound to which units and what fragment programs are active. These capabilities are all of tremendous use to me." Unexpected BenefitsCraig is responsible for OpenGL development at Luxology. Interestingly, this means that Apple's OpenGL Profiler has helped to increase modo's performance on Windows, as well. Craig expresses it this way: "GL is GL on any platform, and the Apple tools have let me increase modo's performance across the board. In general, a speedup in one area of GL on the Mac results in the same sort of speedup on the PC." Xcode and Shark Drive Performance OptimizationOpenGL and OpenGL Profiler are one aspect of what makes modo a smooth, fluid, user-centric application. But to achieve the high level of performance that modo has across the whole application, Apple's other powerhouse profiling tools are required. For example, according to Craig, "Shark is a performance mainstay." In fact, he says that he has Shark running all the time. Shark, Apple's performance-optimization tool that integrates with Xcode, is crucial to improving the application's performance. "I cannot say enough about Shark," says Craig. He explains, "One thing that really makes Shark a joy to use is how easy and unobtrusive it is. It is because of this that I use it almost daily. The ability to be doing something in modo, notice something that seems too slow, and be able to attach to modo and get a profile-all without ever quitting the initial modo run-is what I love most. This just-in-time profiling without having to instrument, restart, or do anything other than hit a keyboard combination makes it my favorite tool and makes modo as fast as it is." Apple Technologies and Developer Tools Provide the PowerLuxology has leveraged the power of Core Foundation, Quartz, and OpenGL to produce a best-in-class 3D application. Apple developer tools, including Xcode, OpenGL Profiler, and Shark, provide the means for Luxology to deliver a top-performing application that's at the leading edge of the Mac platform, giving its users exactly what they want. For more information about Luxology and their products including modo, see the Luxology website. |
|